change table struct
This commit is contained in:
@@ -191,7 +191,7 @@ class FormController extends Controller
|
|||||||
public function update($id)
|
public function update($id)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$input = request()->only('name', 'name_ru', 'name_est', 'description', 'slug');
|
$input = request()->only('name', 'name_ru', 'name_est', 'description', 'description_ru', 'description_est', 'slug');
|
||||||
$form_data = [
|
$form_data = [
|
||||||
'form' => request()->input('form'),
|
'form' => request()->input('form'),
|
||||||
'emailConfig' => request()->input('email_config'),
|
'emailConfig' => request()->input('email_config'),
|
||||||
@@ -214,6 +214,8 @@ class FormController extends Controller
|
|||||||
$form->name_est = $input['name_est'];
|
$form->name_est = $input['name_est'];
|
||||||
$form->slug = $input['slug'];
|
$form->slug = $input['slug'];
|
||||||
$form->description = $input['description'];
|
$form->description = $input['description'];
|
||||||
|
$form->description_ru = $input['description_ru'];
|
||||||
|
$form->description_est = $input['description_est'];
|
||||||
$form->schema = $input['schema'];
|
$form->schema = $input['schema'];
|
||||||
$form->is_template = $is_template;
|
$form->is_template = $is_template;
|
||||||
$form->mailchimp_details = request()->input('mailchimp_details');
|
$form->mailchimp_details = request()->input('mailchimp_details');
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ class HomeController extends Controller
|
|||||||
if (request()->ajax()) {
|
if (request()->ajax()) {
|
||||||
$user_id = request()->user()->id;
|
$user_id = request()->user()->id;
|
||||||
|
|
||||||
$forms = Form::select('name', 'description', 'id', 'slug', 'is_global_template')
|
$forms = Form::select('name', 'name_est', 'name_ru', 'description', 'description_ru', 'description_est', 'id', 'slug', 'is_global_template')
|
||||||
->where(function ($query) use ($user_id) {
|
->where(function ($query) use ($user_id) {
|
||||||
$query->where('is_template', 1)
|
$query->where('is_template', 1)
|
||||||
->where('created_by', $user_id)
|
->where('created_by', $user_id)
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ return new class extends Migration
|
|||||||
Schema::table('forms', function (Blueprint $table) {
|
Schema::table('forms', function (Blueprint $table) {
|
||||||
$table->string('name_ru')->after('name')->nullable();
|
$table->string('name_ru')->after('name')->nullable();
|
||||||
$table->string('name_est')->after('name_ru')->nullable();
|
$table->string('name_est')->after('name_ru')->nullable();
|
||||||
|
$table->string('description_ru')->after('description')->nullable();
|
||||||
|
$table->string('description_est')->after('description_ru')->nullable();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -687,4 +687,6 @@ return [
|
|||||||
'options_ru' => 'Options in Ru',
|
'options_ru' => 'Options in Ru',
|
||||||
'form_name_est' => 'Form Name est',
|
'form_name_est' => 'Form Name est',
|
||||||
'form_name_ru' => 'Form Name ru',
|
'form_name_ru' => 'Form Name ru',
|
||||||
|
'form_description_est' => 'Form Description est',
|
||||||
|
'form_description_ru' => 'Form Description ru',
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
aria-controls="form"
|
aria-controls="form"
|
||||||
aria-selected="true"
|
aria-selected="true"
|
||||||
>
|
>
|
||||||
<i class="fas fa-align-justify"></i> {{ trans("messages.form") }}
|
<i class="fas fa-align-justify"></i>
|
||||||
|
{{ trans("messages.form") }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item" role="presentation" id="tour_step_4">
|
<li class="nav-item" role="presentation" id="tour_step_4">
|
||||||
@@ -39,7 +40,8 @@
|
|||||||
aria-controls="email"
|
aria-controls="email"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
>
|
>
|
||||||
<i class="fas fa-envelope"></i> {{ trans("messages.email") }}
|
<i class="fas fa-envelope"></i>
|
||||||
|
{{ trans("messages.email") }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item" role="presentation" id="tour_step_6">
|
<li class="nav-item" role="presentation" id="tour_step_6">
|
||||||
@@ -52,7 +54,8 @@
|
|||||||
aria-controls="form-settings"
|
aria-controls="form-settings"
|
||||||
aria-selected="false"
|
aria-selected="false"
|
||||||
>
|
>
|
||||||
<i class="fas fa-cogs"></i> {{ trans("messages.settings") }}
|
<i class="fas fa-cogs"></i>
|
||||||
|
{{ trans("messages.settings") }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item" role="presentation" id="tour_step_7">
|
<li class="nav-item" role="presentation" id="tour_step_7">
|
||||||
@@ -325,6 +328,8 @@ export default {
|
|||||||
this.form.name_est = this.form_parsed.name_est;
|
this.form.name_est = this.form_parsed.name_est;
|
||||||
this.form.slug = this.form_parsed.slug;
|
this.form.slug = this.form_parsed.slug;
|
||||||
this.form.description = this.form_parsed.description;
|
this.form.description = this.form_parsed.description;
|
||||||
|
this.form.description_ru = this.form_parsed.description_ru;
|
||||||
|
this.form.description_est = this.form_parsed.description_est;
|
||||||
this.form.is_template = this.form_parsed.is_template;
|
this.form.is_template = this.form_parsed.is_template;
|
||||||
this.disabled_save_temp_btn = JSON.parse(this.saveTemplate);
|
this.disabled_save_temp_btn = JSON.parse(this.saveTemplate);
|
||||||
if (this.form_parsed.schema === null) {
|
if (this.form_parsed.schema === null) {
|
||||||
@@ -336,11 +341,15 @@ export default {
|
|||||||
this.selected_elements = this.form_parsed.schema.form;
|
this.selected_elements = this.form_parsed.schema.form;
|
||||||
this.emailConfig = this.form_parsed.schema.emailConfig;
|
this.emailConfig = this.form_parsed.schema.emailConfig;
|
||||||
this.settings = this.form_parsed.schema.settings;
|
this.settings = this.form_parsed.schema.settings;
|
||||||
this.additionalData = _.isNull(this.form_parsed.schema.additional_js_css)
|
this.additionalData = _.isNull(
|
||||||
|
this.form_parsed.schema.additional_js_css
|
||||||
|
)
|
||||||
? { js: "", css: "" }
|
? { js: "", css: "" }
|
||||||
: this.form_parsed.schema.additional_js_css;
|
: this.form_parsed.schema.additional_js_css;
|
||||||
|
|
||||||
this.mailchimp_details = _.isNull(this.form_parsed.mailchimp_details)
|
this.mailchimp_details = _.isNull(
|
||||||
|
this.form_parsed.mailchimp_details
|
||||||
|
)
|
||||||
? this.getData("mailchimp")
|
? this.getData("mailchimp")
|
||||||
: this.form_parsed.mailchimp_details;
|
: this.form_parsed.mailchimp_details;
|
||||||
|
|
||||||
@@ -382,16 +391,28 @@ export default {
|
|||||||
submitHandler: function (form, e) {
|
submitHandler: function (form, e) {
|
||||||
var field_names = [];
|
var field_names = [];
|
||||||
if (self.selected_elements.length > 0) {
|
if (self.selected_elements.length > 0) {
|
||||||
for (let index = 0; index < self.selected_elements.length; index++) {
|
for (
|
||||||
self.selected_elements[index].extras.showConfigurator = false;
|
let index = 0;
|
||||||
|
index < self.selected_elements.length;
|
||||||
|
index++
|
||||||
|
) {
|
||||||
|
self.selected_elements[
|
||||||
|
index
|
||||||
|
].extras.showConfigurator = false;
|
||||||
if (_.isEmpty(self.selected_elements[index].name)) {
|
if (_.isEmpty(self.selected_elements[index].name)) {
|
||||||
toastr.error(
|
toastr.error(
|
||||||
self.trans("messages.field_dont_have_name_property", {
|
self.trans(
|
||||||
input: self.selected_elements[index].label,
|
"messages.field_dont_have_name_property",
|
||||||
})
|
{
|
||||||
|
input: self.selected_elements[index]
|
||||||
|
.label,
|
||||||
|
}
|
||||||
|
)
|
||||||
);
|
);
|
||||||
return false;
|
return false;
|
||||||
} else if (/\s/.test(self.selected_elements[index].name)) {
|
} else if (
|
||||||
|
/\s/.test(self.selected_elements[index].name)
|
||||||
|
) {
|
||||||
toastr.error(
|
toastr.error(
|
||||||
self.trans("messages.field_contain_space", {
|
self.trans("messages.field_contain_space", {
|
||||||
input: self.selected_elements[index].label,
|
input: self.selected_elements[index].label,
|
||||||
@@ -399,19 +420,31 @@ export default {
|
|||||||
);
|
);
|
||||||
return false;
|
return false;
|
||||||
} else if (
|
} else if (
|
||||||
_.includes(field_names, self.selected_elements[index].name)
|
_.includes(
|
||||||
|
field_names,
|
||||||
|
self.selected_elements[index].name
|
||||||
|
)
|
||||||
) {
|
) {
|
||||||
toastr.error(
|
toastr.error(
|
||||||
self.trans("messages.field_contain_duplicate_field_name", {
|
self.trans(
|
||||||
input: self.selected_elements[index].label,
|
"messages.field_contain_duplicate_field_name",
|
||||||
})
|
{
|
||||||
|
input: self.selected_elements[index]
|
||||||
|
.label,
|
||||||
|
}
|
||||||
|
)
|
||||||
);
|
);
|
||||||
field_names = [];
|
field_names = [];
|
||||||
return false;
|
return false;
|
||||||
} else if (
|
} else if (
|
||||||
!_.includes(field_names, self.selected_elements[index].name)
|
!_.includes(
|
||||||
|
field_names,
|
||||||
|
self.selected_elements[index].name
|
||||||
|
)
|
||||||
) {
|
) {
|
||||||
field_names.push(self.selected_elements[index].name);
|
field_names.push(
|
||||||
|
self.selected_elements[index].name
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -421,6 +454,8 @@ export default {
|
|||||||
"name_ru",
|
"name_ru",
|
||||||
"name_est",
|
"name_est",
|
||||||
"description",
|
"description",
|
||||||
|
"description_ru",
|
||||||
|
"description_est",
|
||||||
"slug",
|
"slug",
|
||||||
]);
|
]);
|
||||||
console.log(data);
|
console.log(data);
|
||||||
@@ -450,10 +485,9 @@ export default {
|
|||||||
|
|
||||||
if ($("form#create_form").valid()) {
|
if ($("form#create_form").valid()) {
|
||||||
//disable both btn and start ladda
|
//disable both btn and start ladda
|
||||||
$("button.ladda-form-save-btn, button.ladda-template-save-btn").attr(
|
$(
|
||||||
"disabled",
|
"button.ladda-form-save-btn, button.ladda-template-save-btn"
|
||||||
"disabled"
|
).attr("disabled", "disabled");
|
||||||
);
|
|
||||||
ladda.start();
|
ladda.start();
|
||||||
|
|
||||||
axios
|
axios
|
||||||
@@ -628,7 +662,9 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (_.isUndefined(element.popover_help_text)) {
|
if (_.isUndefined(element.popover_help_text)) {
|
||||||
element["popover_help_text"] = _.clone(self.popover_help_text);
|
element["popover_help_text"] = _.clone(
|
||||||
|
self.popover_help_text
|
||||||
|
);
|
||||||
}
|
}
|
||||||
//if spread to col option is undefined for element set to default
|
//if spread to col option is undefined for element set to default
|
||||||
if (
|
if (
|
||||||
@@ -679,7 +715,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (_.isUndefined(self.settings.is_enabled_draft_submit)) {
|
if (_.isUndefined(self.settings.is_enabled_draft_submit)) {
|
||||||
self.settings.is_enabled_draft_submit = self.is_enabled_draft_submit;
|
self.settings.is_enabled_draft_submit =
|
||||||
|
self.is_enabled_draft_submit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_.isUndefined(self.settings.notification.position)) {
|
if (_.isUndefined(self.settings.notification.position)) {
|
||||||
@@ -714,7 +751,10 @@ export default {
|
|||||||
if (choice == "home") {
|
if (choice == "home") {
|
||||||
window.location = this.responseData.redirect;
|
window.location = this.responseData.redirect;
|
||||||
} else if (choice == "preview") {
|
} else if (choice == "preview") {
|
||||||
window.open(this.responseData.preview, this.responseData.form_name);
|
window.open(
|
||||||
|
this.responseData.preview,
|
||||||
|
this.responseData.form_name
|
||||||
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getAppTour() {
|
getAppTour() {
|
||||||
|
|||||||
@@ -4,15 +4,23 @@
|
|||||||
<div class="element-sidebar">
|
<div class="element-sidebar">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<p class="card-title">{{ trans("messages.elements") }}</p>
|
<p class="card-title">
|
||||||
|
{{ trans("messages.elements") }}
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="collapse show" id="basicElements">
|
<div class="collapse show" id="basicElements">
|
||||||
<div class="card-body pr-1 pl-1 elements_sidebar_height">
|
<div
|
||||||
|
class="card-body pr-1 pl-1 elements_sidebar_height"
|
||||||
|
>
|
||||||
<draggable
|
<draggable
|
||||||
class="dragArea list-group"
|
class="dragArea list-group"
|
||||||
:list="basic_elements"
|
:list="basic_elements"
|
||||||
:group="{ name: 'element', pull: 'clone', put: false }"
|
:group="{
|
||||||
|
name: 'element',
|
||||||
|
pull: 'clone',
|
||||||
|
put: false,
|
||||||
|
}"
|
||||||
:clone="cloneElement"
|
:clone="cloneElement"
|
||||||
:sort="false"
|
:sort="false"
|
||||||
@change="change"
|
@change="change"
|
||||||
@@ -26,30 +34,55 @@
|
|||||||
type="button"
|
type="button"
|
||||||
class="btn btn-primary btn-block"
|
class="btn btn-primary btn-block"
|
||||||
:class="[
|
:class="[
|
||||||
_.includes(['card_form'], settings.layout) &&
|
_.includes(
|
||||||
_.includes(['page_break'], element.type)
|
['card_form'],
|
||||||
|
settings.layout
|
||||||
|
) &&
|
||||||
|
_.includes(
|
||||||
|
['page_break'],
|
||||||
|
element.type
|
||||||
|
)
|
||||||
? ''
|
? ''
|
||||||
: 'hvr-grow',
|
: 'hvr-grow',
|
||||||
]"
|
]"
|
||||||
:title="element.tooltip"
|
:title="element.tooltip"
|
||||||
:disabled="
|
:disabled="
|
||||||
_.includes(['card_form'], settings.layout) &&
|
_.includes(
|
||||||
_.includes(['page_break'], element.type)
|
['card_form'],
|
||||||
|
settings.layout
|
||||||
|
) &&
|
||||||
|
_.includes(
|
||||||
|
['page_break'],
|
||||||
|
element.type
|
||||||
|
)
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="mt-1 mb-1"
|
class="mt-1 mb-1"
|
||||||
:class="'float-left fas fa-' + element.display_icon"
|
:class="
|
||||||
|
'float-left fas fa-' +
|
||||||
|
element.display_icon
|
||||||
|
"
|
||||||
></i>
|
></i>
|
||||||
{{ element.label }}
|
{{ element.label }}
|
||||||
<i
|
<i
|
||||||
v-if="
|
v-if="
|
||||||
_.includes(['card_form'], settings.layout) &&
|
_.includes(
|
||||||
_.includes(['page_break'], element.type)
|
['card_form'],
|
||||||
|
settings.layout
|
||||||
|
) &&
|
||||||
|
_.includes(
|
||||||
|
['page_break'],
|
||||||
|
element.type
|
||||||
|
)
|
||||||
"
|
"
|
||||||
class="fas fa-info-circle float-right mt-1 mb-1"
|
class="fas fa-info-circle float-right mt-1 mb-1"
|
||||||
data-toggle="tooltip"
|
data-toggle="tooltip"
|
||||||
:title="trans('messages.page_break_disabled')"
|
:title="
|
||||||
|
trans(
|
||||||
|
'messages.page_break_disabled'
|
||||||
|
)
|
||||||
|
"
|
||||||
></i>
|
></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -76,7 +109,10 @@
|
|||||||
style="height: 100%"
|
style="height: 100%"
|
||||||
id="tour_step_2"
|
id="tour_step_2"
|
||||||
>
|
>
|
||||||
<div class="text-center mt-2" v-if="selected_elements.length == 0">
|
<div
|
||||||
|
class="text-center mt-2"
|
||||||
|
v-if="selected_elements.length == 0"
|
||||||
|
>
|
||||||
<h5>{{ trans("messages.pls_add_element") }}</h5>
|
<h5>{{ trans("messages.pls_add_element") }}</h5>
|
||||||
</div>
|
</div>
|
||||||
<draggable
|
<draggable
|
||||||
@@ -94,7 +130,9 @@
|
|||||||
tag="div"
|
tag="div"
|
||||||
class="row"
|
class="row"
|
||||||
:class="[
|
:class="[
|
||||||
selected_elements.length < 3 ? 'transition-card-body' : '',
|
selected_elements.length < 3
|
||||||
|
? 'transition-card-body'
|
||||||
|
: '',
|
||||||
]"
|
]"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
@@ -116,7 +154,12 @@
|
|||||||
<p>
|
<p>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
v-if="!_.includes(['page_break'], element.type)"
|
v-if="
|
||||||
|
!_.includes(
|
||||||
|
['page_break'],
|
||||||
|
element.type
|
||||||
|
)
|
||||||
|
"
|
||||||
class="btn btn-xs btn-secondary"
|
class="btn btn-xs btn-secondary"
|
||||||
:title="trans('messages.properties')"
|
:title="trans('messages.properties')"
|
||||||
@click="openElementConfigurator()"
|
@click="openElementConfigurator()"
|
||||||
@@ -194,7 +237,9 @@
|
|||||||
class="form-control"
|
class="form-control"
|
||||||
v-model="form.name"
|
v-model="form.name"
|
||||||
required
|
required
|
||||||
@change="generateFormSlug(form.name)"
|
@change="
|
||||||
|
generateFormSlug(form.name)
|
||||||
|
"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -215,7 +260,9 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 mb-2">
|
<div class="col-md-12 mb-2">
|
||||||
<label>
|
<label>
|
||||||
{{ trans("messages.form_name_est") }}
|
{{
|
||||||
|
trans("messages.form_name_est")
|
||||||
|
}}
|
||||||
<span class="error">*</span>
|
<span class="error">*</span>
|
||||||
</label>
|
</label>
|
||||||
<input
|
<input
|
||||||
@@ -244,7 +291,11 @@
|
|||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<label>
|
<label>
|
||||||
{{ trans("messages.form_description") }}
|
{{
|
||||||
|
trans(
|
||||||
|
"messages.form_description"
|
||||||
|
)
|
||||||
|
}}
|
||||||
</label>
|
</label>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
@@ -253,6 +304,38 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<label>
|
||||||
|
{{
|
||||||
|
trans(
|
||||||
|
"messages.form_description_ru"
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
v-model="form.description_ru"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<label>
|
||||||
|
{{
|
||||||
|
trans(
|
||||||
|
"messages.form_description_est"
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
v-model="form.description_est"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<form-layout
|
<form-layout
|
||||||
:selected_elements="selected_elements"
|
:selected_elements="selected_elements"
|
||||||
:settings="settings"
|
:settings="settings"
|
||||||
@@ -260,9 +343,14 @@
|
|||||||
</form-layout>
|
</form-layout>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- form custom attribute -->
|
<!-- form custom attribute -->
|
||||||
<div class="col-md-12" v-if="form_custom_attributes.length">
|
<div
|
||||||
|
class="col-md-12"
|
||||||
|
v-if="form_custom_attributes.length"
|
||||||
|
>
|
||||||
<hr />
|
<hr />
|
||||||
<label>{{ trans("messages.custom_attributes") }}</label>
|
<label>{{
|
||||||
|
trans("messages.custom_attributes")
|
||||||
|
}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="row form_custom_attr_field"
|
class="row form_custom_attr_field"
|
||||||
@@ -275,14 +363,22 @@
|
|||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
v-model="form_custom_attribute.key"
|
v-model="
|
||||||
:placeholder="trans('messages.key')"
|
form_custom_attribute.key
|
||||||
|
"
|
||||||
|
:placeholder="
|
||||||
|
trans('messages.key')
|
||||||
|
"
|
||||||
/>
|
/>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
v-model="form_custom_attribute.value"
|
v-model="
|
||||||
:placeholder="trans('messages.value')"
|
form_custom_attribute.value
|
||||||
|
"
|
||||||
|
:placeholder="
|
||||||
|
trans('messages.value')
|
||||||
|
"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -303,7 +399,11 @@
|
|||||||
style="margin: 28px"
|
style="margin: 28px"
|
||||||
>
|
>
|
||||||
<i class="fas fa-plus-circle"></i>
|
<i class="fas fa-plus-circle"></i>
|
||||||
{{ trans("messages.add_form_custom_attribute") }}
|
{{
|
||||||
|
trans(
|
||||||
|
"messages.add_form_custom_attribute"
|
||||||
|
)
|
||||||
|
}}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -318,7 +418,10 @@
|
|||||||
>
|
>
|
||||||
<template
|
<template
|
||||||
v-for="(element, index) in selected_elements"
|
v-for="(element, index) in selected_elements"
|
||||||
v-if="element.extras.showConfigurator && isConfiguratorOpen"
|
v-if="
|
||||||
|
element.extras.showConfigurator &&
|
||||||
|
isConfiguratorOpen
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<fieldConfigurator
|
<fieldConfigurator
|
||||||
v-if="!_.includes(['page_break'], element.type)"
|
v-if="!_.includes(['page_break'], element.type)"
|
||||||
@@ -326,7 +429,9 @@
|
|||||||
:element="element"
|
:element="element"
|
||||||
:index="index"
|
:index="index"
|
||||||
:selected_elements="selected_elements"
|
:selected_elements="selected_elements"
|
||||||
v-on:toggleConfigurator="toggleConfiguratorEvent"
|
v-on:toggleConfigurator="
|
||||||
|
toggleConfiguratorEvent
|
||||||
|
"
|
||||||
v-on:deleteElement="deleteElement"
|
v-on:deleteElement="deleteElement"
|
||||||
></fieldConfigurator>
|
></fieldConfigurator>
|
||||||
<div
|
<div
|
||||||
@@ -338,7 +443,11 @@
|
|||||||
</template>
|
</template>
|
||||||
<div v-if="!isConfiguratorOpen">
|
<div v-if="!isConfiguratorOpen">
|
||||||
<div class="mt-1 ml-3">
|
<div class="mt-1 ml-3">
|
||||||
{{ trans("messages.pls_add_element_to_configure") }}
|
{{
|
||||||
|
trans(
|
||||||
|
"messages.pls_add_element_to_configure"
|
||||||
|
)
|
||||||
|
}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -861,7 +970,9 @@ export default {
|
|||||||
evt.added.element.type
|
evt.added.element.type
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
this.settings.form_data.col_visible.push(evt.added.element.name);
|
this.settings.form_data.col_visible.push(
|
||||||
|
evt.added.element.name
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -916,7 +1027,8 @@ export default {
|
|||||||
}).then((result) => {
|
}).then((result) => {
|
||||||
if (result.isConfirmed) {
|
if (result.isConfirmed) {
|
||||||
let element = self.selected_elements[index];
|
let element = self.selected_elements[index];
|
||||||
let deletedElementIndex = self.settings.form_data.col_visible.indexOf(
|
let deletedElementIndex =
|
||||||
|
self.settings.form_data.col_visible.indexOf(
|
||||||
element.name
|
element.name
|
||||||
);
|
);
|
||||||
self.selected_elements.splice(index, 1);
|
self.selected_elements.splice(index, 1);
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
@include('layouts/partials/status')
|
@include('layouts/partials/status')
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@if(auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) || auth()->user()->can_create_form)
|
@if (auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) || auth()->user()->can_create_form)
|
||||||
<div class="row mb-5">
|
<div class="row mb-5">
|
||||||
<div class="col-12 col-sm-6 col-md-3">
|
<div class="col-12 col-sm-6 col-md-3">
|
||||||
<div class="info-box">
|
<div class="info-box">
|
||||||
@@ -16,20 +16,19 @@
|
|||||||
|
|
||||||
<div class="info-box-content">
|
<div class="info-box-content">
|
||||||
<span class="info-box-text">@lang('messages.forms')</span>
|
<span class="info-box-text">@lang('messages.forms')</span>
|
||||||
<span class="info-box-number">{{$form_count}}</span>
|
<span class="info-box-number">{{ $form_count }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if(!auth()->user()->hasRole(\App\Enums\User\RoleEnum::ADMIN->value))
|
@if (!auth()->user()->hasRole(\App\Enums\User\RoleEnum::ADMIN->value))
|
||||||
<div class="col-12 col-sm-6 col-md-3">
|
<div class="col-12 col-sm-6 col-md-3">
|
||||||
<div class="info-box">
|
<div class="info-box">
|
||||||
<span class="info-box-icon bg-danger elevation-1"><i
|
<span class="info-box-icon bg-danger elevation-1"><i class="fas fa-align-justify"></i></span>
|
||||||
class="fas fa-align-justify"></i></span>
|
|
||||||
|
|
||||||
<div class="info-box-content">
|
<div class="info-box-content">
|
||||||
<span class="info-box-text">@lang('messages.templates')</span>
|
<span class="info-box-text">@lang('messages.templates')</span>
|
||||||
<span class="info-box-number">{{$template_count}}</span>
|
<span class="info-box-number">{{ $template_count }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -41,14 +40,13 @@
|
|||||||
|
|
||||||
<div class="info-box-content">
|
<div class="info-box-content">
|
||||||
<span class="info-box-text">@lang('messages.submissions')</span>
|
<span class="info-box-text">@lang('messages.submissions')</span>
|
||||||
<span class="info-box-number">{{$submission_count}}</span>
|
<span class="info-box-number">{{ $submission_count }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12 col-sm-6 col-md-3">
|
<div class="col-12 col-sm-6 col-md-3">
|
||||||
<button type="button"
|
<button type="button" data-href="{{ action([\App\Http\Controllers\FormController::class, 'create']) }}"
|
||||||
data-href="{{action([\App\Http\Controllers\FormController::class, 'create'])}}"
|
|
||||||
class="btn btn-primary float-right col-md-9 createForm mt-3">
|
class="btn btn-primary float-right col-md-9 createForm mt-3">
|
||||||
<i class="fas fa-plus" aria-hidden="true"></i> @lang('messages.new_form')</button>
|
<i class="fas fa-plus" aria-hidden="true"></i> @lang('messages.new_form')</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -59,11 +57,9 @@
|
|||||||
<div class="card card-primary card-outline card-outline-tabs">
|
<div class="card card-primary card-outline card-outline-tabs">
|
||||||
<div class="card-header p-0 border-bottom-0">
|
<div class="card-header p-0 border-bottom-0">
|
||||||
<ul class="nav nav-tabs
|
<ul class="nav nav-tabs
|
||||||
@if(auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) || auth()->user()->can_create_form)
|
@if (auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) || auth()->user()->can_create_form) nav-justified @endif"
|
||||||
nav-justified
|
|
||||||
@endif"
|
|
||||||
id="custom-tabs-four-tab" role="tablist">
|
id="custom-tabs-four-tab" role="tablist">
|
||||||
@if(auth()->user()->hasRole([\App\Enums\User\RoleEnum::SUPERVISOR->value]) || auth()->user()->can_create_form)
|
@if (auth()->user()->hasRole([\App\Enums\User\RoleEnum::SUPERVISOR->value]) || auth()->user()->can_create_form)
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link active" id="custome-tabs-all-forms" data-toggle="pill"
|
<a class="nav-link active" id="custome-tabs-all-forms" data-toggle="pill"
|
||||||
href="#custome-tabs-forms" role="tab" aria-controls="custome-tabs-forms"
|
href="#custome-tabs-forms" role="tab" aria-controls="custome-tabs-forms"
|
||||||
@@ -71,45 +67,40 @@
|
|||||||
<i class="fas fa-file-alt" aria-hidden="true"></i> @lang('messages.all_forms')
|
<i class="fas fa-file-alt" aria-hidden="true"></i> @lang('messages.all_forms')
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@if(!auth()->user()->hasRole(\App\Enums\User\RoleEnum::ADMIN->value))
|
@if (!auth()->user()->hasRole(\App\Enums\User\RoleEnum::ADMIN->value))
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" id="custome-tabs-all-templates" data-toggle="pill"
|
<a class="nav-link" id="custome-tabs-all-templates" data-toggle="pill"
|
||||||
href="#custome-tabs-templates" role="tab"
|
href="#custome-tabs-templates" role="tab"
|
||||||
aria-controls="custome-tabs-templates">
|
aria-controls="custome-tabs-templates">
|
||||||
<i class="fas fa-align-justify"
|
<i class="fas fa-align-justify" aria-hidden="true"></i> @lang('messages.all_templates')
|
||||||
aria-hidden="true"></i> @lang('messages.all_templates')
|
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@endif
|
@endif
|
||||||
@endif
|
@endif
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link
|
<a class="nav-link
|
||||||
@if(!auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) && !auth()->user()->can_create_form)
|
@if (!auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) && !auth()->user()->can_create_form) active @endif
|
||||||
active
|
"
|
||||||
@endif
|
id="custome-tabs-shared-forms" data-toggle="pill"
|
||||||
" id="custome-tabs-shared-forms" data-toggle="pill"
|
|
||||||
href="#custome-tabs-shared-forms-assigned" role="tab"
|
href="#custome-tabs-shared-forms-assigned" role="tab"
|
||||||
aria-controls="custome-tabs-shared-forms-assigned"
|
aria-controls="custome-tabs-shared-forms-assigned"
|
||||||
@if(!auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) && !auth()->user()->can_create_form)
|
@if (!auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) && !auth()->user()->can_create_form) aria-selected="true" @endif>
|
||||||
aria-selected="true"
|
<i class="fas fa-file-alt" aria-hidden="true"></i> @lang('messages.assigned_forms')
|
||||||
@endif>
|
|
||||||
<i class="fas fa-file-alt"
|
|
||||||
aria-hidden="true"></i> @lang('messages.assigned_forms')
|
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="tab-content" id="custom-tabs-four-tabContent">
|
<div class="tab-content" id="custom-tabs-four-tabContent">
|
||||||
@if(auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) || auth()->user()->can_create_form)
|
@if (auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) || auth()->user()->can_create_form)
|
||||||
<div class="tab-pane fade active show" id="custome-tabs-forms" role="tabpanel"
|
<div class="tab-pane fade active show" id="custome-tabs-forms" role="tabpanel"
|
||||||
aria-labelledby="custome-tabs-all-forms">
|
aria-labelledby="custome-tabs-all-forms">
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table class="table" id="form_table" style="width: 100%;">
|
<table class="table" id="form_table" style="width: 100%;">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>@lang('messages.name')</th>
|
|
||||||
<th>@lang('messages.description')</th>
|
<th>@lang('messages.description')</th>
|
||||||
|
<th>@lang('messages.name')</th>
|
||||||
<th>@lang('messages.created_at')</th>
|
<th>@lang('messages.created_at')</th>
|
||||||
<th>@lang('messages.submissions')</th>
|
<th>@lang('messages.submissions')</th>
|
||||||
<th>@lang('messages.action')</th>
|
<th>@lang('messages.action')</th>
|
||||||
@@ -125,13 +116,12 @@
|
|||||||
<table class="table" id="template_table" style="width: 100%;">
|
<table class="table" id="template_table" style="width: 100%;">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>@lang('messages.name')</th>
|
|
||||||
<th>@lang('messages.description')</th>
|
<th>@lang('messages.description')</th>
|
||||||
@if(auth()->user()->can('superadmin'))
|
<th>@lang('messages.name')</th>
|
||||||
|
@if (auth()->user()->can('superadmin'))
|
||||||
<th>
|
<th>
|
||||||
@lang('messages.is_global_template')
|
@lang('messages.is_global_template')
|
||||||
<i class="fas fa-info-circle"
|
<i class="fas fa-info-circle" data-toggle="tooltip"
|
||||||
data-toggle="tooltip"
|
|
||||||
title="@lang('messages.is_global_template_tooltip')"></i>
|
title="@lang('messages.is_global_template_tooltip')"></i>
|
||||||
</th>
|
</th>
|
||||||
@endif
|
@endif
|
||||||
@@ -144,10 +134,9 @@
|
|||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
<div class="tab-pane fade
|
<div class="tab-pane fade
|
||||||
@if(!auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) || !auth()->user()->can_create_form)
|
@if (!auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) || !auth()->user()->can_create_form) active show @endif
|
||||||
active show
|
"
|
||||||
@endif
|
id="custome-tabs-shared-forms-assigned" role="tabpanel"
|
||||||
" id="custome-tabs-shared-forms-assigned" role="tabpanel"
|
|
||||||
aria-labelledby="custome-tabs-shared-forms">
|
aria-labelledby="custome-tabs-shared-forms">
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table class="table" id="assigned_form_table" style="width: 100%;">
|
<table class="table" id="assigned_form_table" style="width: 100%;">
|
||||||
@@ -177,17 +166,22 @@
|
|||||||
|
|
||||||
@section('footer')
|
@section('footer')
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function () {
|
$(document).ready(function() {
|
||||||
var lang = `{{session()->get('locale')}}`
|
var lang = `{{ session()->get('locale') }}`
|
||||||
var titleColName = 'name';
|
var titleColName = 'name';
|
||||||
console.log(lang);
|
|
||||||
|
|
||||||
if (lang === 'est') {
|
if (lang === 'est') {
|
||||||
titleColName = 'name_est'
|
titleColName = 'name_est'
|
||||||
} else if (lang === 'ru') {
|
} else if (lang === 'ru') {
|
||||||
titleColName = 'name_ru'
|
titleColName = 'name_ru'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var descColName = 'description';
|
||||||
|
if (lang === 'est') {
|
||||||
|
descColName = 'description_est'
|
||||||
|
} else if (lang === 'ru') {
|
||||||
|
descColName = 'description_ru'
|
||||||
|
}
|
||||||
|
|
||||||
// form dataTable
|
// form dataTable
|
||||||
var form_table = $('#form_table').DataTable({
|
var form_table = $('#form_table').DataTable({
|
||||||
processing: true,
|
processing: true,
|
||||||
@@ -196,28 +190,62 @@
|
|||||||
buttons: [],
|
buttons: [],
|
||||||
dom: 'lfrtip',
|
dom: 'lfrtip',
|
||||||
fixedHeader: false,
|
fixedHeader: false,
|
||||||
aaSorting: [[2, 'desc']],
|
aaSorting: [
|
||||||
"columnDefs": [
|
[1, 'desc']
|
||||||
{"width": "22%", "targets": 0},
|
|
||||||
{"width": "40%", "targets": 1},
|
|
||||||
{"width": "15%", "targets": 2},
|
|
||||||
{"width": "3%", "targets": 3},
|
|
||||||
{"width": "20%", "targets": 4}
|
|
||||||
],
|
],
|
||||||
columns: [
|
"columnDefs": [{
|
||||||
|
"width": "22%",
|
||||||
|
"targets": 0
|
||||||
|
},
|
||||||
{
|
{
|
||||||
data: titleColName,
|
"width": "40%",
|
||||||
name: titleColName,
|
"targets": 1
|
||||||
createdCell: function (td, cellData, rowData, row, col) {
|
},
|
||||||
|
{
|
||||||
|
"width": "15%",
|
||||||
|
"targets": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": "3%",
|
||||||
|
"targets": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": "20%",
|
||||||
|
"targets": 4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
columns: [{
|
||||||
|
data: descColName,
|
||||||
|
name: descColName,
|
||||||
|
createdCell: function(td, cellData, rowData, row, col) {
|
||||||
if (td.innerHTML.length === 0) {
|
if (td.innerHTML.length === 0) {
|
||||||
td.innerHTML = rowData.name
|
td.innerHTML = rowData.name
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{data: 'description', name: 'description'},
|
{
|
||||||
{data: 'created_at', name: 'created_at'},
|
data: titleColName,
|
||||||
{data: 'data_count', name: 'data_count', searchable: false},
|
name: titleColName,
|
||||||
{data: 'action', name: 'action', sortable: false}
|
createdCell: function(td, cellData, rowData, row, col) {
|
||||||
|
if (td.innerHTML.length === 0) {
|
||||||
|
td.innerHTML = rowData.name
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
data: 'created_at',
|
||||||
|
name: 'created_at'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
data: 'data_count',
|
||||||
|
name: 'data_count',
|
||||||
|
searchable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
data: 'action',
|
||||||
|
name: 'action',
|
||||||
|
sortable: false
|
||||||
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -229,22 +257,41 @@
|
|||||||
buttons: [],
|
buttons: [],
|
||||||
dom: 'lfrtip',
|
dom: 'lfrtip',
|
||||||
fixedHeader: false,
|
fixedHeader: false,
|
||||||
columns: [
|
columns: [{
|
||||||
{data: 'name', name: 'name'},
|
data: descColName,
|
||||||
{data: 'description', name: 'description'},
|
name: descColName,
|
||||||
@if(auth()->user()->can('superadmin'))
|
createdCell: function(td, cellData, rowData, row, col) {
|
||||||
{
|
if (td.innerHTML.length === 0) {
|
||||||
data: 'is_global_template', name: 'is_global_template', sortable: false, searchable: false
|
td.innerHTML = rowData.name
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
@endif
|
|
||||||
{
|
{
|
||||||
data: 'action', name: 'action', sortable: false
|
data: titleColName,
|
||||||
|
name: titleColName,
|
||||||
|
createdCell: function(td, cellData, rowData, row, col) {
|
||||||
|
if (td.innerHTML.length === 0) {
|
||||||
|
td.innerHTML = rowData.name
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
@if (auth()->user()->can('superadmin'))
|
||||||
|
{
|
||||||
|
data: 'is_global_template',
|
||||||
|
name: 'is_global_template',
|
||||||
|
sortable: false,
|
||||||
|
searchable: false
|
||||||
|
},
|
||||||
|
@endif {
|
||||||
|
data: 'action',
|
||||||
|
name: 'action',
|
||||||
|
sortable: false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
//delete form
|
//delete form
|
||||||
$(document).on('click', '.delete_form', function () {
|
$(document).on('click', '.delete_form', function() {
|
||||||
var url = $(this).data("href");
|
var url = $(this).data("href");
|
||||||
var result = confirm('Are You Sure?');
|
var result = confirm('Are You Sure?');
|
||||||
if (result == true) {
|
if (result == true) {
|
||||||
@@ -252,7 +299,7 @@
|
|||||||
method: "DELETE",
|
method: "DELETE",
|
||||||
url: url,
|
url: url,
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function (result) {
|
success: function(result) {
|
||||||
if (result.success == true) {
|
if (result.success == true) {
|
||||||
toastr.success(result.msg);
|
toastr.success(result.msg);
|
||||||
form_table.ajax.reload();
|
form_table.ajax.reload();
|
||||||
@@ -265,7 +312,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
//delete template
|
//delete template
|
||||||
$(document).on('click', '.delete_template', function () {
|
$(document).on('click', '.delete_template', function() {
|
||||||
var url = $(this).data("href");
|
var url = $(this).data("href");
|
||||||
var result = confirm('Are You Sure?');
|
var result = confirm('Are You Sure?');
|
||||||
if (result == true) {
|
if (result == true) {
|
||||||
@@ -273,7 +320,7 @@
|
|||||||
method: "DELETE",
|
method: "DELETE",
|
||||||
url: url,
|
url: url,
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function (result) {
|
success: function(result) {
|
||||||
if (result.success == true) {
|
if (result.success == true) {
|
||||||
toastr.success(result.msg);
|
toastr.success(result.msg);
|
||||||
template_table.ajax.reload();
|
template_table.ajax.reload();
|
||||||
@@ -286,39 +333,39 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
// create form
|
// create form
|
||||||
$(document).on('click', '.createForm', function () {
|
$(document).on('click', '.createForm', function() {
|
||||||
var url = $(this).data('href');
|
var url = $(this).data('href');
|
||||||
$.ajax({
|
$.ajax({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: url,
|
url: url,
|
||||||
dataType: "html",
|
dataType: "html",
|
||||||
success: function (response) {
|
success: function(response) {
|
||||||
$("#modal_div").html(response).modal("show");
|
$("#modal_div").html(response).modal("show");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// create widget
|
// create widget
|
||||||
$(document).on('click', '.generate_widget', function () {
|
$(document).on('click', '.generate_widget', function() {
|
||||||
var url = $(this).data('href');
|
var url = $(this).data('href');
|
||||||
$.ajax({
|
$.ajax({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: url,
|
url: url,
|
||||||
dataType: "html",
|
dataType: "html",
|
||||||
success: function (response) {
|
success: function(response) {
|
||||||
$("#modal_div").html(response).modal("show");
|
$("#modal_div").html(response).modal("show");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
//copy form
|
//copy form
|
||||||
$(document).on('click', '.copy_form', function () {
|
$(document).on('click', '.copy_form', function() {
|
||||||
var url = $(this).data('href');
|
var url = $(this).data('href');
|
||||||
$.ajax({
|
$.ajax({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: url,
|
url: url,
|
||||||
dataType: "html",
|
dataType: "html",
|
||||||
success: function (response) {
|
success: function(response) {
|
||||||
$("#modal_div").html(response).modal("show");
|
$("#modal_div").html(response).modal("show");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -332,49 +379,70 @@
|
|||||||
buttons: [],
|
buttons: [],
|
||||||
dom: 'lfrtip',
|
dom: 'lfrtip',
|
||||||
fixedHeader: false,
|
fixedHeader: false,
|
||||||
aaSorting: [[0, 'desc']],
|
aaSorting: [
|
||||||
"columnDefs": [
|
[0, 'desc']
|
||||||
{"width": "25%", "targets": 0},
|
|
||||||
{"width": "40%", "targets": 1},
|
|
||||||
@if(auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value))
|
|
||||||
{
|
|
||||||
"width": "15%", "targets": 2
|
|
||||||
},
|
|
||||||
@endif
|
|
||||||
{
|
|
||||||
"width": "20%",
|
|
||||||
"targets": @php echo auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) ? 3 : 2 @endphp }
|
|
||||||
],
|
],
|
||||||
columns: [
|
"columnDefs": [{
|
||||||
{data: 'name', name: 'forms.name'},
|
"width": "25%",
|
||||||
{data: 'description', name: 'forms.description'},
|
"targets": 0
|
||||||
@if(auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value))
|
|
||||||
{
|
|
||||||
data: 'created_by', name: 'forms.created_by'
|
|
||||||
},
|
},
|
||||||
@endif
|
|
||||||
{
|
{
|
||||||
data: 'action', name: 'action', sortable: false
|
"width": "40%",
|
||||||
|
"targets": 1
|
||||||
|
},
|
||||||
|
@if (auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value))
|
||||||
|
{
|
||||||
|
"width": "15%",
|
||||||
|
"targets": 2
|
||||||
|
},
|
||||||
|
@endif {
|
||||||
|
"width": "20%",
|
||||||
|
"targets": @php
|
||||||
|
echo auth()
|
||||||
|
->user()
|
||||||
|
->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value)
|
||||||
|
? 3
|
||||||
|
: 2;
|
||||||
|
@endphp
|
||||||
|
}
|
||||||
|
],
|
||||||
|
columns: [{
|
||||||
|
data: 'name',
|
||||||
|
name: 'forms.name'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
data: 'description',
|
||||||
|
name: 'forms.description'
|
||||||
|
},
|
||||||
|
@if (auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value))
|
||||||
|
{
|
||||||
|
data: 'created_by',
|
||||||
|
name: 'forms.created_by'
|
||||||
|
},
|
||||||
|
@endif {
|
||||||
|
data: 'action',
|
||||||
|
name: 'action',
|
||||||
|
sortable: false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
//form collaborate
|
//form collaborate
|
||||||
$(document).on('click', '.collab_btn', function () {
|
$(document).on('click', '.collab_btn', function() {
|
||||||
var url = $(this).data('href');
|
var url = $(this).data('href');
|
||||||
$.ajax({
|
$.ajax({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: url,
|
url: url,
|
||||||
dataType: "html",
|
dataType: "html",
|
||||||
success: function (response) {
|
success: function(response) {
|
||||||
$("#collab_modal").html(response).modal("show");
|
$("#collab_modal").html(response).modal("show");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#collab_modal").on('shown.bs.modal', function () {
|
$("#collab_modal").on('shown.bs.modal', function() {
|
||||||
if ($("#form_design").length) {
|
if ($("#form_design").length) {
|
||||||
$(document).on('change', '#form_design', function () {
|
$(document).on('change', '#form_design', function() {
|
||||||
if ($("#form_design").is(":checked")) {
|
if ($("#form_design").is(":checked")) {
|
||||||
$("#form_view").attr('checked', true);
|
$("#form_view").attr('checked', true);
|
||||||
} else {
|
} else {
|
||||||
@@ -384,7 +452,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on('submit', 'form#collaborate_form', function (e) {
|
$(document).on('submit', 'form#collaborate_form', function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
var data = $("form#collaborate_form").serialize();
|
var data = $("form#collaborate_form").serialize();
|
||||||
var url = $("form#collaborate_form").attr('action');
|
var url = $("form#collaborate_form").attr('action');
|
||||||
@@ -395,7 +463,7 @@
|
|||||||
url: url,
|
url: url,
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
data: data,
|
data: data,
|
||||||
success: function (response) {
|
success: function(response) {
|
||||||
ladda.stop();
|
ladda.stop();
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
$("#collab_modal").modal('hide');
|
$("#collab_modal").modal('hide');
|
||||||
@@ -407,7 +475,7 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
$('a[data-toggle="pill"]').on('shown.bs.tab', function (e) {
|
$('a[data-toggle="pill"]').on('shown.bs.tab', function(e) {
|
||||||
var target = $(e.target).attr('href');
|
var target = $(e.target).attr('href');
|
||||||
if (target == '#custome-tabs-forms') {
|
if (target == '#custome-tabs-forms') {
|
||||||
if (typeof form_table != 'undefined') {
|
if (typeof form_table != 'undefined') {
|
||||||
@@ -424,17 +492,17 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@if(auth()->user()->can('superadmin'))
|
@if (auth()->user()->can('superadmin'))
|
||||||
$(document).on('click', '.toggle_global_template', function () {
|
$(document).on('click', '.toggle_global_template', function() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
method: "POST",
|
method: "POST",
|
||||||
url: "{{route('toggle.global.template')}}",
|
url: "{{ route('toggle.global.template') }}",
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
data: {
|
data: {
|
||||||
is_checked: $(this).is(":checked") ? 1 : 0,
|
is_checked: $(this).is(":checked") ? 1 : 0,
|
||||||
form_id: $(this).data("form_id"),
|
form_id: $(this).data("form_id"),
|
||||||
},
|
},
|
||||||
success: function (response) {
|
success: function(response) {
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
template_table.ajax.reload();
|
template_table.ajax.reload();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user