Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 16912 | Rev 16943 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
16701 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('fast-survey/add');
9
$routeDatatable = $this->url('fast-survey');
10
 
11
$allowAdd       = $acl->isAllowed($roleName, 'fast-survey/add') ? 1 : 0;
12
$allowEdit      = $acl->isAllowed($roleName, 'fast-survey/edit') ? 1 : 0;
13
$allowDelete    = $acl->isAllowed($roleName, 'fast-survey/delete') ? 1 : 0;
16747 efrain 14
$allowChart    = $acl->isAllowed($roleName, 'fast-survey/chart') ? 1 : 0;
16701 efrain 15
$allowDownload  = $acl->isAllowed($roleName, 'fast-survey/download') ? 1 : 0;
16
 
16822 efrain 17
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/nprogress/nprogress.css'));
18
$this->inlineScript()->appendFile($this->basePath('assets/vendors/nprogress/nprogress.js'));
16701 efrain 19
 
20
 
16929 efrain 21
 
22
 
23
 
16822 efrain 24
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.css'));
16701 efrain 25
 
16822 efrain 26
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net/jquery.dataTables.js'));
27
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.js'));
16701 efrain 28
 
29
 
16822 efrain 30
$this->inlineScript()->appendFile($this->basePath('assets/vendors/jquery-input-number/input-number-format.jquery.js'));
16701 efrain 31
 
32
 
33
 
16747 efrain 34
 
35
 
16822 efrain 36
$this->inlineScript()->appendFile($this->basePath('assets/vendors/chart.js/chart.js'));
37
$this->inlineScript()->appendFile($this->basePath('assets/vendors/chartjs-plugin-datalabels/chartjs-plugin-datalabels.js'));
16747 efrain 38
 
39
 
16822 efrain 40
 
16701 efrain 41
$this->inlineScript()->captureStart();
42
echo <<<JS
16747 efrain 43
 
44
 
45
    var ctxChartResult = document.getElementById("chartResult").getContext("2d");
46
 
47
 
48
    var chartResult = new Chart(ctxChartResult, {
49
        type: 'bar',
50
        data: {
51
            labels: [],
52
            datasets: [
53
                {
54
                	label : 'LABEL_VOTES',
55
         			backgroundColor: '#E69090',
56
                    borderColor: '#E69090',
57
                    borderWidth: 1,
58
                    fill: false,
59
                    data : []
60
              	},
61
            ]
62
        },
63
        options: {
64
            indexAxis: 'y',
65
            tooltips: {
66
                mode: 'index',
67
                intersect: false
68
            },
69
            scales: {
70
                xAxes: [{
71
                    ticks: {
72
                        beginAtZero:true
73
                    }
74
                }]
75
            }
76
        }
77
    });
78
 
