Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 16701 | Rev 16822 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 16701 Rev 16747
Línea 9... Línea 9...
9
$routeDatatable = $this->url('fast-survey');
9
$routeDatatable = $this->url('fast-survey');
Línea 10... Línea 10...
10
 
10
 
11
$allowAdd       = $acl->isAllowed($roleName, 'fast-survey/add') ? 1 : 0;
11
$allowAdd       = $acl->isAllowed($roleName, 'fast-survey/add') ? 1 : 0;
12
$allowEdit      = $acl->isAllowed($roleName, 'fast-survey/edit') ? 1 : 0;
12
$allowEdit      = $acl->isAllowed($roleName, 'fast-survey/edit') ? 1 : 0;
13
$allowDelete    = $acl->isAllowed($roleName, 'fast-survey/delete') ? 1 : 0;
13
$allowDelete    = $acl->isAllowed($roleName, 'fast-survey/delete') ? 1 : 0;
14
$allowResult    = $acl->isAllowed($roleName, 'fast-survey/result') ? 1 : 0;
14
$allowChart    = $acl->isAllowed($roleName, 'fast-survey/chart') ? 1 : 0;
Línea 15... Línea 15...
15
$allowDownload  = $acl->isAllowed($roleName, 'fast-survey/download') ? 1 : 0;
15
$allowDownload  = $acl->isAllowed($roleName, 'fast-survey/download') ? 1 : 0;
16
 
16
 
Línea 30... Línea 30...
30
$this->inlineScript()->appendFile($this->basePath('plugins/jquery-input-number/input-number-format.jquery.js'));
30
$this->inlineScript()->appendFile($this->basePath('plugins/jquery-input-number/input-number-format.jquery.js'));
Línea 31... Línea 31...
31
 
31
 
Línea -... Línea 32...
-
 
32
$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-confirmation/dist/bootstrap-confirmation.js'));
-
 
33
 
-
 
34
 
-
 
35
 
-
 
36
$this->inlineScript()->appendFile($this->basePath('plugins/chart.js/chart.js'));
-
 
37
$this->inlineScript()->appendFile($this->basePath('plugins/chartjs-plugin-datalabels/chartjs-plugin-datalabels.js'));
32
$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-confirmation/dist/bootstrap-confirmation.js'));
38
 
33
 
39
 
-
 
40
 
-
 
41
$this->inlineScript()->captureStart();
-
 
42
echo <<<JS
-
 
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
            }
34
 
76
        }
Línea 35... Línea 77...
35
$this->inlineScript()->captureStart();
77
    });
36
echo <<<JS
78
 
37
    jQuery( document ).ready(function( $ ) {
79
    jQuery( document ).ready(function( $ ) {
Línea 78... Línea 120...
78
 
120
 
79
 
121
 
80
 
122
 
81
        var allowEdit   = $allowEdit;
123
        var allowEdit   = $allowEdit;
Línea 82... Línea 124...
82
        var allowDelete = $allowDelete;
124
        var allowDelete = $allowDelete;
83
        var allowResult   = $allowResult;
125
        var allowChart   = $allowChart;
84
        var allowDownload = $allowDownload;
126
        var allowDownload = $allowDownload;
Línea 188... Línea 230...
188
                },
230
                },
189
                {
231
                {
190
                    'targets': 1,
232
                    'targets': 1,
191
                    'orderable': false,
233
                    'orderable': false,
192
                    'render' : function ( data, type, row ) {
234
                    'render' : function ( data, type, row ) {
193
                        var s = 'LABEL_STATUS : ' + data['status'] + '<br>';
-
 
194
                        s = s + 'LABEL_DURATION_FROM : ' + data['added_on'] + '<br>';
235
                        var s = 'LABEL_DURATION_FROM : ' + data['added_on'] + '<br>';
195
                        s = s + 'LABEL_DURATION_UNTIL : ' + data['expire_on'] + '<br>';
236
                        s = s + 'LABEL_DURATION_UNTIL : ' + data['expire_on'] + '<br>';
Línea 196... Línea 237...
196
 
237
 
Línea 197... Línea 238...
197
                    return s;
238
                    return s;
Línea 213... Línea 254...
213
                            s = s + '<button class="btn btn-primary btn-edit" data-href="' + data['link_edit']+ '" data-toggle="tooltip" title="LABEL_EDIT"><i class="fa fa-pencil"></i> LABEL_EDIT </button>&nbsp;';
254
                            s = s + '<button class="btn btn-primary btn-edit" data-href="' + data['link_edit']+ '" data-toggle="tooltip" title="LABEL_EDIT"><i class="fa fa-pencil"></i> LABEL_EDIT </button>&nbsp;';
214
                        }
255
                        }
215
                        if(allowDelete && data['link_delete']) {
256
                        if(allowDelete && data['link_delete']) {
216
                            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;';
257
                            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;';
217
                        }
258
                        }
-
 
259
                        if(allowChart && data['link_chart']) {
-
 
260
                            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;';
-
 
261
                        }
-
 
262
                        if(allowDownload && data['link_download']) {
-
 
263
                            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;';
-
 
264
                        }
218
                        return s;
265
                        return s;
219
                    }
266
                    }
220
                }
267
                }
