update_10.09.23
This commit is contained in:
		
							parent
							
								
									4a9c23c4ea
								
							
						
					
					
						commit
						98a7d01134
					
				
							
								
								
									
										10
									
								
								app/Enums/User/PermissionEnum.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app/Enums/User/PermissionEnum.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Enums\User;
 | 
			
		||||
 | 
			
		||||
enum PermissionEnum: string
 | 
			
		||||
{
 | 
			
		||||
    case CREATE_FORM = 'create form';
 | 
			
		||||
    case VIEW_FORM = 'view form';
 | 
			
		||||
    case EDIT_FORM = 'edit form';
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								app/Enums/User/RoleEnum.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app/Enums/User/RoleEnum.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Enums\User;
 | 
			
		||||
 | 
			
		||||
enum RoleEnum: string
 | 
			
		||||
{
 | 
			
		||||
    case SUPERVISOR = 'supervisor';
 | 
			
		||||
    case ADMIN = 'admin';
 | 
			
		||||
    case USER = 'user';
 | 
			
		||||
}
 | 
			
		||||
@ -50,34 +50,34 @@ class HomeController extends Controller
 | 
			
		||||
 | 
			
		||||
                            if (! empty($form->schema)) {
 | 
			
		||||
                                $action = '<a href="'.action([\App\Http\Controllers\FormController::class, 'show'], ['form' => $form->slug ?: $form->id]).'"'.'
 | 
			
		||||
                                target="_blank" 
 | 
			
		||||
                                target="_blank"
 | 
			
		||||
                                class="btn btn-sm btn-info  m-1" data-toggle="tooltip" title="'.__('messages.view').'">
 | 
			
		||||
                                    <i class="fa fa-eye" aria-hidden="true"></i>
 | 
			
		||||
                                </a>';
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                            $action .= '<a href="'.action([\App\Http\Controllers\FormController::class, 'edit'], ['form' => $form->id]).'"'.' 
 | 
			
		||||
                            $action .= '<a href="'.action([\App\Http\Controllers\FormController::class, 'edit'], ['form' => $form->id]).'"'.'
 | 
			
		||||
                                class="btn btn-sm btn-warning  m-1" data-toggle="tooltip" title="'.__('messages.edit').'">
 | 
			
		||||
                                    <i class="fa fa-edit" aria-hidden="true"></i>
 | 
			
		||||
                                </a>';
 | 
			
		||||
 | 
			
		||||
                            $action .= '<button type="button" data-href="'.action([\App\Http\Controllers\FormController::class, 'destroy'], ['form' => $form->id]).'"'.' class="btn btn-sm btn-danger delete_form m-1" data-toggle="tooltip" 
 | 
			
		||||
                            $action .= '<button type="button" data-href="'.action([\App\Http\Controllers\FormController::class, 'destroy'], ['form' => $form->id]).'"'.' class="btn btn-sm btn-danger delete_form m-1" data-toggle="tooltip"
 | 
			
		||||
                                title="'.__('messages.delete').'">
 | 
			
		||||
                                    <i class="fa fa-trash" aria-hidden="true"></i>
 | 
			
		||||
                                </button>';
 | 
			
		||||
 | 
			
		||||
                            $action .= '<button type="button" data-href="'.action([\App\Http\Controllers\FormController::class, 'copyForm'], ['id' => $form->id]).'"'.' class="btn btn-sm btn-primary copy_form m-1" data-toggle="tooltip" 
 | 
			
		||||
                            $action .= '<button type="button" data-href="'.action([\App\Http\Controllers\FormController::class, 'copyForm'], ['id' => $form->id]).'"'.' class="btn btn-sm btn-primary copy_form m-1" data-toggle="tooltip"
 | 
			
		||||
                                title="'.__('messages.copy_this_form').'">
 | 
			
		||||
                                    <i class="fas fa-copy"></i>
 | 
			
		||||
                                </button>';
 | 
			
		||||
 | 
			
		||||
                            $action .= '<button type="button" data-href="'.action([\App\Http\Controllers\FormController::class, 'generateWidget'], ['id' => $form->id]).'"'.' class="btn btn-sm btn-info generate_widget m-1" data-toggle="tooltip" 
 | 
			
		||||
                            $action .= '<button type="button" data-href="'.action([\App\Http\Controllers\FormController::class, 'generateWidget'], ['id' => $form->id]).'"'.' class="btn btn-sm btn-info generate_widget m-1" data-toggle="tooltip"
 | 
			
		||||
                                title="'.__('messages.widget').'">
 | 
			
		||||
                                    <i class="fa fa-random" aria-hidden="true"></i>
 | 
			
		||||
                                </button>';
 | 
			
		||||
 | 
			
		||||
                            $action .= '<a href="'.action([\App\Http\Controllers\FormDataController::class, 'show'], ['id' => $form->id]).'"'.'"
 | 
			
		||||
                                target="_blank" 
 | 
			
		||||
                                target="_blank"
 | 
			
		||||
                                class="btn btn-sm btn-success  m-1" data-toggle="tooltip" title="'.__('messages.view_form_data').'">
 | 
			
		||||
                                    <i class="fa fa-list" aria-hidden="true"></i>
 | 
			
		||||
                                </a>';
 | 
			
		||||
@ -86,18 +86,12 @@ class HomeController extends Controller
 | 
			
		||||
                            $superadmin_emails = explode(',', $superadmins);
 | 
			
		||||
                            if (in_array($user->email, $superadmin_emails) ||
 | 
			
		||||
                                (is_saas_enabled() && (isset($subscription->package_details['is_form_downloadable']) && $subscription->package_details['is_form_downloadable'])) || ! is_saas_enabled()) {
 | 
			
		||||
                                $action .= '<a href="'.action([\App\Http\Controllers\FormController::class, 'downloadCode'], ['id' => $form->id]).'"'.'" class="btn btn-sm btn-dark m-1" data-toggle="tooltip" 
 | 
			
		||||
                                $action .= '<a href="'.action([\App\Http\Controllers\FormController::class, 'downloadCode'], ['id' => $form->id]).'"'.'" class="btn btn-sm btn-dark m-1" data-toggle="tooltip"
 | 
			
		||||
                                title="'.__('messages.download_code').'">
 | 
			
		||||
                                    <i class="fas fa-download" aria-hidden="true"></i>
 | 
			
		||||
                                </a>';
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                            $action .= '<a href="'.action([\App\Http\Controllers\FormDataController::class, 'getReport'], ['id' => $form->id]).'"'.'"
 | 
			
		||||
                                target="_blank" 
 | 
			
		||||
                                class="btn btn-sm btn-success  m-1" data-toggle="tooltip" title="'.__('messages.report').'">
 | 
			
		||||
                                    <i class="fas fa-chart-pie" aria-hidden="true"></i>
 | 
			
		||||
                                </a>';
 | 
			
		||||
 | 
			
		||||
                            $action .= '<a data-href="'.action([\App\Http\Controllers\FormController::class, 'getCollab'], ['id' => $form->id]).'"'.'class="btn btn-sm btn-primary  m-1 collab_btn" data-toggle="tooltip" title="'.__('messages.collaborate').'">
 | 
			
		||||
                                    <i class="fas fa-handshake text-white" aria-hidden="true"></i>
 | 
			
		||||
                                </a>';
 | 
			
		||||
@ -174,17 +168,17 @@ class HomeController extends Controller
 | 
			
		||||
            return DataTables::of($forms)
 | 
			
		||||
                    ->addColumn('action', function ($row) {
 | 
			
		||||
                        $action = '<a href="'.action([\App\Http\Controllers\FormController::class, 'show'], ['form' => $row->slug ?: $row->id]).'"'.'
 | 
			
		||||
                                target="_blank" 
 | 
			
		||||
                                target="_blank"
 | 
			
		||||
                                class="btn btn-sm btn-info  m-1" data-toggle="tooltip" title="'.__('messages.view').'">
 | 
			
		||||
                                    <i class="fa fa-eye" aria-hidden="true"></i>
 | 
			
		||||
                                </a>';
 | 
			
		||||
 | 
			
		||||
                        if (! $row->is_global_template || auth()->user()->can('superadmin')) {
 | 
			
		||||
                            $action .= '<a href="'.action([\App\Http\Controllers\FormController::class, 'edit'], ['form' => $row->id]).'"'.' 
 | 
			
		||||
                            $action .= '<a href="'.action([\App\Http\Controllers\FormController::class, 'edit'], ['form' => $row->id]).'"'.'
 | 
			
		||||
                                class="btn btn-sm btn-warning  m-1" data-toggle="tooltip" title="'.__('messages.edit').'">
 | 
			
		||||
                                    <i class="fa fa-edit" aria-hidden="true"></i>
 | 
			
		||||
                                </a>
 | 
			
		||||
                                <button type="button" data-href="'.action([\App\Http\Controllers\FormController::class, 'destroy'], ['form' => $row->id]).'"'.' class="btn btn-sm btn-danger delete_template m-1" data-toggle="tooltip" 
 | 
			
		||||
                                <button type="button" data-href="'.action([\App\Http\Controllers\FormController::class, 'destroy'], ['form' => $row->id]).'"'.' class="btn btn-sm btn-danger delete_template m-1" data-toggle="tooltip"
 | 
			
		||||
                                    title="'.__('messages.delete').'">
 | 
			
		||||
                                        <i class="fa fa-trash" aria-hidden="true"></i>
 | 
			
		||||
                                </button>';
 | 
			
		||||
@ -265,31 +259,26 @@ class HomeController extends Controller
 | 
			
		||||
                        'action',
 | 
			
		||||
                        function ($row) {
 | 
			
		||||
                            $action = '';
 | 
			
		||||
                            if (! empty($row->permissions) && in_array('can_view_form', $row->permissions)) {
 | 
			
		||||
                            if (! empty($row->permissions) && in_array('can_view_form', $row->permissions) && auth()->user()->show_edit_buttons_form) {
 | 
			
		||||
                                $action = '<a href="'.action([\App\Http\Controllers\FormController::class, 'show'], ['form' => $row->slug ?: $row->form_id]).'"'.'
 | 
			
		||||
                                target="_blank" 
 | 
			
		||||
                                target="_blank"
 | 
			
		||||
                                class="btn btn-sm btn-info  m-1" data-toggle="tooltip" title="'.__('messages.view').'">
 | 
			
		||||
                                    <i class="fa fa-eye" aria-hidden="true"></i>
 | 
			
		||||
                                </a>';
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                            if (! empty($row->permissions) && in_array('can_design_form', $row->permissions)) {
 | 
			
		||||
                                $action .= '<a href="'.action([\App\Http\Controllers\FormController::class, 'edit'], ['form' => $row->form_id]).'"'.' 
 | 
			
		||||
                            if (! empty($row->permissions) && in_array('can_design_form', $row->permissions) && auth()->user()->show_edit_buttons_form) {
 | 
			
		||||
                                $action .= '<a href="'.action([\App\Http\Controllers\FormController::class, 'edit'], ['form' => $row->form_id]).'"'.'
 | 
			
		||||
                                    class="btn btn-sm btn-warning  m-1" data-toggle="tooltip" title="'.__('messages.edit').'">
 | 
			
		||||
                                        <i class="fa fa-edit" aria-hidden="true"></i>
 | 
			
		||||
                                    </a>';
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                            if (! empty($row->permissions) && in_array('can_view_data', $row->permissions)) {
 | 
			
		||||
                            if (! empty($row->permissions) && in_array('can_view_data', $row->permissions) && auth()->user()->show_edit_buttons_form) {
 | 
			
		||||
                                $action .= '<a href="'.action([\App\Http\Controllers\FormDataController::class, 'show'], ['id' => $row->form_id]).'"'.'"
 | 
			
		||||
                                target="_blank" 
 | 
			
		||||
                                target="_blank"
 | 
			
		||||
                                class="btn btn-sm btn-success  m-1" data-toggle="tooltip" title="'.__('messages.view_form_data').'">
 | 
			
		||||
                                    <i class="fa fa-list" aria-hidden="true"></i>
 | 
			
		||||
                                </a>
 | 
			
		||||
                                <a href="'.action([\App\Http\Controllers\FormDataController::class, 'getReport'], ['id' => $row->form_id]).'"'.'"
 | 
			
		||||
                                target="_blank" 
 | 
			
		||||
                                class="btn btn-sm btn-success  m-1" data-toggle="tooltip" title="'.__('messages.report').'">
 | 
			
		||||
                                    <i class="fas fa-chart-pie" aria-hidden="true"></i>
 | 
			
		||||
                                </a>';
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -35,7 +35,7 @@ class ManageUsersController extends Controller
 | 
			
		||||
            return DataTables::of($users)
 | 
			
		||||
                    ->addColumn(
 | 
			
		||||
                        'action',
 | 
			
		||||
                        '   
 | 
			
		||||
                        '
 | 
			
		||||
                            @if($is_active)
 | 
			
		||||
                                <span title="@lang("messages.mark_inactive")">
 | 
			
		||||
                                    <a class="btn btn-link btn-icon btn-sm text-danger toggle_is_active pointer" data-href="{{ action([\App\Http\Controllers\Superadmin\ManageUsersController::class, "toggleUserActiveStatus"], [$id])}}">
 | 
			
		||||
@ -126,7 +126,7 @@ class ManageUsersController extends Controller
 | 
			
		||||
                return $this->notAllowedInDemo();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            $input = $request->only('name', 'email', 'is_active', 'can_create_form');
 | 
			
		||||
            $input = $request->only('name', 'email', 'is_active', 'can_create_form', 'show_form_response_user', 'show_edit_buttons_form');
 | 
			
		||||
 | 
			
		||||
            if (! empty($request->input('password'))) {
 | 
			
		||||
                $input['password'] = bcrypt($request->input('password'));
 | 
			
		||||
@ -134,6 +134,8 @@ class ManageUsersController extends Controller
 | 
			
		||||
 | 
			
		||||
            $input['is_active'] = ! empty($input['is_active']) ? 1 : 0;
 | 
			
		||||
            $input['can_create_form'] = ! empty($input['can_create_form']) ? 1 : 0;
 | 
			
		||||
            $input['show_form_response_user'] = ! empty($input['show_form_response_user']) ? 1 : 0;
 | 
			
		||||
            $input['show_edit_buttons_form'] = ! empty($input['show_edit_buttons_form']) ? 1 : 0;
 | 
			
		||||
 | 
			
		||||
            $user = User::create($input);
 | 
			
		||||
 | 
			
		||||
@ -219,9 +221,11 @@ class ManageUsersController extends Controller
 | 
			
		||||
                return $this->notAllowedInDemo();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            $input = $request->only('name', 'email', 'is_active', 'can_create_form');
 | 
			
		||||
            $input = $request->only('name', 'email', 'is_active', 'can_create_form', 'show_form_response_user', 'show_edit_buttons_form');
 | 
			
		||||
            $input['is_active'] = ! empty($input['is_active']) ? 1 : 0;
 | 
			
		||||
            $input['can_create_form'] = ! empty($input['can_create_form']) ? 1 : 0;
 | 
			
		||||
            $input['show_form_response_user'] = ! empty($input['show_form_response_user']) ? 1 : 0;
 | 
			
		||||
            $input['show_edit_buttons_form'] = ! empty($input['show_edit_buttons_form']) ? 1 : 0;
 | 
			
		||||
 | 
			
		||||
            if (! empty($request->input('password'))) {
 | 
			
		||||
                $input['password'] = bcrypt($request->input('password'));
 | 
			
		||||
 | 
			
		||||
@ -4,10 +4,12 @@ namespace App;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Foundation\Auth\User as Authenticatable;
 | 
			
		||||
use Illuminate\Notifications\Notifiable;
 | 
			
		||||
use Spatie\Permission\Traits\HasRoles;
 | 
			
		||||
 | 
			
		||||
class User extends Authenticatable
 | 
			
		||||
{
 | 
			
		||||
    use Notifiable;
 | 
			
		||||
    use Notifiable,
 | 
			
		||||
        HasRoles;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The attributes that aren't mass assignable.
 | 
			
		||||
 | 
			
		||||
@ -8,7 +8,7 @@
 | 
			
		||||
    ],
 | 
			
		||||
    "license": "MIT",
 | 
			
		||||
    "require": {
 | 
			
		||||
        "php": "^8.0",
 | 
			
		||||
        "php": "^8.1",
 | 
			
		||||
        "carlos-meneses/laravel-mpdf": "^2.1",
 | 
			
		||||
        "composer/semver": "^3.2",
 | 
			
		||||
        "guzzlehttp/guzzle": "^7.2",
 | 
			
		||||
@ -18,6 +18,7 @@
 | 
			
		||||
        "laravel/ui": "^3.3",
 | 
			
		||||
        "milon/barcode": "^9.0",
 | 
			
		||||
        "spatie/laravel-newsletter": "*",
 | 
			
		||||
        "spatie/laravel-permission": "^5.11",
 | 
			
		||||
        "spatie/laravel-webhook-server": "^3.1",
 | 
			
		||||
        "srmklive/paypal": "^3.0",
 | 
			
		||||
        "stripe/stripe-php": "^7.108",
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1500
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1500
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -190,6 +190,7 @@ return [
 | 
			
		||||
        Srmklive\PayPal\Providers\PayPalServiceProvider::class,
 | 
			
		||||
        // Meneses\LaravelMpdf\LaravelMpdfServiceProvider::class,
 | 
			
		||||
        Milon\Barcode\BarcodeServiceProvider::class,
 | 
			
		||||
        Spatie\Permission\PermissionServiceProvider::class,
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * Application Service Providers...
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										161
									
								
								config/permission.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								config/permission.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,161 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'models' => [
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * When using the "HasPermissions" trait from this package, we need to know which
 | 
			
		||||
         * Eloquent model should be used to retrieve your permissions. Of course, it
 | 
			
		||||
         * is often just the "Permission" model but you may use whatever you like.
 | 
			
		||||
         *
 | 
			
		||||
         * The model you want to use as a Permission model needs to implement the
 | 
			
		||||
         * `Spatie\Permission\Contracts\Permission` contract.
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        'permission' => Spatie\Permission\Models\Permission::class,
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * When using the "HasRoles" trait from this package, we need to know which
 | 
			
		||||
         * Eloquent model should be used to retrieve your roles. Of course, it
 | 
			
		||||
         * is often just the "Role" model but you may use whatever you like.
 | 
			
		||||
         *
 | 
			
		||||
         * The model you want to use as a Role model needs to implement the
 | 
			
		||||
         * `Spatie\Permission\Contracts\Role` contract.
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        'role' => Spatie\Permission\Models\Role::class,
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'table_names' => [
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * When using the "HasRoles" trait from this package, we need to know which
 | 
			
		||||
         * table should be used to retrieve your roles. We have chosen a basic
 | 
			
		||||
         * default value but you may easily change it to any table you like.
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        'roles' => 'roles',
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * When using the "HasPermissions" trait from this package, we need to know which
 | 
			
		||||
         * table should be used to retrieve your permissions. We have chosen a basic
 | 
			
		||||
         * default value but you may easily change it to any table you like.
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        'permissions' => 'permissions',
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * When using the "HasPermissions" trait from this package, we need to know which
 | 
			
		||||
         * table should be used to retrieve your models permissions. We have chosen a
 | 
			
		||||
         * basic default value but you may easily change it to any table you like.
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        'model_has_permissions' => 'model_has_permissions',
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * When using the "HasRoles" trait from this package, we need to know which
 | 
			
		||||
         * table should be used to retrieve your models roles. We have chosen a
 | 
			
		||||
         * basic default value but you may easily change it to any table you like.
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        'model_has_roles' => 'model_has_roles',
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * When using the "HasRoles" trait from this package, we need to know which
 | 
			
		||||
         * table should be used to retrieve your roles permissions. We have chosen a
 | 
			
		||||
         * basic default value but you may easily change it to any table you like.
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        'role_has_permissions' => 'role_has_permissions',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    'column_names' => [
 | 
			
		||||
        /*
 | 
			
		||||
         * Change this if you want to name the related pivots other than defaults
 | 
			
		||||
         */
 | 
			
		||||
        'role_pivot_key' => null, //default 'role_id',
 | 
			
		||||
        'permission_pivot_key' => null, //default 'permission_id',
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * Change this if you want to name the related model primary key other than
 | 
			
		||||
         * `model_id`.
 | 
			
		||||
         *
 | 
			
		||||
         * For example, this would be nice if your primary keys are all UUIDs. In
 | 
			
		||||
         * that case, name this `model_uuid`.
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        'model_morph_key' => 'model_id',
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * Change this if you want to use the teams feature and your related model's
 | 
			
		||||
         * foreign key is other than `team_id`.
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        'team_foreign_key' => 'team_id',
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * When set to true, the method for checking permissions will be registered on the gate.
 | 
			
		||||
     * Set this to false, if you want to implement custom logic for checking permissions.
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    'register_permission_check_method' => true,
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * When set to true the package implements teams using the 'team_foreign_key'. If you want
 | 
			
		||||
     * the migrations to register the 'team_foreign_key', you must set this to true
 | 
			
		||||
     * before doing the migration. If you already did the migration then you must make a new
 | 
			
		||||
     * migration to also add 'team_foreign_key' to 'roles', 'model_has_roles', and
 | 
			
		||||
     * 'model_has_permissions'(view the latest version of package's migration file)
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    'teams' => false,
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * When set to true, the required permission names are added to the exception
 | 
			
		||||
     * message. This could be considered an information leak in some contexts, so
 | 
			
		||||
     * the default setting is false here for optimum safety.
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    'display_permission_in_exception' => false,
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * When set to true, the required role names are added to the exception
 | 
			
		||||
     * message. This could be considered an information leak in some contexts, so
 | 
			
		||||
     * the default setting is false here for optimum safety.
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    'display_role_in_exception' => false,
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * By default wildcard permission lookups are disabled.
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    'enable_wildcard_permission' => false,
 | 
			
		||||
 | 
			
		||||
    'cache' => [
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * By default all permissions are cached for 24 hours to speed up performance.
 | 
			
		||||
         * When permissions or roles are updated the cache is flushed automatically.
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        'expiration_time' => \DateInterval::createFromDateString('24 hours'),
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * The cache key used to store all permissions.
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        'key' => 'spatie.permission.cache',
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * You may optionally indicate a specific cache driver to use for permission and
 | 
			
		||||
         * role caching using any of the `store` drivers listed in the cache.php config
 | 
			
		||||
         * file. Using 'default' here means to use the `default` set in cache.php.
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        'store' => 'default',
 | 
			
		||||
    ],
 | 
			
		||||
];
 | 
			
		||||
@ -19,6 +19,10 @@ return new class extends Migration
 | 
			
		||||
            $table->string('email')->unique();
 | 
			
		||||
            $table->timestamp('email_verified_at')->nullable();
 | 
			
		||||
            $table->string('password');
 | 
			
		||||
 | 
			
		||||
            $table->boolean('show_form_response_user')->default(false);
 | 
			
		||||
            $table->boolean('show_edit_buttons_form');
 | 
			
		||||
 | 
			
		||||
            $table->rememberToken();
 | 
			
		||||
            $table->timestamps();
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,141 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
use Illuminate\Support\Facades\Schema;
 | 
			
		||||
use Illuminate\Database\Schema\Blueprint;
 | 
			
		||||
use Illuminate\Database\Migrations\Migration;
 | 
			
		||||
use Spatie\Permission\PermissionRegistrar;
 | 
			
		||||
 | 
			
		||||
class CreatePermissionTables extends Migration
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Run the migrations.
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
    public function up()
 | 
			
		||||
    {
 | 
			
		||||
        $tableNames = config('permission.table_names');
 | 
			
		||||
        $columnNames = config('permission.column_names');
 | 
			
		||||
        $teams = config('permission.teams');
 | 
			
		||||
 | 
			
		||||
        if (empty($tableNames)) {
 | 
			
		||||
            throw new \Exception('Error: config/permission.php not loaded. Run [php artisan config:clear] and try again.');
 | 
			
		||||
        }
 | 
			
		||||
        if ($teams && empty($columnNames['team_foreign_key'] ?? null)) {
 | 
			
		||||
            throw new \Exception('Error: team_foreign_key on config/permission.php not loaded. Run [php artisan config:clear] and try again.');
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Schema::create($tableNames['permissions'], function (Blueprint $table) {
 | 
			
		||||
            $table->bigIncrements('id'); // permission id
 | 
			
		||||
            $table->string('name');       // For MySQL 8.0 use string('name', 125);
 | 
			
		||||
            $table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125);
 | 
			
		||||
            $table->timestamps();
 | 
			
		||||
 | 
			
		||||
            $table->unique(['name', 'guard_name']);
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        Schema::create($tableNames['roles'], function (Blueprint $table) use ($teams, $columnNames) {
 | 
			
		||||
            $table->bigIncrements('id'); // role id
 | 
			
		||||
            if ($teams || config('permission.testing')) { // permission.testing is a fix for sqlite testing
 | 
			
		||||
                $table->unsignedBigInteger($columnNames['team_foreign_key'])->nullable();
 | 
			
		||||
                $table->index($columnNames['team_foreign_key'], 'roles_team_foreign_key_index');
 | 
			
		||||
            }
 | 
			
		||||
            $table->string('name');       // For MySQL 8.0 use string('name', 125);
 | 
			
		||||
            $table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125);
 | 
			
		||||
            $table->timestamps();
 | 
			
		||||
            if ($teams || config('permission.testing')) {
 | 
			
		||||
                $table->unique([$columnNames['team_foreign_key'], 'name', 'guard_name']);
 | 
			
		||||
            } else {
 | 
			
		||||
                $table->unique(['name', 'guard_name']);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        Schema::create($tableNames['model_has_permissions'], function (Blueprint $table) use ($tableNames, $columnNames, $teams) {
 | 
			
		||||
            $table->unsignedBigInteger(PermissionRegistrar::$pivotPermission);
 | 
			
		||||
 | 
			
		||||
            $table->string('model_type');
 | 
			
		||||
            $table->unsignedBigInteger($columnNames['model_morph_key']);
 | 
			
		||||
            $table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_permissions_model_id_model_type_index');
 | 
			
		||||
 | 
			
		||||
            $table->foreign(PermissionRegistrar::$pivotPermission)
 | 
			
		||||
                ->references('id') // permission id
 | 
			
		||||
                ->on($tableNames['permissions'])
 | 
			
		||||
                ->onDelete('cascade');
 | 
			
		||||
            if ($teams) {
 | 
			
		||||
                $table->unsignedBigInteger($columnNames['team_foreign_key']);
 | 
			
		||||
                $table->index($columnNames['team_foreign_key'], 'model_has_permissions_team_foreign_key_index');
 | 
			
		||||
 | 
			
		||||
                $table->primary([$columnNames['team_foreign_key'], PermissionRegistrar::$pivotPermission, $columnNames['model_morph_key'], 'model_type'],
 | 
			
		||||
                    'model_has_permissions_permission_model_type_primary');
 | 
			
		||||
            } else {
 | 
			
		||||
                $table->primary([PermissionRegistrar::$pivotPermission, $columnNames['model_morph_key'], 'model_type'],
 | 
			
		||||
                    'model_has_permissions_permission_model_type_primary');
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        Schema::create($tableNames['model_has_roles'], function (Blueprint $table) use ($tableNames, $columnNames, $teams) {
 | 
			
		||||
            $table->unsignedBigInteger(PermissionRegistrar::$pivotRole);
 | 
			
		||||
 | 
			
		||||
            $table->string('model_type');
 | 
			
		||||
            $table->unsignedBigInteger($columnNames['model_morph_key']);
 | 
			
		||||
            $table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_roles_model_id_model_type_index');
 | 
			
		||||
 | 
			
		||||
            $table->foreign(PermissionRegistrar::$pivotRole)
 | 
			
		||||
                ->references('id') // role id
 | 
			
		||||
                ->on($tableNames['roles'])
 | 
			
		||||
                ->onDelete('cascade');
 | 
			
		||||
            if ($teams) {
 | 
			
		||||
                $table->unsignedBigInteger($columnNames['team_foreign_key']);
 | 
			
		||||
                $table->index($columnNames['team_foreign_key'], 'model_has_roles_team_foreign_key_index');
 | 
			
		||||
 | 
			
		||||
                $table->primary([$columnNames['team_foreign_key'], PermissionRegistrar::$pivotRole, $columnNames['model_morph_key'], 'model_type'],
 | 
			
		||||
                    'model_has_roles_role_model_type_primary');
 | 
			
		||||
            } else {
 | 
			
		||||
                $table->primary([PermissionRegistrar::$pivotRole, $columnNames['model_morph_key'], 'model_type'],
 | 
			
		||||
                    'model_has_roles_role_model_type_primary');
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        Schema::create($tableNames['role_has_permissions'], function (Blueprint $table) use ($tableNames) {
 | 
			
		||||
            $table->unsignedBigInteger(PermissionRegistrar::$pivotPermission);
 | 
			
		||||
            $table->unsignedBigInteger(PermissionRegistrar::$pivotRole);
 | 
			
		||||
 | 
			
		||||
            $table->foreign(PermissionRegistrar::$pivotPermission)
 | 
			
		||||
                ->references('id') // permission id
 | 
			
		||||
                ->on($tableNames['permissions'])
 | 
			
		||||
                ->onDelete('cascade');
 | 
			
		||||
 | 
			
		||||
            $table->foreign(PermissionRegistrar::$pivotRole)
 | 
			
		||||
                ->references('id') // role id
 | 
			
		||||
                ->on($tableNames['roles'])
 | 
			
		||||
                ->onDelete('cascade');
 | 
			
		||||
 | 
			
		||||
            $table->primary([PermissionRegistrar::$pivotPermission, PermissionRegistrar::$pivotRole], 'role_has_permissions_permission_id_role_id_primary');
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        app('cache')
 | 
			
		||||
            ->store(config('permission.cache.store') != 'default' ? config('permission.cache.store') : null)
 | 
			
		||||
            ->forget(config('permission.cache.key'));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reverse the migrations.
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
    public function down()
 | 
			
		||||
    {
 | 
			
		||||
        $tableNames = config('permission.table_names');
 | 
			
		||||
 | 
			
		||||
        if (empty($tableNames)) {
 | 
			
		||||
            throw new \Exception('Error: config/permission.php not found and defaults could not be merged. Please publish the package configuration before proceeding, or drop the tables manually.');
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Schema::drop($tableNames['role_has_permissions']);
 | 
			
		||||
        Schema::drop($tableNames['model_has_roles']);
 | 
			
		||||
        Schema::drop($tableNames['model_has_permissions']);
 | 
			
		||||
        Schema::drop($tableNames['roles']);
 | 
			
		||||
        Schema::drop($tableNames['permissions']);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -13,8 +13,12 @@ class DatabaseSeeder extends Seeder
 | 
			
		||||
     */
 | 
			
		||||
    public function run()
 | 
			
		||||
    {
 | 
			
		||||
        $this->call(UsersTableSeeder::class);
 | 
			
		||||
        $this->call(SystemsTableSeeder::class);
 | 
			
		||||
        $this->call(TemplateSeeder::class);
 | 
			
		||||
        $this->call([
 | 
			
		||||
            PermissionSeeder::class,
 | 
			
		||||
            RoleSeeder::class,
 | 
			
		||||
            UsersTableSeeder::class,
 | 
			
		||||
            SystemsTableSeeder::class,
 | 
			
		||||
            TemplateSeeder::class
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								database/seeders/PermissionSeeder.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								database/seeders/PermissionSeeder.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Database\Seeders;
 | 
			
		||||
 | 
			
		||||
use App\Enums\User\PermissionEnum;
 | 
			
		||||
use Illuminate\Database\Seeder;
 | 
			
		||||
use Spatie\Permission\Models\Permission;
 | 
			
		||||
 | 
			
		||||
class PermissionSeeder extends Seeder
 | 
			
		||||
{
 | 
			
		||||
    public function run(): void
 | 
			
		||||
    {
 | 
			
		||||
        Permission::query()
 | 
			
		||||
            ->upsert([
 | 
			
		||||
                ['name' => PermissionEnum::CREATE_FORM->value, 'guard_name' => 'web'],
 | 
			
		||||
                ['name' => PermissionEnum::VIEW_FORM->value, 'guard_name' => 'web'],
 | 
			
		||||
                ['name' => PermissionEnum::EDIT_FORM->value, 'guard_name' => 'web']
 | 
			
		||||
            ], ['name', 'guard_name']);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										20
									
								
								database/seeders/RoleSeeder.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								database/seeders/RoleSeeder.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Database\Seeders;
 | 
			
		||||
 | 
			
		||||
use App\Enums\User\RoleEnum;
 | 
			
		||||
use Illuminate\Database\Seeder;
 | 
			
		||||
use Spatie\Permission\Models\Role;
 | 
			
		||||
 | 
			
		||||
class RoleSeeder extends Seeder
 | 
			
		||||
{
 | 
			
		||||
    public function run(): void
 | 
			
		||||
    {
 | 
			
		||||
        Role::query()
 | 
			
		||||
            ->upsert([
 | 
			
		||||
                ['name' => RoleEnum::SUPERVISOR->value, 'guard_name' => 'web'],
 | 
			
		||||
                ['name' => RoleEnum::ADMIN->value, 'guard_name' => 'web'],
 | 
			
		||||
                ['name' => RoleEnum::USER->value, 'guard_name' => 'web']
 | 
			
		||||
            ], ['name', 'guard_name']);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -2,6 +2,7 @@
 | 
			
		||||
 | 
			
		||||
namespace Database\Seeders;
 | 
			
		||||
 | 
			
		||||
use App\Enums\User\RoleEnum;
 | 
			
		||||
use App\User;
 | 
			
		||||
use Illuminate\Database\Seeder;
 | 
			
		||||
 | 
			
		||||
@ -14,14 +15,13 @@ class UsersTableSeeder extends Seeder
 | 
			
		||||
     */
 | 
			
		||||
    public function run()
 | 
			
		||||
    {
 | 
			
		||||
        $info = [
 | 
			
		||||
            'name' => 'admin',
 | 
			
		||||
            'email' => 'admin@admin.com',
 | 
			
		||||
            'password' => bcrypt(12345678),
 | 
			
		||||
            'is_active' => 1,
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        //create user
 | 
			
		||||
        $user = User::create($info);
 | 
			
		||||
        User::query()
 | 
			
		||||
            ->create([
 | 
			
		||||
                'name' => 'admin',
 | 
			
		||||
                'email' => 'admin@admin.com',
 | 
			
		||||
                'password' => bcrypt(12345678),
 | 
			
		||||
                'is_active' => 1,
 | 
			
		||||
            ])
 | 
			
		||||
            ->assignRole(RoleEnum::SUPERVISOR->value);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@ -477,6 +477,10 @@ return [
 | 
			
		||||
    'outline' => 'Outline',
 | 
			
		||||
    'can_create_form' => 'Can create form',
 | 
			
		||||
    'can_create_form_tooltip' => 'If checked user can create forms for him/herself',
 | 
			
		||||
    'show_form_response_user' => 'Can view form response author',
 | 
			
		||||
    'show_form_response_user_tooltip' => 'If checked user can view form response author',
 | 
			
		||||
    'show_edit_buttons_form' => 'Can view form edit buttons',
 | 
			
		||||
    'show_edit_buttons_form_tooltip' => 'If checked user can view edit buttons',
 | 
			
		||||
    'assign_forms' => 'Share forms',
 | 
			
		||||
    'permission_for_forms' => 'Permission for shared forms',
 | 
			
		||||
    'can_design_form' => 'Can design form',
 | 
			
		||||
 | 
			
		||||
@ -477,6 +477,10 @@ return [
 | 
			
		||||
    'outline' => 'Контур',
 | 
			
		||||
    'can_create_form' => 'Может создавать форму',
 | 
			
		||||
    'can_create_form_tooltip' => 'Если установлено, пользователь может создавать формы для себя',
 | 
			
		||||
    'show_form_response_user' => 'Can view form response author',
 | 
			
		||||
    'show_form_response_user_tooltip' => 'If checked user can view form response author',
 | 
			
		||||
    'show_edit_buttons_form' => 'Can view form edit buttons',
 | 
			
		||||
    'show_edit_buttons_form_tooltip' => 'If checked user can view edit buttons',
 | 
			
		||||
    'assign_forms' => 'Поделиться формами',
 | 
			
		||||
    'permission_for_forms' => 'Разрешение на общие формы',
 | 
			
		||||
    'can_design_form' => 'Может проектировать форму',
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										14529
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										14529
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,75 +1,79 @@
 | 
			
		||||
@extends('layouts.app')
 | 
			
		||||
@section('css')
 | 
			
		||||
<style type="text/css">
 | 
			
		||||
    .no-print {
 | 
			
		||||
        display: block;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @media screen {
 | 
			
		||||
        #printSection {
 | 
			
		||||
            display: none;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @media print {
 | 
			
		||||
        body * {
 | 
			
		||||
            visibility:hidden;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #printSection, #printSection * {
 | 
			
		||||
            visibility:visible;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #printSection {
 | 
			
		||||
            position:absolute;
 | 
			
		||||
            left:0;
 | 
			
		||||
            top:0;
 | 
			
		||||
        }
 | 
			
		||||
    <style type="text/css">
 | 
			
		||||
        .no-print {
 | 
			
		||||
            display: none;
 | 
			
		||||
            display: block;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
        @media screen {
 | 
			
		||||
            #printSection {
 | 
			
		||||
                display: none;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @media print {
 | 
			
		||||
            body * {
 | 
			
		||||
                visibility: hidden;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            #printSection, #printSection * {
 | 
			
		||||
                visibility: visible;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            #printSection {
 | 
			
		||||
                position: absolute;
 | 
			
		||||
                left: 0;
 | 
			
		||||
                top: 0;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            .no-print {
 | 
			
		||||
                display: none;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    </style>
 | 
			
		||||
@endsection
 | 
			
		||||
@section('content')
 | 
			
		||||
<div class="container-fluid">
 | 
			
		||||
    <div class="row justify-content-center no-print">
 | 
			
		||||
        <div class="col-md-12">
 | 
			
		||||
            @php
 | 
			
		||||
                $date_format = config('constants.APP_DATE_FORMAT');
 | 
			
		||||
                if (config('constants.APP_TIME_FORMAT') == '12') {
 | 
			
		||||
                    $date_format .= ' h:i A';
 | 
			
		||||
                } else if (config('constants.APP_TIME_FORMAT') == '24') {
 | 
			
		||||
                    $date_format .= ' H:i';
 | 
			
		||||
                } else {
 | 
			
		||||
                    $date_format = 'm/d/Y h:i A';
 | 
			
		||||
                }
 | 
			
		||||
            @endphp
 | 
			
		||||
    		<div class="card">
 | 
			
		||||
        		<div class="card-header">
 | 
			
		||||
        		{{$form->name}}
 | 
			
		||||
        		</div>
 | 
			
		||||
    <div class="container-fluid">
 | 
			
		||||
        <div class="row justify-content-center no-print">
 | 
			
		||||
            <div class="col-md-12">
 | 
			
		||||
                @php
 | 
			
		||||
                    $is_enabled_sub_ref_no = false;
 | 
			
		||||
                    if(isset($form->schema['settings']['form_submision_ref']['is_enabled']) && $form->schema['settings']['form_submision_ref']['is_enabled']) {
 | 
			
		||||
                        $is_enabled_sub_ref_no = true;
 | 
			
		||||
                    $date_format = config('constants.APP_DATE_FORMAT');
 | 
			
		||||
                    if (config('constants.APP_TIME_FORMAT') == '12') {
 | 
			
		||||
                        $date_format .= ' h:i A';
 | 
			
		||||
                    } else if (config('constants.APP_TIME_FORMAT') == '24') {
 | 
			
		||||
                        $date_format .= ' H:i';
 | 
			
		||||
                    } else {
 | 
			
		||||
                        $date_format = 'm/d/Y h:i A';
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                @endphp
 | 
			
		||||
		        <div class="tab-content card-body table-responsive" role="tabpanel">
 | 
			
		||||
                    @if(!empty($form->schema))
 | 
			
		||||
                        @php
 | 
			
		||||
                            $schema = $form->schema['form'];
 | 
			
		||||
                            $col_visible = $form['schema']['settings']['form_data']['col_visible'];
 | 
			
		||||
                            $btn_enabled = $form['schema']['settings']['form_data']['btn_enabled'];
 | 
			
		||||
                        @endphp
 | 
			
		||||
                        <table class="table" id="submitted_data_table" style="width: 100%;">
 | 
			
		||||
                            <thead>
 | 
			
		||||
                <div class="card">
 | 
			
		||||
                    <div class="card-header">
 | 
			
		||||
                        {{$form->name}}
 | 
			
		||||
                    </div>
 | 
			
		||||
                    @php
 | 
			
		||||
                        $is_enabled_sub_ref_no = false;
 | 
			
		||||
                        if(isset($form->schema['settings']['form_submision_ref']['is_enabled']) && $form->schema['settings']['form_submision_ref']['is_enabled']) {
 | 
			
		||||
                            $is_enabled_sub_ref_no = true;
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                    @endphp
 | 
			
		||||
                    <div class="tab-content card-body table-responsive" role="tabpanel">
 | 
			
		||||
                        @if(!empty($form->schema))
 | 
			
		||||
                            @php
 | 
			
		||||
                                $schema = $form->schema['form'];
 | 
			
		||||
                                $col_visible = $form['schema']['settings']['form_data']['col_visible'];
 | 
			
		||||
                                $btn_enabled = $form['schema']['settings']['form_data']['btn_enabled'];
 | 
			
		||||
                            @endphp
 | 
			
		||||
                            <table class="table" id="submitted_data_table" style="width: 100%;">
 | 
			
		||||
                                <thead>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <th>@lang('messages.action')</th>
 | 
			
		||||
                                    @if($is_enabled_sub_ref_no)
 | 
			
		||||
                                        <th>@lang('messages.submission_numbering')</th>
 | 
			
		||||
                                    @endif
 | 
			
		||||
                                    @if(auth()->user()->show_form_response_user)
 | 
			
		||||
                                        <th>@lang('messages.username')</th>
 | 
			
		||||
                                    @endif
 | 
			
		||||
                                    @foreach($schema as $element)
 | 
			
		||||
                                        @if(in_array($element['name'], $col_visible))
 | 
			
		||||
                                            <th>
 | 
			
		||||
@ -79,32 +83,32 @@
 | 
			
		||||
                                    @endforeach
 | 
			
		||||
                                    <th>@lang('messages.submitted_on')</th>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                            </thead>
 | 
			
		||||
                                </thead>
 | 
			
		||||
 | 
			
		||||
                            <tbody>
 | 
			
		||||
                                <tbody>
 | 
			
		||||
                                @foreach($data as $k => $row)
 | 
			
		||||
                                    <tr>
 | 
			
		||||
                                        <td>
 | 
			
		||||
                                            @if(in_array('view', $btn_enabled))
 | 
			
		||||
                                                <button type="button" class="btn btn-info btn-sm view_form_data m-1" data-href="{{action([\App\Http\Controllers\FormDataController::class, 'viewData'], [$row->id])}}" data-toggle="modal">
 | 
			
		||||
                                                <button type="button" class="btn btn-info btn-sm view_form_data m-1"
 | 
			
		||||
                                                        data-href="{{action([\App\Http\Controllers\FormDataController::class, 'viewData'], [$row->id])}}"
 | 
			
		||||
                                                        data-toggle="modal">
 | 
			
		||||
                                                    <i class="fa fa-eye" aria-hidden="true"></i>
 | 
			
		||||
                                                    @lang('messages.view')
 | 
			
		||||
                                                </button>
 | 
			
		||||
                                            @endif
 | 
			
		||||
                                            @if(in_array('delete', $btn_enabled))
 | 
			
		||||
                                                <button type="button" class="btn btn-danger btn-sm delete_form_data m-1" data-href="{{action([\App\Http\Controllers\FormDataController::class, 'destroy'], [$row->id])}}">
 | 
			
		||||
                                                <button type="button" class="btn btn-danger btn-sm delete_form_data m-1"
 | 
			
		||||
                                                        data-href="{{action([\App\Http\Controllers\FormDataController::class, 'destroy'], [$row->id])}}">
 | 
			
		||||
                                                    <i class="fa fa-trash" aria-hidden="true"></i>
 | 
			
		||||
                                                    @lang('messages.delete')
 | 
			
		||||
                                                </button>
 | 
			
		||||
                                            @endif
 | 
			
		||||
                                            <a class="btn btn-primary btn-sm m-1" target="_blank" href="{{action([\App\Http\Controllers\FormDataController::class, 'downloadPdf'], [$row->id])}}">
 | 
			
		||||
                                                <i class="far fa-file-pdf" aria-hidden="true"></i>
 | 
			
		||||
                                                @lang('messages.download_pdf')
 | 
			
		||||
                                            </a>
 | 
			
		||||
                                            @php
 | 
			
		||||
                                                $form_id = !empty($form->slug) ? $form->slug : $form->id;
 | 
			
		||||
                                            @endphp
 | 
			
		||||
                                            <a class="btn btn-dark btn-sm m-1" target="_blank" href="{{action([\App\Http\Controllers\FormDataController::class, 'getEditformData'], ['slug' => $form_id,'id' => $row->id])}}">
 | 
			
		||||
                                            <a class="btn btn-dark btn-sm m-1" target="_blank"
 | 
			
		||||
                                               href="{{action([\App\Http\Controllers\FormDataController::class, 'getEditformData'], ['slug' => $form_id,'id' => $row->id])}}">
 | 
			
		||||
                                                <i class="far fa-edit" aria-hidden="true"></i>
 | 
			
		||||
                                                @lang('messages.edit')
 | 
			
		||||
                                            </a>
 | 
			
		||||
@ -114,18 +118,25 @@
 | 
			
		||||
                                                {{$row['submission_ref']}}
 | 
			
		||||
                                            </td>
 | 
			
		||||
                                        @endif
 | 
			
		||||
 | 
			
		||||
                                        @if(auth()->user()->show_form_response_user)
 | 
			
		||||
                                            <td>{{ $row->submittedBy?->name }}</td>
 | 
			
		||||
                                        @endif
 | 
			
		||||
 | 
			
		||||
                                        @foreach($schema as $row_element)
 | 
			
		||||
                                            @if(in_array($row_element['name'], $col_visible))
 | 
			
		||||
                                                <td>
 | 
			
		||||
                                                    @isset($row->data[$row_element['name']])
 | 
			
		||||
                                                        @if($row_element['type'] == 'file_upload')
 | 
			
		||||
 | 
			
		||||
                                                          @include('form_data.file_view', ['form_upload' => $row->data[$row_element['name']]])
 | 
			
		||||
                                                            @include('form_data.file_view', ['form_upload' => $row->data[$row_element['name']]])
 | 
			
		||||
                                                        @elseif($row_element['type'] == 'signature')
 | 
			
		||||
                                                            @if(!empty($row->data[$row_element['name']]))
 | 
			
		||||
                                                                <a target="_blank" href="{{$row->data[$row_element['name']]}}"
 | 
			
		||||
                                                                    download="Signature">
 | 
			
		||||
                                                                    <img src="{{$row->data[$row_element['name']]}}" class="signature">
 | 
			
		||||
                                                                <a target="_blank"
 | 
			
		||||
                                                                   href="{{$row->data[$row_element['name']]}}"
 | 
			
		||||
                                                                   download="Signature">
 | 
			
		||||
                                                                    <img src="{{$row->data[$row_element['name']]}}"
 | 
			
		||||
                                                                         class="signature">
 | 
			
		||||
                                                                </a>
 | 
			
		||||
                                                            @endif
 | 
			
		||||
                                                        @elseif(is_array($row->data[$row_element['name']]) && $row_element['type'] != 'file_upload')
 | 
			
		||||
@ -133,7 +144,7 @@
 | 
			
		||||
                                                        @else
 | 
			
		||||
                                                            {!! nl2br($row->data[$row_element['name']]) !!}
 | 
			
		||||
                                                        @endif
 | 
			
		||||
                                                        
 | 
			
		||||
 | 
			
		||||
                                                    @endisset
 | 
			
		||||
                                                </td>
 | 
			
		||||
                                            @endif
 | 
			
		||||
@ -147,121 +158,121 @@
 | 
			
		||||
                                        </td>
 | 
			
		||||
                                    </tr>
 | 
			
		||||
                                @endforeach
 | 
			
		||||
                            </tbody>
 | 
			
		||||
                        </table>
 | 
			
		||||
		            @else
 | 
			
		||||
                        <p>Form Not found</p>
 | 
			
		||||
                    @endif
 | 
			
		||||
		        </div>
 | 
			
		||||
    		</div>
 | 
			
		||||
                                </tbody>
 | 
			
		||||
                            </table>
 | 
			
		||||
                        @else
 | 
			
		||||
                            <p>Form Not found</p>
 | 
			
		||||
                        @endif
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
@endsection
 | 
			
		||||
@section('footer')
 | 
			
		||||
<script type="text/javascript">
 | 
			
		||||
    $(document).ready(function(){
 | 
			
		||||
        $('#submitted_data_table').DataTable({
 | 
			
		||||
        scrollY:        "600px",
 | 
			
		||||
        scrollX:        true,
 | 
			
		||||
        scrollCollapse: true,
 | 
			
		||||
        paging:         true,
 | 
			
		||||
        fixedColumns:   {
 | 
			
		||||
            leftColumns: 2
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
        // view form data
 | 
			
		||||
        $(document).on('click', '.view_form_data', function(){
 | 
			
		||||
            var url = $(this).data("href");
 | 
			
		||||
            $.ajax({
 | 
			
		||||
                method: "GET",
 | 
			
		||||
                dataType: "html",
 | 
			
		||||
                url: url,
 | 
			
		||||
                success: function(result){
 | 
			
		||||
                    $("#modal_div").html(result).modal("show");
 | 
			
		||||
    <script type="text/javascript">
 | 
			
		||||
        $(document).ready(function () {
 | 
			
		||||
            $('#submitted_data_table').DataTable({
 | 
			
		||||
                scrollY: "600px",
 | 
			
		||||
                scrollX: true,
 | 
			
		||||
                scrollCollapse: true,
 | 
			
		||||
                paging: true,
 | 
			
		||||
                fixedColumns: {
 | 
			
		||||
                    leftColumns: 2
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        //delete form data
 | 
			
		||||
        $(document).on('click', '.delete_form_data', function(){
 | 
			
		||||
            var url = $(this).data("href");
 | 
			
		||||
            var result = confirm('Are You Sure?');
 | 
			
		||||
            if (result == true) {
 | 
			
		||||
            // view form data
 | 
			
		||||
            $(document).on('click', '.view_form_data', function () {
 | 
			
		||||
                var url = $(this).data("href");
 | 
			
		||||
                $.ajax({
 | 
			
		||||
                    method: "DELETE",
 | 
			
		||||
                    method: "GET",
 | 
			
		||||
                    dataType: "html",
 | 
			
		||||
                    url: url,
 | 
			
		||||
                    dataType: "json",
 | 
			
		||||
                    success: function(result){
 | 
			
		||||
                        if(result.success == true){
 | 
			
		||||
                            toastr.success(result.msg);
 | 
			
		||||
                            setTimeout(function(){
 | 
			
		||||
                                location.reload();
 | 
			
		||||
                            }, 1000);
 | 
			
		||||
                        } else {    
 | 
			
		||||
                            toastr.error(result.msg);
 | 
			
		||||
                        }
 | 
			
		||||
                    success: function (result) {
 | 
			
		||||
                        $("#modal_div").html(result).modal("show");
 | 
			
		||||
                    }
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
        //print form data on btn click
 | 
			
		||||
        $(document).on('click', '.formDataPrintBtn', function() {
 | 
			
		||||
            printElement(document.getElementById("print_form_data"));    
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        $("#modal_div").on('shown.bs.modal', function () {
 | 
			
		||||
            if ($("form#add_comment_form").length) {
 | 
			
		||||
                $("form#add_comment_form").validate();
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        $(document).on('submit', 'form#add_comment_form', function (e) {
 | 
			
		||||
            e.preventDefault();
 | 
			
		||||
            var data = $("form#add_comment_form").serialize();
 | 
			
		||||
            var url = $("form#add_comment_form").attr('action');
 | 
			
		||||
            var ladda = Ladda.create(document.querySelector('.add_comment_btn'));
 | 
			
		||||
            ladda.start();
 | 
			
		||||
            $.ajax({
 | 
			
		||||
                method: "POST",
 | 
			
		||||
                url: url,
 | 
			
		||||
                dataType: "json",
 | 
			
		||||
                data: data,
 | 
			
		||||
                success: function (response) {
 | 
			
		||||
                    ladda.stop();
 | 
			
		||||
                    if (response.success) {
 | 
			
		||||
                        $("#comment").val('');
 | 
			
		||||
                        $('.direct-chat-messages').prepend(response.comment);
 | 
			
		||||
                        toastr.success(response.msg);
 | 
			
		||||
                    } else {
 | 
			
		||||
                        toastr.error(response.msg);
 | 
			
		||||
                    }
 | 
			
		||||
            //delete form data
 | 
			
		||||
            $(document).on('click', '.delete_form_data', function () {
 | 
			
		||||
                var url = $(this).data("href");
 | 
			
		||||
                var result = confirm('Are You Sure?');
 | 
			
		||||
                if (result == true) {
 | 
			
		||||
                    $.ajax({
 | 
			
		||||
                        method: "DELETE",
 | 
			
		||||
                        url: url,
 | 
			
		||||
                        dataType: "json",
 | 
			
		||||
                        success: function (result) {
 | 
			
		||||
                            if (result.success == true) {
 | 
			
		||||
                                toastr.success(result.msg);
 | 
			
		||||
                                setTimeout(function () {
 | 
			
		||||
                                    location.reload();
 | 
			
		||||
                                }, 1000);
 | 
			
		||||
                            } else {
 | 
			
		||||
                                toastr.error(result.msg);
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        $(document).on('click', '.delete-comment', function(e) {
 | 
			
		||||
            e.preventDefault();
 | 
			
		||||
            var element = $(this);
 | 
			
		||||
            var comment_id = $(this).data('comment_id');
 | 
			
		||||
            var form_data_id = $(this).data('form_data_id');
 | 
			
		||||
            if (confirm('Are you sure.?')) {
 | 
			
		||||
            //print form data on btn click
 | 
			
		||||
            $(document).on('click', '.formDataPrintBtn', function () {
 | 
			
		||||
                printElement(document.getElementById("print_form_data"));
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            $("#modal_div").on('shown.bs.modal', function () {
 | 
			
		||||
                if ($("form#add_comment_form").length) {
 | 
			
		||||
                    $("form#add_comment_form").validate();
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            $(document).on('submit', 'form#add_comment_form', function (e) {
 | 
			
		||||
                e.preventDefault();
 | 
			
		||||
                var data = $("form#add_comment_form").serialize();
 | 
			
		||||
                var url = $("form#add_comment_form").attr('action');
 | 
			
		||||
                var ladda = Ladda.create(document.querySelector('.add_comment_btn'));
 | 
			
		||||
                ladda.start();
 | 
			
		||||
                $.ajax({
 | 
			
		||||
                    method:'DELETE',
 | 
			
		||||
                    dataType: 'json',
 | 
			
		||||
                    url: '/form-data-comment/'+comment_id+'?form_data_id='+form_data_id,
 | 
			
		||||
                    success: function(response){
 | 
			
		||||
                    method: "POST",
 | 
			
		||||
                    url: url,
 | 
			
		||||
                    dataType: "json",
 | 
			
		||||
                    data: data,
 | 
			
		||||
                    success: function (response) {
 | 
			
		||||
                        ladda.stop();
 | 
			
		||||
                        if (response.success) {
 | 
			
		||||
                            $("#comment").val('');
 | 
			
		||||
                            $('.direct-chat-messages').prepend(response.comment);
 | 
			
		||||
                            toastr.success(response.msg);
 | 
			
		||||
                            element.closest('.direct-chat-msg').remove();
 | 
			
		||||
                        } else {
 | 
			
		||||
                            toastr.error(response.msg);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            $(document).on('click', '.delete-comment', function (e) {
 | 
			
		||||
                e.preventDefault();
 | 
			
		||||
                var element = $(this);
 | 
			
		||||
                var comment_id = $(this).data('comment_id');
 | 
			
		||||
                var form_data_id = $(this).data('form_data_id');
 | 
			
		||||
                if (confirm('Are you sure.?')) {
 | 
			
		||||
                    $.ajax({
 | 
			
		||||
                        method: 'DELETE',
 | 
			
		||||
                        dataType: 'json',
 | 
			
		||||
                        url: '/form-data-comment/' + comment_id + '?form_data_id=' + form_data_id,
 | 
			
		||||
                        success: function (response) {
 | 
			
		||||
                            if (response.success) {
 | 
			
		||||
                                toastr.success(response.msg);
 | 
			
		||||
                                element.closest('.direct-chat-msg').remove();
 | 
			
		||||
                            } else {
 | 
			
		||||
                                toastr.error(response.msg);
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
</script>
 | 
			
		||||
@endsection
 | 
			
		||||
    </script>
 | 
			
		||||
@endsection
 | 
			
		||||
 | 
			
		||||
@ -71,7 +71,7 @@
 | 
			
		||||
                            </li>
 | 
			
		||||
                        @endif
 | 
			
		||||
                        <li class="nav-item">
 | 
			
		||||
                            <a class="nav-link 
 | 
			
		||||
                            <a class="nav-link
 | 
			
		||||
                                @if(!auth()->user()->can('superadmin') && !Auth::user()->can_create_form)
 | 
			
		||||
                                    active
 | 
			
		||||
                                @endif
 | 
			
		||||
@ -137,7 +137,6 @@
 | 
			
		||||
                                        <tr>
 | 
			
		||||
                                            <th>@lang('messages.name')</th>
 | 
			
		||||
                                            <th>@lang('messages.description')</th>
 | 
			
		||||
                                            <th>@lang('messages.created_by')</th>
 | 
			
		||||
                                            <th>@lang('messages.action')</th>
 | 
			
		||||
                                        </tr>
 | 
			
		||||
                                    </thead>
 | 
			
		||||
@ -215,7 +214,7 @@
 | 
			
		||||
                        if(result.success == true){
 | 
			
		||||
                            toastr.success(result.msg);
 | 
			
		||||
                            form_table.ajax.reload();
 | 
			
		||||
                        } else {    
 | 
			
		||||
                        } else {
 | 
			
		||||
                            toastr.error(result.msg);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
@ -236,7 +235,7 @@
 | 
			
		||||
                        if(result.success == true){
 | 
			
		||||
                            toastr.success(result.msg);
 | 
			
		||||
                            template_table.ajax.reload();
 | 
			
		||||
                        } else {    
 | 
			
		||||
                        } else {
 | 
			
		||||
                            toastr.error(result.msg);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
@ -295,13 +294,11 @@
 | 
			
		||||
                            "columnDefs": [
 | 
			
		||||
                                { "width": "25%", "targets": 0 },
 | 
			
		||||
                                { "width": "40%", "targets": 1 },
 | 
			
		||||
                                { "width": "15%", "targets": 2 },
 | 
			
		||||
                                { "width": "20%", "targets": 3 }
 | 
			
		||||
                                { "width": "20%", "targets": 2 }
 | 
			
		||||
                            ],
 | 
			
		||||
                            columns: [
 | 
			
		||||
                                { data: 'name' , name: 'forms.name'},
 | 
			
		||||
                                { data: 'description' , name: 'forms.description'},
 | 
			
		||||
                                { data: 'created_by' , name: 'users.name', sortable:false},
 | 
			
		||||
                                { data: 'action', name: 'action', sortable:false }
 | 
			
		||||
                            ]
 | 
			
		||||
                        });
 | 
			
		||||
@ -393,4 +390,4 @@
 | 
			
		||||
        @endif
 | 
			
		||||
    });
 | 
			
		||||
</script>
 | 
			
		||||
@endsection
 | 
			
		||||
@endsection
 | 
			
		||||
 | 
			
		||||
@ -40,7 +40,7 @@
 | 
			
		||||
<script src="{{asset('/plugins/countdowntimer/countdowntimer.min.js').'?v='.$asset_version}}"></script>
 | 
			
		||||
 | 
			
		||||
@if(!$is_download)
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    <!-- app js values -->
 | 
			
		||||
    <script type="application/javascript">
 | 
			
		||||
        var APP = {};
 | 
			
		||||
@ -69,7 +69,7 @@
 | 
			
		||||
        function printElement(elem) {
 | 
			
		||||
            var domClone = elem.cloneNode(true);
 | 
			
		||||
            var printSection = document.getElementById("printSection");
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            if (!printSection) {
 | 
			
		||||
                var printSection = document.createElement("div");
 | 
			
		||||
                printSection.id = "printSection";
 | 
			
		||||
@ -129,7 +129,7 @@
 | 
			
		||||
            toastr.error("{{ __('messages.some_error_in_input_field') }}");
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    $(document).ready(function(){
 | 
			
		||||
        @if(!$is_download)
 | 
			
		||||
            jQuery.extend($.fn.dataTable.defaults, {
 | 
			
		||||
@ -138,34 +138,7 @@
 | 
			
		||||
                    [25, 50, 100, 200, 500, 1000, -1], [25, 50, 100, 200, 500, 1000, "{{__('messages.all')}}"]
 | 
			
		||||
                ],
 | 
			
		||||
                iDisplayLength: 25,
 | 
			
		||||
                dom: 'lBfrtip',
 | 
			
		||||
                buttons: [
 | 
			
		||||
                    {
 | 
			
		||||
                        extend: 'copy',
 | 
			
		||||
                        text: "{{__('messages.copy')}}",
 | 
			
		||||
                        exportOptions: {
 | 
			
		||||
                            columns: ':visible',
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        extend: 'excel',
 | 
			
		||||
                        text: "{{__('messages.excel')}}",
 | 
			
		||||
                        exportOptions: {
 | 
			
		||||
                            columns: ':visible',
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        extend: 'csv',
 | 
			
		||||
                        text: "{{__('messages.csv')}}",
 | 
			
		||||
                        exportOptions: {
 | 
			
		||||
                            columns: ':visible',
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        extend: 'colvis',
 | 
			
		||||
                        text: "{{__('messages.column_visibility')}}",
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                dom: 'lfrtip',
 | 
			
		||||
                "language": {
 | 
			
		||||
                    "emptyTable": "{{__('messages.emptyTable')}}",
 | 
			
		||||
                    "info": "{{__('messages.dt_info')}}",
 | 
			
		||||
@ -269,10 +242,10 @@
 | 
			
		||||
            },
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    Dropzone.autoDiscover = false;
 | 
			
		||||
    function initialize_dropzone(element_name, file_upload_msg, no_of_files_can_be_uploaded, max_file_size, allowed_file_type, url = null) {
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        var file_remove_url = "library/delete_file.php";
 | 
			
		||||
        if (url == null) {
 | 
			
		||||
            url = "{{ url('/file-upload')}}";
 | 
			
		||||
@ -333,11 +306,11 @@
 | 
			
		||||
                            if(result.success == 1){
 | 
			
		||||
                                toastr.success(result.msg);
 | 
			
		||||
                                var index = file_names.indexOf(file.uploaded_as);
 | 
			
		||||
                    
 | 
			
		||||
 | 
			
		||||
                                if(index!=-1){
 | 
			
		||||
                                   file_names.splice(index, 1);
 | 
			
		||||
                                }
 | 
			
		||||
                                
 | 
			
		||||
 | 
			
		||||
                                var elementVal = $('input#'+element_name).val();
 | 
			
		||||
                                var oldVal = elementVal.split(",");
 | 
			
		||||
 | 
			
		||||
@ -373,12 +346,12 @@
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function initialize_text_editor(element_name, placeholder, height) {
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        $('#'+element_name).summernote({
 | 
			
		||||
            placeholder: placeholder,
 | 
			
		||||
            height: height
 | 
			
		||||
        });
 | 
			
		||||
    }   
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function initialize_star_rating(element_name)  {
 | 
			
		||||
        $("#"+element_name).rating({
 | 
			
		||||
@ -415,18 +388,18 @@
 | 
			
		||||
        var signaturePad = element;
 | 
			
		||||
        var canvas = document.getElementById(element);
 | 
			
		||||
        signaturePad = new SignaturePad(canvas, {
 | 
			
		||||
            onEnd: function(event) {                
 | 
			
		||||
            onEnd: function(event) {
 | 
			
		||||
                var element = $(this)[0]._canvas.id
 | 
			
		||||
                var signature = $(this)[0].toDataURL();
 | 
			
		||||
                $('#output_'+element).val(signature);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        if ($('#output_'+element).val().length > 0) {
 | 
			
		||||
 | 
			
		||||
            signaturePad.fromDataURL($('#output_'+element).val());
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        $(document).on('click', '#clear_'+element, function() {
 | 
			
		||||
           signaturePad.clear();
 | 
			
		||||
           $('#output_'+$(this).data('name')).val('');
 | 
			
		||||
@ -476,5 +449,5 @@
 | 
			
		||||
@if(!$is_download && !isset($nav))
 | 
			
		||||
    @if(!empty($__additional_js))
 | 
			
		||||
        {!!$__additional_js!!}
 | 
			
		||||
    @endif    
 | 
			
		||||
@endif
 | 
			
		||||
    @endif
 | 
			
		||||
@endif
 | 
			
		||||
 | 
			
		||||
@ -21,7 +21,7 @@
 | 
			
		||||
 | 
			
		||||
                            <input type="text" class="form-control"
 | 
			
		||||
                            name="name" id="name" required>
 | 
			
		||||
                        </div>    
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="col-md-6">
 | 
			
		||||
                        <div class="form-group">
 | 
			
		||||
@ -32,7 +32,7 @@
 | 
			
		||||
 | 
			
		||||
                            <input type="email" class="form-control"
 | 
			
		||||
                            name="email" id="email" required>
 | 
			
		||||
                        </div>    
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="row">
 | 
			
		||||
@ -45,7 +45,7 @@
 | 
			
		||||
 | 
			
		||||
                            <input type="password" class="form-control"
 | 
			
		||||
                            name="password" id="password" required>
 | 
			
		||||
                        </div>    
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="row">
 | 
			
		||||
@ -76,6 +76,25 @@
 | 
			
		||||
                            </label>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
 | 
			
		||||
                    <div class="col-md-4">
 | 
			
		||||
                        <div class="form-group form-check">
 | 
			
		||||
                            <input type="checkbox" class="form-check-input" name="show_form_response_user" id="show_form_response_user" value="1">
 | 
			
		||||
                            <label class="form-check-label" for="show_form_response_user">
 | 
			
		||||
                                @lang('messages.show_form_response_user')
 | 
			
		||||
                                <i class="fas fa-info-circle text-info" data-toggle="tooltip" title="@lang('messages.show_form_response_user_tooltip')"></i>
 | 
			
		||||
                            </label>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="col-md-4">
 | 
			
		||||
                        <div class="form-group form-check">
 | 
			
		||||
                            <input type="checkbox" class="form-check-input" name="show_edit_buttons_form" id="show_edit_buttons_form" value="1">
 | 
			
		||||
                            <label class="form-check-label" for="show_edit_buttons_form">
 | 
			
		||||
                                @lang('messages.show_edit_buttons_form')
 | 
			
		||||
                                <i class="fas fa-info-circle text-info" data-toggle="tooltip" title="@lang('messages.show_edit_buttons_form_tooltip')"></i>
 | 
			
		||||
                            </label>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="card assign-form p-3">
 | 
			
		||||
                    <div class="row">
 | 
			
		||||
@ -95,7 +114,7 @@
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <h5>@lang('messages.permission_for_forms'):</h5>
 | 
			
		||||
                    <div class="row">                    
 | 
			
		||||
                    <div class="row">
 | 
			
		||||
                        <div class="col-md-4">
 | 
			
		||||
                            <div class="form-group form-check">
 | 
			
		||||
                                <input type="checkbox" class="form-check-input" name="permissions[]" id="form_design" value="can_design_form">
 | 
			
		||||
@ -136,4 +155,4 @@
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </form>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,7 @@
 | 
			
		||||
 | 
			
		||||
                            <input type="text" class="form-control"
 | 
			
		||||
                            name="name" id="name" value="{{$user->name}}" required>
 | 
			
		||||
                        </div>    
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="col-md-6">
 | 
			
		||||
                        <div class="form-group">
 | 
			
		||||
@ -33,7 +33,7 @@
 | 
			
		||||
 | 
			
		||||
                            <input type="email" class="form-control"
 | 
			
		||||
                            name="email" id="email" value="{{$user->email}}" required>
 | 
			
		||||
                        </div>    
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="row">
 | 
			
		||||
@ -47,7 +47,7 @@
 | 
			
		||||
                            <small id="passwordHelp" class="form-text text-muted">
 | 
			
		||||
                                @lang('messages.dont_want_to_change_keep_it_blank')
 | 
			
		||||
                            </small>
 | 
			
		||||
                        </div>    
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="row">
 | 
			
		||||
@ -78,6 +78,25 @@
 | 
			
		||||
                            </label>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
 | 
			
		||||
                    <div class="col-md-4">
 | 
			
		||||
                        <div class="form-group form-check">
 | 
			
		||||
                            <input type="checkbox" class="form-check-input" name="show_form_response_user" id="show_form_response_user" value="1" @if($user->show_form_response_user) checked @endif>
 | 
			
		||||
                            <label class="form-check-label" for="show_form_response_user">
 | 
			
		||||
                                @lang('messages.show_form_response_user')
 | 
			
		||||
                                <i class="fas fa-info-circle text-info" data-toggle="tooltip" title="@lang('messages.show_form_response_user_tooltip')"></i>
 | 
			
		||||
                            </label>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="col-md-4">
 | 
			
		||||
                        <div class="form-group form-check">
 | 
			
		||||
                            <input type="checkbox" class="form-check-input" name="show_edit_buttons_form" id="show_edit_buttons_form" value="1" @if($user->show_edit_buttons_form) checked @endif>
 | 
			
		||||
                            <label class="form-check-label" for="show_edit_buttons_form">
 | 
			
		||||
                                @lang('messages.show_edit_buttons_form')
 | 
			
		||||
                                <i class="fas fa-info-circle text-info" data-toggle="tooltip" title="@lang('messages.show_edit_buttons_form_tooltip')"></i>
 | 
			
		||||
                            </label>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                @if(auth()->user()->id != $user->id)
 | 
			
		||||
                    @php
 | 
			
		||||
@ -91,7 +110,7 @@
 | 
			
		||||
                                    <i class="fab fa-wpforms"></i>
 | 
			
		||||
                                    {{$assigned_form->form->name}}
 | 
			
		||||
                                </label>
 | 
			
		||||
                                <div class="row">  
 | 
			
		||||
                                <div class="row">
 | 
			
		||||
                                    <input type="hidden" name="edit_assigned_form_id[]" value="{{$assigned_form->id}}">
 | 
			
		||||
                                    <div class="col-md-4">
 | 
			
		||||
                                        <div class="form-group form-check">
 | 
			
		||||
@ -194,4 +213,4 @@
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </form>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user