16701 efrain 79
    jQuery( document ).ready(function( $ ) {
80
 
16929 efrain 81
\
16701 efrain 82
 
83
 
84
 
85
 
86
        var allowEdit   = $allowEdit;
87
        var allowDelete = $allowDelete;
16747 efrain 88
        var allowChart   = $allowChart;
16701 efrain 89
        var allowDownload = $allowDownload;
90
 
91
        var gridTable = $('#gridTable').dataTable( {
92
            'processing': true,
93
            'serverSide': true,
94
            'searching': true,
95
            'order': [[ 0, 'asc' ]],
96
            'ordering':  true,
97
            'ordenable' : true,
98
            'responsive': true,
99
            'select' : false,
100
        	'paging': true,
101
            'pagingType': 'simple_numbers',
102
    		'ajax': {
103
    			'url' : '$routeDatatable',
104
    			'type' : 'get',
105
                'beforeSend': function (request) {
106
                  NProgress.start();
107
                },
108
                'dataFilter': function(response) {
109
                    var response = jQuery.parseJSON( response );
110
 
111
                    var json                = {};
112
                    json.recordsTotal       = 0;
113
                    json.recordsFiltered    = 0;
114
                    json.data               = [];
115
 
116
 
117
                    if(response.success) {
118
                        json.recordsTotal       = response.data.total;
119
                        json.recordsFiltered    = response.data.total;
120
                        json.data               = response.data.items;
121
                    } else {
122
                        $.fn.showError(response.data)
123
                    }
124
 
125
                    return JSON.stringify( json );
126
                }
127
    		},
128
            'language' : {
129
                'sProcessing':     'LABEL_DATATABLE_SPROCESSING',
130
                'sLengthMenu':     'LABEL_DATATABLE_SLENGTHMENU',
131
                'sZeroRecords':    'LABEL_DATATABLE_SZERORECORDS',
132
                'sEmptyTable':     'LABEL_DATATABLE_SEMPTYTABLE',
133
                'sInfo':           'LABEL_DATATABLE_SINFO',
134
                'sInfoEmpty':      'LABEL_DATATABLE_SINFOEMPTY',
135
                'sInfoFiltered':   'LABEL_DATATABLE_SINFOFILTERED',
136
                'sInfoPostFix':    '',
137
                'sSearch':         'LABEL_DATATABLE_SSEARCH',
138
                'sUrl':            '',
139
                'sInfoThousands':  ',',
140
                'sLoadingRecords': 'LABEL_DATATABLE_SLOADINGRECORDS',
141
                'oPaginate': {
142
                    'sFirst':    'LABEL_DATATABLE_SFIRST',
143
                    'sLast':     'LABEL_DATATABLE_SLAST',
144
                    'sNext':     'LABEL_DATATABLE_SNEXT',
145
                    'sPrevious': 'LABEL_DATATABLE_SPREVIOUS'
146
                },
147
                'oAria': {
148
                    'sSortAscending':  ': LABEL_DATATABLE_SSORTASCENDING',
149
                    'sSortDescending': ':LABEL_DATATABLE_SSORTDESCENDING'
150
                },
151
            },
152
            'drawCallback': function( settings ) {
153
                NProgress.done();
16822 efrain 154
 
16701 efrain 155
            },
156
            'aoColumns': [
157
                { 'mDataProp': 'question' },
158
                { 'mDataProp': 'details' },
159
                { 'mDataProp': 'votes' },
160
                { 'mDataProp': 'actions' },
161
    	    ],
162
            'columnDefs': [
163
                {
164
                    'targets': 0,
165
                    'className' : 'text-vertical-middle',
166
                },
167
                {
168
                    'targets': 1,
169
                    'orderable': false,
170
                    'render' : function ( data, type, row ) {
16747 efrain 171
                        var s = 'LABEL_DURATION_FROM : ' + data['added_on'] + '<br>';
16701 efrain 172
                        s = s + 'LABEL_DURATION_UNTIL : ' + data['expire_on'] + '<br>';
173
 
174
                    return s;
175
 
176
                    }
177
                },
178
                {
179
                    'targets': 2,
180
                    'className' : 'text-vertical-middle',
181
                    'orderable': false,
182
                },
183
                {
184
                    'targets': -1,
185
                    'orderable': false,
186
                    'render' : function ( data, type, row ) {
187
                        s = '';
188
 
189
                        if(allowEdit && data['link_edit']) {
16906 efrain 190
                            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;';
16701 efrain 191
                        }
192
                        if(allowDelete && data['link_delete']) {
193
                            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;';
194
                        }
16747 efrain 195
                        if(allowChart && data['link_chart']) {
196
                            s = s + '<button class="btn btn-danger btn-chart" data-href="' + data['link_chart']+ '" data-toggle="tooltip" title="LABEL_CHART"><i class="fa fa-line-chart"></i> LABEL_CHART </button>&nbsp;';
197
                        }
198
                        if(allowDownload && data['link_download']) {
199
                            s = s + '<button class="btn btn-danger btn-download" data-href="' + data['link_download']+ '" data-toggle="tooltip" title="LABEL_DOWNLOAD"><i class="fa fa-download"></i> LABEL_DOWNLOAD </button>&nbsp;';
200
                        }
16701 efrain 201
                        return s;
202
                    }
203
                }
204
              ],
205
        });
206
 
207
 
208
        var validator = $('#form').validate({
209
            debug: true,
210
            onclick: false,
211
            onkeyup: false,
212
            ignore: [],
213
            rules: {
214
                'question': {
215
                    required: true,
216
                    maxlength: 1024,
217
                },
218
                'number_of_answers' : {
219
                    required: true,
220
                    digits: true,
221
                    min: 2,
222
                    max: 5
223
                },
224
                'answer1': {
225
                    required: true,
226
                    maxlength: 100,
227
                },
228
                'answer2': {
229
                    required: true,
230
                    maxlength: 100,
231
                },
232
                'answer3': {
233
                    required: function (element) {
234
                        return $('#form #number_of_answers').val() >= 3 ? true : false;
235
                    } ,
236
                    maxlength: 100,
237
                },
238
                'answer4': {
239
                    required: function (element) {
240
                        return $('#form #number_of_answers').val() >= 4 ? true : false;
241
                    } ,
242
                    maxlength: 100,
243
                },
244
                'answer5': {
245
                    required: function (element) {
246
                        return $('#form #number_of_answers').val() >= 5 ? true : false;
247
                    } ,
248
                    maxlength: 100,
249
                },
250
                'privacy': {
251
                    required: true,
252
                },
253
                'result_type': {
254
                    required: false,
255
 
256
                },
257
                'duration_days' : {
258
                    required: true,
259
                    digits: true,
260
                    min: 1,
261
                    max: 29
262
                },
263
                'duration_hours' : {
264
                    required: true,
265
                    digits: true,
266
                    min: 0,
267
                    max: 23
268
                },
269
                'duration_minutes' : {
270
                    required: true,
271
                    digits: true,
272
                    min: 0,
273
                    max: 59
274
                },
275
            },
276
            submitHandler: function(form)
277
            {
278
                $.ajax({
279
                    'dataType'  : 'json',
280
                    'accept'    : 'application/json',
281
                    'method'    : 'post',
282
                    'url'       :  $('#form').attr('action'),
283
                    'data'      :  $('#form').serialize(),
284
 
285
                }).done(function(response) {
286
                    NProgress.start();
287
                    if(response['success']) {
288
                        $.fn.showSuccess(response['data']);
289
 
290
                        $('#row-form').hide();
291
                        $('#row-listing').show();
292
 
293
 
294
                        gridTable.api().ajax.reload(null, false);
295
                    } else {
296
                        validator.resetForm();
297
                        if(jQuery.type(response['data']) == 'string') {
298
                            $.fn.showError(response['data']);
299
                        } else  {
300
                            $.each(response['data'], function( fieldname, errors ) {
301
                                $.fn.showFormErrorValidator('#form #' + fieldname, errors);
302
                            });
303
                        }
304
                    }
305
                }).fail(function( jqXHR, textStatus, errorThrown) {
306
                    $.fn.showError(textStatus);
307
                }).always(function() {
308
                    NProgress.done();
309
                });
310
                return false;
311
            },
312
            invalidHandler: function(form, validator) {
313
            }
314
        });
315
 
316
 
317
 
318
        $('body').on('click', 'button.btn-add', function(e) {
319
            e.preventDefault();
320
 
321
            $('#card-form-title').html('LABEL_ADD');
322
            $('#form').attr('action', '$routeAdd');
323
            $('#form #question').val('');
324
            $('#form #number_of_answers').val('2');
325
            $('#form #answer1').val('');
326
            $('#form #answer2').val('');
327
            $('#form #answer3').val('');
328
            $('#form #answer4').val('');
329
            $('#form #answer5').val('');
330
            $('#form #privacy').val($("#form #privacy option:first").val());
331
            $('#form #result_type').val($("#form #result_type option:first").val());
332
            $('#form #duration_days').val('1');
333
            $('#form #duration_hours').val('0');
334
            $('#form #duration_minutes').val('0');
335
 
336
            $('#form-group-answer3').hide();
337
            $('#form-group-answer4').hide();
338
            $('#form-group-answer5').hide();
339
 
340
            validator.resetForm();
341
            $('#row-listing').hide();
342
            $('#row-form').show();
343
 
344
        });
345
 
346
        $('body').on('click', 'button.btn-edit', function(e) {
347
            e.preventDefault();
348
            NProgress.start();
349
            var action = $(this).data('href');
350
 
351
            $.ajax({
352
                'dataType'  : 'json',
353
                'method'    : 'get',
354
                'url'       :  action,
355
            }).done(function(response) {
356
                if(response['success']) {
357
 
358
                    $('#card-form-title').html('LABEL_EDIT');
359
                    $('#form').attr('action', action);
360
                    $('#form #question').val(response['data']['question']);
361
                    $('#form #number_of_answers').val(response['data']['number_of_answers']);
362
                    $('#form #answer1').val(response['data']['answer1']);
363
                    $('#form #answer2').val(response['data']['answer2']);
364
                    $('#form #answer3').val(response['data']['answer3']);
365
                    $('#form #answer4').val(response['data']['answer4']);
366
                    $('#form #answer5').val(response['data']['answer5']);
367
                    $('#form #privacy').val(response['data']['privacy']);
368
                    $('#form #result_type').val(response['data']['result_type']);
369
                    $('#form #duration_days').val(response['data']['duration_days']);
370
                    $('#form #duration_hours').val(response['data']['duration_hours']);
371
                    $('#form #duration_minutes').val(response['data']['duration_minutes']);
372
 
373
                    switch(response['data']['number_of_answers'])
374
                    {
375
                        case 3 :
376
                            $('#form-group-answer3').show();
377
                            $('#form-group-answer4').hide();
378
                            $('#form-group-answer5').hide();
379
                            break;
380
 
381
                        case 4 :
382
                            $('#form-group-answer3').show();
383
                            $('#form-group-answer4').show();
384
                            $('#form-group-answer5').hide();
385
                            break;
386
 
387
                        case 5 :
388
                            $('#form-group-answer3').show();
389
                            $('#form-group-answer4').show();
390
                            $('#form-group-answer5').show();
391
                            break;
392
 
393
                        default :
394
                            $('#form-group-answer3').hide();
395
                            $('#form-group-answer4').hide();
396
                            $('#form-group-answer5').hide();
397
                            break;
398
 
399
                    }
400
 
401
 
402
                    validator.resetForm();
403
                    $('#row-listing').hide();
404
                    $('#row-form').show();
405
 
406
 
407
                } else {
408
                    $.fn.showError(response['data']);
409
                }
410
            }).fail(function( jqXHR, textStatus, errorThrown) {
411
                $.fn.showError(textStatus);
412
            }).always(function() {
413
                NProgress.done();
414
            });
415
        });
416
 
16747 efrain 417
        $('body').on('click', 'button.btn-chart', function(e) {
418
            e.preventDefault();
419
            NProgress.start();
420
            var action = $(this).data('href');
421
 
422
            $.ajax({
423
                'dataType'  : 'json',
424
                'method'    : 'get',
425
                'url'       :  action,
426
            }).done(function(response) {
427
                if(response['success']) {
428
 
429
                    $('#chart-question').html(response['data']['question']);
430
 
431
                    chartResult.data.labels = response['data']['labels'];
432
                    chartResult.data.datasets[0].data = response['data']['values'];
433
                    chartResult.update();
434
 
435
                    $('#row-listing').hide();
436
                    $('#row-chart').show();
437
 
438
 
439
                } else {
440
                    $.fn.showError(response['data']);
441
                }
442
            }).fail(function( jqXHR, textStatus, errorThrown) {
443
                $.fn.showError(textStatus);
444
            }).always(function() {
445
                NProgress.done();
446
            });
447
        });
448
 
449
 
450
        $('body').on('click', 'button.btn-download', function(e) {
451
            e.preventDefault();
452
 
453
            NProgress.start();
454
             var action = $(this).data('href');
455
 
456
 
457
            $.ajax({
458
                'dataType'  : 'json',
459
                'method'    : 'get',
460
                'url'       : action,
461
            }).done(function(response) {
462
                if(response['success']) {
463
                    var anchor = window.document.createElement("a");
464
                    anchor.href = 'data:application/octet-stream;charset=utf-8;base64,' + response['data']['content'] ;
465
                    anchor.download = response['data']['basename'];
466
                    document.body.appendChild(anchor);
467
                    anchor.click();  // IE: "Access is denied"; see: https://connect.microsoft.com/IE/feedback/details/797361/ie-10-treats-blob-url-as-cross-origin-and-denies-access
468
                    document.body.removeChild(anchor);
469
                } else {
470
                    $.fn.showError(response['data']);
471
                }
472
            }).fail(function( jqXHR, textStatus, errorThrown) {
473
                $.fn.showError(textStatus);
474
            }).always(function() {
475
                NProgress.done();
476
            });
477
 
478
 
479
        });
480
 
481
 
482
 
16701 efrain 483
        $('body').on('click', 'button.btn-refresh', function(e) {
484
            e.preventDefault();
485
            gridTable.api().ajax.reload(null, false);
486
        });
487
 
488
 
489
        $('body').on('click', 'button.btn-cancel', function(e) {
490
            e.preventDefault();
16747 efrain 491
            $('#row-chart').hide();
16701 efrain 492
            $('#row-form').hide();
493
            $('#row-listing').show();
494
        });
495
 
16822 efrain 496
    $('body').on('click', 'button.btn-delete', function(e) {
497
        e.preventDefault();
498
        var action = $(this).data('href');
499
 
500
 
501
          swal.fire({
502
            title: 'LABEL_ARE_YOU_SURE',
503
            icon: 'question',
504
            cancelButtonText: 'LABEL_NO',
505
            showCancelButton: true,
506
            confirmButtonText: 'LABEL_YES'
507
          }).then((result) => {
508
            if (result.isConfirmed) {
509
 
510
                    NProgress.start();
511
                    $.ajax({
512
                        'dataType'  : 'json',
513
                        'accept'    : 'application/json',
514
                        'method'    : 'post',
515
                        'url'       :  action,
516
                    }).done(function(response) {
517
                        if(response['success']) {
518
                            $.fn.showSuccess(response['data']);
519
                            gridTable.api().ajax.reload(null, false);
520
                        } else {
521
                            $.fn.showError(response['data']);
522
                        }
523
                    }).fail(function( jqXHR, textStatus, errorThrown) {
524
                        $.fn.showError(textStatus);
525
                    }).always(function() {
526
                        NProgress.done();
527
                    });
528
                }
529
           });
530
        });
531
 
16701 efrain 532
        $('#form #number_of_answers').change(function(e) {
533
            e.preventDefault();
534
 
535
            switch(parseInt($(this).val()))
536
                    {
537
                        case 3 :
538
                            $('#form-group-answer3').show();
539
                            $('#form-group-answer4').hide();
540
                            $('#form-group-answer5').hide();
541
                            break;
542
 
543
                        case 4 :
544
                            $('#form-group-answer3').show();
545
                            $('#form-group-answer4').show();
546
                            $('#form-group-answer5').hide();
547
                            break;
548
 
549
                        case 5 :
550
                            $('#form-group-answer3').show();
551
                            $('#form-group-answer4').show();
552
                            $('#form-group-answer5').show();
553
                            break;
554
 
555
                        default :
556
                            $('#form-group-answer3').hide();
557
                            $('#form-group-answer4').hide();
558
                            $('#form-group-answer5').hide();
559
                            break;
560
 
561
                    }
562
 
563
 
564
        });
565
 
566
 
567
        $('#form #duration_days').inputNumberFormat({decimal: 0});
568
        $('#form #duration_hours').inputNumberFormat({decimal: 0});
569
        $('#form #duration_minutes').inputNumberFormat({decimal: 0});
570
 
571
 
572
 
573
 
574
 
575
    });