221
              ],
268
              ],
222
        });
269
        });
Línea 429... Línea 476...
429
            }).always(function() {
476
            }).always(function() {
430
                NProgress.done();
477
                NProgress.done();
431
            });
478
            });
432
        });
479
        });
Línea -... Línea 480...
-
 
480
 
-
 
481
        $('body').on('click', 'button.btn-chart', function(e) {
-
 
482
            e.preventDefault();
-
 
483
            NProgress.start();
-
 
484
            var action = $(this).data('href');
-
 
485
 
-
 
486
            $.ajax({
-
 
487
                'dataType'  : 'json',
-
 
488
                'method'    : 'get',
-
 
489
                'url'       :  action,
-
 
490
            }).done(function(response) {
-
 
491
                if(response['success']) {
-
 
492
 
-
 
493
                    $('#chart-question').html(response['data']['question']);
-
 
494
 
-
 
495
                    chartResult.data.labels = response['data']['labels'];
-
 
496
                    chartResult.data.datasets[0].data = response['data']['values'];
-
 
497
                    chartResult.update(); 
-
 
498
 
-
 
499
                    $('#row-listing').hide();
-
 
500
                    $('#row-chart').show();
-
 
501
 
-
 
502
                
-
 
503
                } else {
-
 
504
                    $.fn.showError(response['data']);
-
 
505
                }
-
 
506
            }).fail(function( jqXHR, textStatus, errorThrown) {
-
 
507
                $.fn.showError(textStatus);
-
 
508
            }).always(function() {
-
 
509
                NProgress.done();
-
 
510
            });
-
 
511
        });
-
 
512
 
-
 
513
 
-
 
514
        $('body').on('click', 'button.btn-download', function(e) {
-
 
515
            e.preventDefault();
-
 
516
    
-
 
517
            NProgress.start(); 
-
 
518
             var action = $(this).data('href');
-
 
519
 
-
 
520
 
-
 
521
            $.ajax({
-
 
522
                'dataType'  : 'json',
-
 
523
                'method'    : 'get',
-
 
524
                'url'       : action,
-
 
525
            }).done(function(response) {
-
 
526
                if(response['success']) {
-
 
527
                    var anchor = window.document.createElement("a");
-
 
528
                    anchor.href = 'data:application/octet-stream;charset=utf-8;base64,' + response['data']['content'] ;
-
 
529
                    anchor.download = response['data']['basename'];
-
 
530
                    document.body.appendChild(anchor);
-
 
531
                    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
-
 
532
                    document.body.removeChild(anchor);
-
 
533
                } else {
-
 
534
                    $.fn.showError(response['data']);
-
 
535
                }
-
 
536
            }).fail(function( jqXHR, textStatus, errorThrown) {
-
 
537
                $.fn.showError(textStatus);
-
 
538
            }).always(function() {
-
 
539
                NProgress.done();
-
 
540
            });
-
 
541
    
-
 
542
    
-
 
543
        });
-
 
544
 
-
 
545
 
433
 
546
 
434
        $('body').on('click', 'button.btn-refresh', function(e) {
547
        $('body').on('click', 'button.btn-refresh', function(e) {
435
            e.preventDefault();
548
            e.preventDefault();
436
            gridTable.api().ajax.reload(null, false);
549
            gridTable.api().ajax.reload(null, false);
Línea 437... Línea 550...
437
        });
550
        });
438
        
551
        
-
 
552
 
439
 
553
        $('body').on('click', 'button.btn-cancel', function(e) {
440
        $('body').on('click', 'button.btn-cancel', function(e) {
554
            e.preventDefault();
441
            e.preventDefault();
555
            $('#row-chart').hide();    
Línea 442... Línea 556...
442
            $('#row-form').hide();
556
            $('#row-form').hide();
Línea 679... Línea 793...
679
                        <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
793
                        <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
680
                    </div>
794
                    </div>
681
                     <?php echo $this->form()->closeTag($form); ?>
795
                     <?php echo $this->form()->closeTag($form); ?>
682
                </div>
796
                </div>
683
           </div>
797
           </div>
684
       </div>             
798
       </div>  
-
 
799
       
-
 
800
   		<div class="row" id="row-chart" style="display: none">
-
 
801
            <div class="col-12">
-
 
802
                <div class="card">
-
 
803
                    <div class="card-header">
-
 
804
                        <h2 id="chart-question"></h2>
-
 
805
                    </div>
-
 
806
                    <div class="card-body">
-
 
807
                        <div class="row">
-
 
808
                            <div class="col-lg-12 col-12 chart">
-
 
809
                                <canvas id="chartResult" style="min-height: 250px; height: 250px; max-height: 250px; max-width: 100%;"></canvas>
-
 
810
                            </div>
-
 
811
                        </div>
-
 
812
                    </div>
-
 
813
                    <div class="card-footer text-right">
-
 
814
                   	    <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
-
 
815
                    </div>
-
 
816
                </div>
-
 
817
            </div>
-
 
818
        </div>           
Línea 685... Línea 819...
685
        
819
        
686
        
820