Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 17008 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
17007 efrain 1
<?php
2
$acl            = $this->viewModel()->getRoot()->getVariable('acl');
3
$currentUser    = $this->currentUserHelper();
4
 
5
$roleName = $currentUser->getUserTypeId();
6
 
7
 
8
$routeAdd       = $this->url('habits/skills/add');
9
$routeDatatable = $this->url('habits/skills');
10
$routeDashboard = $this->url('dashboard');
11
 
12
$allowAdd               = $acl->isAllowed($roleName, 'habits/skills/add') ? 1 : 0;
13
$allowEdit              = $acl->isAllowed($roleName, 'habits/skills/edit') ? 1 : 0;
14
$allowDelete            = $acl->isAllowed($roleName, 'habits/skills/delete') ? 1 : 0;
15
 
16
 
17
$this->inlineScript()->appendFile($this->basePath('assets/vendors/ckeditor/ckeditor.js'));
18
 
19
 
20
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/nprogress/nprogress.css'));
21
$this->inlineScript()->appendFile($this->basePath('assets/vendors/nprogress/nprogress.js'));
22
 
23
 
24
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap4-toggle/css/bootstrap4-toggle.min.css'));
25
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap4-toggle/js/bootstrap4-toggle.min.js'));
26
 
27
 
28
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net/jquery.dataTables.js'));
29
 
30
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.css'));
31
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/datatables.net-bs5-responsive/responsive.bootstrap5.css'));
32
 
33
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net/jquery.dataTables.js'));
34
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.js'));
35
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5-responsive/dataTables.responsive.min.js'));
36
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5-responsive/responsive.bootstrap5.min.js'));
37
 
38
$this->inlineScript()->appendFile($this->basePath('assets/vendors/moment/moment-with-locales.min.js'));
39
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css'));
40
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js'));
41
 
42
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-maxlength/bootstrap-maxlength.min.js'));
43
 
44
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/select2/css/select2.min.css'));
45
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/select2-bootstrap5-theme/select2-bootstrap-5-theme.css'));
46
$this->inlineScript()->appendFile($this->basePath('assets/vendors/select2/js/select2.min.js'));
47
 
48
$this->inlineScript()->appendFile($this->basePath('assets/vendors/jquery-input-number/input-number-format.jquery.js'));
49
 