576
JS;
577
$this->inlineScript()->captureEnd();
578
?>
579
 
16822 efrain 580
<div class="container">
16864 efrain 581
	<div class="card" id="row-listing">
582
	 	<div class="card-header">
583
	 		<h6 class="card-title">LABEL_FAST_SURVEYS</h6>
584
	 	</div>
585
	 	<div class="card-body">
586
	 		<div class="row">
587
	 	         <div class="col-12 mt-3">
588
 
16912 efrain 589
	 	          <table id="gridTable" class="table  table-bordered">
16701 efrain 590
                            <thead>
591
                                <tr>
592
                                    <th>LABEL_QUESTION</th>
593
                                    <th>LABEL_DETAILS</th>
594
                                    <th>LABEL_VOTES</th>
595
                                    <th>LABEL_ACTIONS</th>
596
                                </tr>
597
                            </thead>
598
                            <tbody>
599
                            </tbody>
600
                        </table>
16864 efrain 601
 
602
	 	         </div>
603
	 	     </div>
604
	 	</div>
605
	 	<div class="card-footer text-right">
606
	 		<button type="button" class="btn btn-info btn-refresh"><i class="fa fa-refresh"></i> LABEL_REFRESH </button>
607
       		<?php if ($allowAdd) : ?>
608
         	<button type="button" class="btn btn-primary btn-add"><i class="fa fa-plus"></i> LABEL_ADD </button>
609
        	<?php endif; ?>
610
 
611
	 	</div>
612
	</div>
613
 
614
	<div class="card" id="row-form" style="display: none">
615
	 	<div class="card-header">
616
	 		<h6 class="card-title" id="card-form-title"></h6>
617
	 	</div>
618
	 	 <?php
16701 efrain 619
                    $form = $this->form;
620
                    $form->setAttributes([
621
                        'method'    => 'post',
622
                        'name'      => 'form',
623
                        'id'        => 'form',
624
                    ]);
625
 
626
                    $form->prepare();
627
                    echo $this->form()->openTag($form);
628
                    ?>
16864 efrain 629
	 	<div class="card-body">
630
	 		<div class="row">
631
	 	         <div class="col-12 mt-3">
16701 efrain 632
                            <?php
633
                            $element = $form->get('question');
634
                            $element->setOptions(['label' => 'LABEL_QUESTION']);
635
                            $element->setAttributes(['class' => 'form-control']);
636
 
637
                            echo $this->formLabel($element);
638
                            echo $this->formText($element);
639
                            ?>
16864 efrain 640
	 	         </div>
641
	 	     </div>
642
	 		<div class="row">
643
	 	         <div class="col-12 mt-3">
16701 efrain 644
                            <?php
645
                            $element = $form->get('number_of_answers');