50
$this->inlineScript()->captureStart();
51
echo <<<JS
52
    jQuery( document ).ready(function( $ ) {
53
 
54
 
55
 
56
 
57
        var allowEdit   = $allowEdit;
58
        var allowDelete = $allowDelete;
59
 
60
        var gridTable = $('#gridTable').dataTable( {
61
            'processing': true,
62
            'serverSide': true,
63
            'searching': true,
64
            'order': [[ 0, 'asc' ]],
65
            'ordering':  true,
66
            'ordenable' : true,
67
            'responsive': true,
68
            'select' : false,
69
        	'paging': true,
70
            'pagingType': 'simple_numbers',
71
    		'ajax': {
72
    			'url' : '$routeDatatable',
73
    			'type' : 'get',
74
                'beforeSend': function (request) {
75
                  NProgress.start();
76
                },
77
                'dataFilter': function(response) {
78
                    var response = jQuery.parseJSON( response );
79
 
80
                    var json                = {};
81
                    json.recordsTotal       = 0;
82
                    json.recordsFiltered    = 0;
83
                    json.data               = [];
84
 
85
 
86
                    if(response.success) {
87
                        json.recordsTotal       = response.data.total;
88
                        json.recordsFiltered    = response.data.total;
89
                        json.data               = response.data.items;
90
                    } else {
91
                        $.fn.showError(response.data)
92
                    }
93
 
94
                    return JSON.stringify( json );
95
                }
96
    		},
97
            'language' : {
98
                'sProcessing':     'LABEL_DATATABLE_SPROCESSING',
99
                'sLengthMenu':     'LABEL_DATATABLE_SLENGTHMENU',
100
                'sZeroRecords':    'LABEL_DATATABLE_SZERORECORDS',
101
                'sEmptyTable':     'LABEL_DATATABLE_SEMPTYTABLE',
102
                'sInfo':           'LABEL_DATATABLE_SINFO',
103
                'sInfoEmpty':      'LABEL_DATATABLE_SINFOEMPTY',
104
                'sInfoFiltered':   'LABEL_DATATABLE_SINFOFILTERED',
105
                'sInfoPostFix':    '',
106
                'sSearch':         'LABEL_DATATABLE_SSEARCH',
107
                'sUrl':            '',
108
                'sInfoThousands':  ',',
109
                'sLoadingRecords': 'LABEL_DATATABLE_SLOADINGRECORDS',
110
                'oPaginate': {
111
                    'sFirst':    'LABEL_DATATABLE_SFIRST',
112
                    'sLast':     'LABEL_DATATABLE_SLAST',
113
                    'sNext':     'LABEL_DATATABLE_SNEXT',
114
                    'sPrevious': 'LABEL_DATATABLE_SPREVIOUS'
115
                },
116
                'oAria': {
117
                    'sSortAscending':  ': LABEL_DATATABLE_SSORTASCENDING',
118
                    'sSortDescending': ':LABEL_DATATABLE_SSORTDESCENDING'
119
                },
120
            },
121
            'drawCallback': function( settings ) {
122
                NProgress.done();
123
 
124
            },
125
            'aoColumns': [
126
                { 'mDataProp': 'name' },
127
                { 'mDataProp': 'intelligence' },
128
                { 'mDataProp': 'actions' },
129
    	    ],
130
            'columnDefs': [
131
                {
132
                    'targets': 0,
133
                    'className' : 'text-vertical-middle',
134
                },
135
                {
136
                    'targets': 1,
137
                    'className' : 'text-vertical-middle',
138
                },
139
                {
140
                    'targets': 2,
141
                    'orderable': false,
142
                    'render' : function ( data, type, row ) {
143
                        s = '';
144
 
145
                        if(allowEdit) {
146
                            s = s + '<button class="btn btn-primary btn-edit" data-href="' + data['link_edit']+ '" data-toggle="tooltip" title="LABEL_EDIT"><i class="fa fa-pen"></i> LABEL_EDIT </button>&nbsp;';
147
                        }
148
                        if(allowDelete) {
149
                            s = s + '<button class="btn btn-danger btn-delete" data-href="' + data['link_delete']+ '" data-toggle="tooltip" title="LABEL_DELETE"><i class="fa fa-trash"></i> LABEL_DELETE </button>&nbsp;';
150
                        }
151
                        return s;
152
                    }
153
                }
154
              ],
155
        });
156
 
157
 
158
        var validator = $('#form').validate({
159
            debug: true,
160
            onclick: false,
161
            onkeyup: false,
162
            ignore: [],
163
            rules: {
164
                'name': {
165
                    required: true,
166
                    maxlength: 100,
167
                },
168
                'description': {
169
                   maxlength: 500,
170
                },
171
                'quantitative_value': {
172
                    required: true,
173
 
174
                },
175
                'qualitative_description': {
176
                    required: true,
177
 
178
                },
179
 
180
            },
181
            submitHandler: function(form)
17019 efrain 182
            {
183
                NProgress.start();
17007 efrain 184
                $.ajax({
185
                    'dataType'  : 'json',
186
                    'accept'    : 'application/json',
187
                    'method'    : 'post',
188
                    'url'       :  $('#form').attr('action'),
189
                    'data'      :  $('#form').serialize()
190
                }).done(function(response) {
17019 efrain 191
 
17007 efrain 192
                    if(response['success']) {
193
                        $.fn.showSuccess(response['message' ]);
194
 
195
                        $('#modal').modal('hide');
196
 
197
 
198
                         gridTable.api().ajax.reload(null, false);
199
                    } else {
200
                        validator.resetForm();
201
                        if(jQuery.type(response['data']) == 'string') {
202
                            $.fn.showError(response['data']);
203
                        } else  {
204
                            $.each(response['data'], function( fieldname, errors ) {
205
                                $.fn.showFormErrorValidator('#form #' + fieldname, errors);
206
                            });
207
                        }
208
                    }
209
                }).fail(function( jqXHR, textStatus, errorThrown) {
210
                   $.fn.showError(textStatus);
211
                }).always(function() {
212
                    NProgress.done();
213
                });
214
                return false;
215
            },
216
            invalidHandler: function(form, validator) {
217
 
218
            }
219
        });
220
 
221
        $('body').on('click', 'button.btn-add', function(e) {
222
            e.preventDefault();
223
 
224
            $('.nav-tabs a[href="#general"]').tab('show')
225
 
226
            $('#form').attr('action', '$routeAdd');
227
            $('#form #name').val('');
228
            $('#form #description').val('');
229
            $('#form #quantitative_value').val('0');
230
            $('#form #qualitative_description').val('');
231
            $('#form #notification_10min_before').prop('checked', false);
232
            $('#form #notification_30min_before').prop('checked', false);
233
            $('#form #monday_active').prop('checked', false);
234
            $('#form #tuesday_active').prop('checked', false);
235
            $('#form #wednesday_active').prop('checked', false);
236
            $('#form #thursday_active').prop('checked', false);
237
            $('#form #friday_active').prop('checked', false);
238
            $('#form #saturday_active').prop('checked', false);
239
            $('#form #sunday_active').prop('checked', false);
240
            $('#form #monday_hour').prop('selectedIndex', 0);
241
            $('#form #monday_minute').prop('selectedIndex', 0);
242
            $('#form #tuesday_hour').prop('selectedIndex', 0);
243
            $('#form #tuesday_minute').prop('selectedIndex', 0);
244
            $('#form #wednesday_hour').prop('selectedIndex', 0);
245
            $('#form #wednesday_minute').prop('selectedIndex', 0);
246
            $('#form #thursday_hour').prop('selectedIndex', 0);
247
            $('#form #thursday_minute').prop('selectedIndex', 0);
248
            $('#form #friday_hour').prop('selectedIndex', 0);
249
            $('#form #friday_minute').prop('selectedIndex', 0);
250
            $('#form #saturday_hour').prop('selectedIndex', 0);
251
            $('#form #saturday_minute').prop('selectedIndex', 0);
252
            $('#form #sunday_hour').prop('selectedIndex', 0);
253
            $('#form #sunday_minute').prop('selectedIndex', 0);
254
            $('#form #intelligence').prop('selectedIndex', 0);
255
 
256
 
257
            validator.resetForm();
258
            $('#modal').modal('show');
259
        });
260
 
261
        $('body').on('click', 'button.btn-edit', function(e) {
262
            e.preventDefault();
263
            NProgress.start();
264
            var action = $(this).data('href');
265
 
266
            $.ajax({
267
                'dataType'  : 'json',
268
                'accept'    : 'application/json',
269
                'method'    : 'get',
270
                'url'       :  action,
271
            }).done(function(response) {
272
                if(response['success']) {
273
 
274
 
275
                    $('#form').attr('action', action);
276
                    $('#form #name').val(response['data']['name']);
277
                    $('#form #description').val(response['data']['description']);
278
                    $('#form #quantitative_value').val(response['data']['quantitative_value']);
279
                    $('#form #qualitative_description').val(response['data']['qualitative_description']);
280
                    $('#form #notification_10min_before').prop('checked', response['data']['notification_10min_before']);
281
                    $('#form #notification_30min_before').prop('checked', response['data']['notification_30min_before']);
282
                    $('#form #monday_active').prop('checked', response['data']['monday_active']);
283
                    $('#form #tuesday_active').prop('checked', response['data']['tuesday_active']);
284
                    $('#form #wednesday_active').prop('checked', response['data']['wednesday_active']);
285
                    $('#form #thursday_active').prop('checked', response['data']['thursday_active']);
286
                    $('#form #friday_active').prop('checked', response['data']['friday_active']);
287
                    $('#form #saturday_active').prop('checked', response['data']['saturday_active']);
288
                    $('#form #sunday_active').prop('checked', response['data']['sunday_active']);
289
                    $('#form #monday_hour').val(response['data']['monday_hour']);
290
                    $('#form #monday_minute').val(response['data']['monday_minute']);
291
                    $('#form #tuesday_hour').val(response['data']['tuesday_hour']);
292
                    $('#form #tuesday_minute').val(response['data']['tuesday_minute']);
293
                    $('#form #wednesday_hour').val(response['data']['wednesday_hour']);
294
                    $('#form #wednesday_minute').val(response['data']['wednesday_minute']);
295
                    $('#form #thursday_hour').val(response['data']['thursday_hour']);
296
                    $('#form #thursday_minute').val(response['data']['thursday_minute']);
297
                    $('#form #friday_hour').val(response['data']['friday_hour']);
298
                    $('#form #friday_minute').val(response['data']['friday_minute']);
299
                    $('#form #saturday_hour').val(response['data']['saturday_hour']);
300
                    $('#form #saturday_minute').val(response['data']['saturday_minute']);
301
                    $('#form #sunday_hour').val(response['data']['sunday_hour']);
302
                    $('#form #sunday_minute').val(response['data']['sunday_minute']);
303
                    $('#form #intelligence').val(response['data']['intelligence']);
304
 
305
 
306
                    validator.resetForm();
307
 
308
                    $('#modal').modal('show');
309
                } else {
310
                    $.fn.showError(response['data']);
311
                }
312
            }).fail(function( jqXHR, textStatus, errorThrown) {
313
                $.fn.showError(textStatus);
314
            }).always(function() {
315
                NProgress.done();
316
            });
317
        });
318
 
319
    $('body').on('click', 'button.btn-delete', function(e) {
320
        e.preventDefault();
321
        var action = $(this).data('href');
322
 
323
 
324
          swal.fire({
325
            title: 'LABEL_ARE_YOU_SURE',
326
            icon: 'question',
327
            cancelButtonText: 'LABEL_NO',
328
            showCancelButton: true,
329
            confirmButtonText: 'LABEL_YES'
330
          }).then((result) => {
331
            if (result.isConfirmed) {
332
 
333
                    NProgress.start();
334
                    $.ajax({
335
                        'dataType'  : 'json',
336
                        'accept'    : 'application/json',
337
                        'method'    : 'post',
338
                        'url'       :  action,
339
                    }).done(function(response) {
340
                        if(response['success']) {
341
                            $.fn.showSuccess(response['data']);
342
                            gridTable.api().ajax.reload(null, false);
343
                        } else {
344
                            $.fn.showError(response['data']);
345
                        }
346
                    }).fail(function( jqXHR, textStatus, errorThrown) {
347
                        $.fn.showError(textStatus);
348
                    }).always(function() {
349
                        NProgress.done();
350
                    });
351
                }
352
           });
353
 
354
        });
355
 
356
        $('body').on('click', 'button.btn-refresh', function(e) {
357
            e.preventDefault();
358
            gridTable.api().ajax.reload(null, false);
359
        });
360
 
361
 
362
        $('body').on('click', 'button.btn-cancel', function(e) {
363
            e.preventDefault();
364
            $('#modal').modal('hide');
365
        });
366
 
367
 
368
        $('#form #quantitative_value').inputNumberFormat({decimal: 2});
369
 
370
        $('#form #description').maxlength({
371
            alwaysShow: true,
372
            validate: true
373
        });
374
 
375
 
376
    });