646
                            $element->setOptions(['label' => 'LABEL_NUMBER_OF_ANSWERS']);
647
                            $element->setAttributes(['class' => 'form-control']);
648
 
649
                            echo $this->formLabel($element);
650
                            echo $this->formSelect($element);
651
                            ?>
16864 efrain 652
	 	         </div>
653
	 	     </div>
654
	 		<div class="row">
655
	 	         <div class="col-12 mt-3">
16701 efrain 656
                            <?php
657
                            $element = $form->get('answer1');
658
                            $element->setOptions(['label' => 'LABEL_ANSWER1']);
659
                            $element->setAttributes(['class' => 'form-control']);
660
 
661
                            echo $this->formLabel($element);
662
                            echo $this->formText($element);
663
                            ?>
16864 efrain 664
	 	         </div>
665
	 	     </div>
666
	 		<div class="row">
667
	 	         <div class="col-12 mt-3">
16701 efrain 668
                            <?php
669
                            $element = $form->get('answer2');
670
                            $element->setOptions(['label' => 'LABEL_ANSWER2']);
671
                            $element->setAttributes(['class' => 'form-control']);
672
 
673
                            echo $this->formLabel($element);
674
                            echo $this->formText($element);
675
                            ?>
16864 efrain 676
	 	         </div>
677
	 	     </div>
678
 
679
	 		<div class="row" id="form-group-answer3">
680
	 	         <div class="col-12 mt-3">
16701 efrain 681
                            <?php
682
                            $element = $form->get('answer3');
683
                            $element->setOptions(['label' => 'LABEL_ANSWER3']);
684
                            $element->setAttributes(['class' => 'form-control']);
685
 
686
                            echo $this->formLabel($element);
687
                            echo $this->formText($element);
688
                            ?>
16864 efrain 689
	 	         </div>
690
	 	     </div>
691
	 		<div class="row" id="form-group-answer4">
692
	 	         <div class="col-12 mt-3">
16701 efrain 693
                            <?php
694
                            $element = $form->get('answer4');
695
                            $element->setOptions(['label' => 'LABEL_ANSWER4']);
696
                            $element->setAttributes(['class' => 'form-control']);
697
 
698
                            echo $this->formLabel($element);
699
                            echo $this->formText($element);
700
                            ?>
16864 efrain 701
	 	         </div>
702
	 	     </div>
703
	 		<div class="row" id="form-group-answer5">
704
	 	         <div class="col-12 mt-3">
16701 efrain 705
                            <?php
706
                            $element = $form->get('answer5');
707
                            $element->setOptions(['label' => 'LABEL_ANSWER5']);