377
JS;
378
$this->inlineScript()->captureEnd();
379
?>
380
 
381
 
382
 
383
<div class="container">
384
    	<div class="row">
385
        	<div class="col-12 mt-3">
386
				<div class="card">
387
 
388
					<div class="card-body">
389
					<h6 class="card-title">LABEL_SKILLS</h6>
390
						<div class="row">
391
							<div class="col-12  mt-3">
392
    							<table id="gridTable" class="table   table-bordered">
393
                              		<thead>
394
                						<tr>
395
                                        	<th>LABEL_NAME</th>
396
                                        	<th>LABEL_INTELLIGENCE</th>
397
                                          	<th>LABEL_ACTIONS</th>
398
                                        </tr>
399
                               		</thead>
400
                                 	<tbody>
401
                                 	</tbody>
402
                            	</table>
403
							</div>
404
						</div>
405
 
406
                   	</div>
407
                   	<div class="card-footer text-right">
408
 
409
							<button type="button" class="btn btn-info btn-refresh"><i class="fa fa-sync"></i> LABEL_REFRESH  </button>
410
							<?php if($allowAdd) : ?>
411
							<button type="button" class="btn btn-primary btn-add"><i class="fa fa-plus"></i> LABEL_ADD </button>
412
							<?php endif; ?>
413
 
414
                 	</div>
415
          		</div>
416
           	</div>
417
        </div>
418
</div>
419
 
420
<!-- The Modal -->
421
<div class="modal" id="modal">
17008 efrain 422
	<div class="modal-dialog  modal-md">
17007 efrain 423
    	<div class="modal-content">
424
 
425
            <!-- Modal Header -->
426
      		<div class="modal-header">
427
        		<h6 class="modal-title">LABEL_SKILLS</h6>
428
        		<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="btn-close"></button>
429
      		</div>
430
 
431
      		<?php
432
            $form = $this->form;
433
            $form->setAttributes([
434
                'method'    => 'post',
435
                'name'      => 'form',
436
                'id'        => 'form'
437
            ]);
438
 
439
            $form->prepare();
440
            echo $this->form()->openTag($form);
441
            ?>
442
 
443
            <!-- Modal body -->
444
      		<div class="modal-body">
445
      			<ul class="nav nav-tabs" id="myTab" role="tablist">
446
  					<li class="nav-item">
447
    					<a class="nav-link active" id="general-tab" data-bs-toggle="tab" href="#general" role="tab" aria-controls="general" aria-selected="true">LABEL_GENERAL</a>
448
  					</li>
449
  					<li class="nav-item">
450
    					<a class="nav-link" id="calendar-tab" data-bs-toggle="tab" href="#calendar" role="tab" aria-controls="calendar" aria-selected="false">LABEL_CALENDAR</a>