708
                            $element->setAttributes(['class' => 'form-control']);
709
 
710
                            echo $this->formLabel($element);
711
                            echo $this->formText($element);
712
                            ?>
16864 efrain 713
	 	         </div>
714
	 	     </div>
715
	 		<div class="row">
716
	 	         <div class="col-12 mt-3">
16701 efrain 717
                            <?php
718
                            $element = $form->get('privacy');
719
                            $element->setOptions(['label' => 'LABEL_PRIVACY']);
720
                            $element->setAttributes(['class' => 'form-control']);
721
 
722
                            echo $this->formLabel($element);
723
                            echo $this->formSelect($element);
724
                            ?>
16864 efrain 725
	 	         </div>
726
	 	     </div>
727
	 		<div class="row">
728
	 	         <div class="col-12 mt-3">
16701 efrain 729
                            <?php
730
                            $element = $form->get('result_type');
731
                            $element->setOptions(['label' => 'LABEL_RESULT_TYPE']);
732
                            $element->setAttributes(['class' => 'form-control']);
733
 
734
                            echo $this->formLabel($element);
735
                            echo $this->formSelect($element);
736
                            ?>
16864 efrain 737
	 	         </div>
738
	 	     </div>
739
	 		<div class="row">
740
	 	         <div class="col-12 mt-3">
16701 efrain 741
                            <?php
742
                            $element = $form->get('duration_days');
743
                            $element->setOptions(['label' => 'LABEL_DURATION_DAYS']);
744
                            $element->setAttributes(['class' => 'form-control']);
745
 
746
                            echo $this->formLabel($element);
747
                            echo $this->formNumber($element);
748
                            ?>
16864 efrain 749
	 	         </div>
750
	 	     </div>
751
	 		<div class="row">
752
	 	         <div class="col-12 mt-3">
16701 efrain 753
                            <?php
754
                            $element = $form->get('duration_hours');
755
                            $element->setOptions(['label' => 'LABEL_DURATION_HOURS']);
756
                            $element->setAttributes(['class' => 'form-control']);
757
 
758
                            echo $this->formLabel($element);
759
                            echo $this->formNumber($element);
760
                            ?>
16864 efrain 761
	 	         </div>
762
	 	     </div>
763
	 		<div class="row">
764
	 	         <div class="col-12 mt-3">
16701 efrain 765
                            <?php
766
                            $element = $form->get('duration_minutes');
767
                            $element->setOptions(['label' => 'LABEL_DURATION_MINUTES']);
768
                            $element->setAttributes(['class' => 'form-control']);
769
 
770
                            echo $this->formLabel($element);
771
                            echo $this->formNumber($element);
772
                            ?>
16864 efrain 773
	 	         </div>
774
	 	     </div>
775
	 	</div>
776
	 	<div class="card-footer text-right">
777
                 		<button type="submit" class="btn btn-primary">LABEL_SAVE</button>
16701 efrain 778
                        <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
16864 efrain 779
 
780
	 	</div>
781
	 	 <?php echo $this->form()->closeTag($form); ?>
782
	</div>
783
 
784
 
785
	<div class="card"  id="row-chart" style="display: none">
786
	 	<div class="card-header">
787
	 		<h6 class="card-title" id="chart-question"></h6>
788
	 	</div>
789
	 	<div class="card-body">
790
	 		<div class="row">
791
	 	         <div class="col-12 mt-3">
792
	 	         	<div class="col-lg-12 col-12 chart">
16747 efrain 793
                                <canvas id="chartResult" style="min-height: 250px; height: 250px; max-height: 250px; max-width: 100%;"></canvas>
794
                            </div>
16864 efrain 795
	 	         </div>
796
	 	     </div>
797
	 	</div>
798
	 	<div class="card-footer text-right">
799
			<button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
800
	 	</div>
801
	</div>
802
 
803
 
804
</div>
805
 
16701 efrain 806
 
807
 
16822 efrain 808