451
  					</li>
452
  					<li class="nav-item">
453
    					<a class="nav-link" id="notification-tab" data-bs-toggle="tab" href="#notification" role="tab" aria-controls="notification" aria-selected="false">LABEL_NOTIFICATION</a>
454
  					</li>
455
  				</ul>
456
				<div class="tab-content border border-top-0 p-3" id="myTabContent">
457
  					<div class="tab-pane fade show active" id="general" role="tabpanel" aria-labelledby="general-tab">
458
 
459
 
460
  						<div class="row">
461
    						<div class="col  mt-3">
462
    						<?php
463
                            $element = $form->get('name');
464
                            $element->setOptions(['label' => 'LABEL_NAME']);
465
                            $element->setAttributes(['class' => 'form-control', 'maxlength' => 100]);
466
 
467
                            echo $this->formLabel($element);
468
                            echo $this->formText($element);
469
                            ?>
470
                            </div>
471
						</div>
472
    					<div class="row">
473
    						<div class="col  mt-3">
474
                        	<?php
475
                                $element = $form->get('description');
476
                                $element->setOptions(['label' => 'LABEL_DESCRIPTION']);
477
                                $element->setAttributes(['class' => 'form-control', 'maxlength' => 500]);
478
 
479
                                echo $this->formLabel($element);
480
                                echo $this->formTextArea($element);
481
                            ?>
482
                   			</div>
483
						</div>
484
 
485
						<div class="row">
486
    						<div class="col  mt-3">
487
                        	<?php
488
                                $element = $form->get('quantitative_value');
489
                                $element->setOptions(['label' => 'LABEL_QUANTITATIVE_VALUE']);
490
                                $element->setAttributes(['class' => 'form-control', 'maxlength' => 5]);
491
 
492
                                echo $this->formLabel($element);
493
                                echo $this->formText($element);
494
                            ?>
495
                   			</div>
496
						</div>
497
 
498
						<div class="row">
499
    						<div class="col  mt-3">
500
                        	<?php
501
                                $element = $form->get('qualitative_description');
502
                                $element->setOptions(['label' => 'LABEL_QUALITATIVE_DESCRIPTION']);
503
                                $element->setAttributes(['class' => 'form-control', 'maxlength' => 50]);
504
 
505
                                echo $this->formLabel($element);
506
                                echo $this->formText($element);
507
                            ?>
508
                   			</div>
509
						</div>
510
 
511
 
512
  						<div class="row">
513
    						<div class="col  mt-3">
514
                        	<?php
515
                                $element = $form->get('intelligence');
516
                                $element->setOptions(['label' => 'LABEL_INTELLIGENCE']);
517
                                $element->setAttributes(['class' => 'form-control']);
518
 
519
                                echo $this->formLabel($element);
520
                                echo $this->formSelect($element);
521
                            ?>
522
                   			</div>
523
						</div>
524
 
525
 
526
 
527
  					</div>
528
 
529
  					<div class="tab-pane fade" id="calendar" role="tabpanel" aria-labelledby="calendar-tab">
530
  						<div class="row">
531
  							<div class="col-12 mt-3">
532
          						<table class="table table-bordered">
533
            						<thead>
534
            							<tr>
535
                							<th>LABEL_DAY</th>
536
                							<th>LABEL_ACTIVE</th>
537
                    						<th>LABEL_HOUR</th>
538
                    						<th>LABEL_MINUTE</th>
17008 efrain 539
              						</tr>
17007 efrain 540
            						</thead>
541
            						<tbody>
542
            							<?php
543
            							     $days = [
544
            							         'monday',
545
            							         'tuesday',
546
            							         'wednesday',
547
            							         'thursday',
548
            							         'friday',
549
            							         'saturday',
550
            							         'sunday',
551
            							     ];
17008 efrain 552
 
17007 efrain 553
            							     foreach($days as $day) :
554
 
555
            							     $label      = 'LABEL_' . strtoupper($day);
556
            							     $checkbox   = $day . '_active';
557
            							     $hour       = $day . '_hour';
558
            							     $minute     = $day . '_minute';
559
 
560
 
561
 
562
            							?>
17008 efrain 563
            								<tr>
17007 efrain 564
            								<td><?php echo $label ?></td>
565
            								<td>
566
            									<div class="form-check form-check-inline">
567
            										<?php
568
            										    $element = $form->get($checkbox);
569
                                                        $element->setAttributes(['class' => 'form-check-input']);
570
                                                        echo $this->formCheckbox($element);
571
                                                    ?>
572
                                				</div>
573
            								</td>
574
            								<td>
575
            									<?php
576
                                                    $element = $form->get($hour);
577
                                                    $element->setAttributes(['class' => 'form-control']);
578
                                                    echo $this->formSelect($element);
579
                                                ?>
580
            								</td>
581
            								<td>
582
            									<?php
583
                                                    $element = $form->get($minute);
584
                                                    $element->setAttributes(['class' => 'form-control']);
585
                                                    echo $this->formSelect($element);
586
                                                ?>
587
            								</td>
17008 efrain 588
            							</tr>
589
 
590
            							<?php endforeach; ?>
17007 efrain 591
 
592
            						</tbody>
593
            					</table>
594
 
595
 
596
 
597
  							</div>
598
 
599
 
600
  						</div>
601
 
602
 
603
  					</div>
604
 
605
 
606
 
607
  					<div class="tab-pane fade" id="notification" role="tabpanel" aria-labelledby="notification-tab">
608
  						<div class="row">
609
  							<div class="col-12 mt-3">
610
  								<div class="form-check form-check-inline mt-3">
611
                                    <?php
612
                                    $element = $form->get( 'notification_10min_before');
613
                                    $element->setOptions(['label' => 'LABEL_NOTIFICATION_10_MIN_BEFORE', 'class' => 'form-check-label']);
614
                                    $element->setAttributes(['class' => 'form-check-input']);
615
                                    echo $this->formCheckbox($element);
616
                                    echo $this->formLabel($element);
617
                                    ?>
618
                              	</div>
619
 
620
  								<br/>
621
  								<div class="form-check form-check-inline mt-3">
622
                                    <?php
623
                                    $element = $form->get('notification_30min_before');
624
                                    $element->setOptions(['label' => 'LABEL_NOTIFICATION_30_MIN_BEFORE', 'class' => 'form-check-label']);
625
                                    $element->setAttributes(['class' => 'form-check-input']);
626
                                    echo $this->formCheckbox($element);
627
                                    echo $this->formLabel($element);
628
                                    ?>
629
                              	</div>
630
 
631
  							</div>
632
  						</div>
633
  					</div>
634
 
635
				</div>
636
 
637
 
638
 
639
 
640
 
641
      		</div>
642
 
643
            <!-- Modal footer -->
644
      		<div class="modal-footer text-right">
645
        		 <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
646
       			<button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
647
      		</div>
648
      		<?php echo $this->form()->closeTag($form); ?>
649
 
650
    	</div>
651
	</div>
652
</div>
653
 
654
 
655
 
656
 
657