Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev 1195 Rev 1196
Línea 60... Línea 60...
60
$this->inlineScript()->captureStart();
60
$this->inlineScript()->captureStart();
61
echo <<<JS
61
echo <<<JS
Línea 62... Línea 62...
62
 
62
 
63
var competencies = [];
63
var competencies = [];
64
var competencies_type = [];
64
var competencies_type = [];
65
var dependents = [];
65
var subordinates = [];
66
var competencies_selected = [];
66
var competencies_selected = [];
Línea 67... Línea 67...
67
var dependents_selected = [];
67
var subordinates_selected = [];
68
 
68
 
69
jQuery(document).ready(function($) {
69
jQuery(document).ready(function($) {
70
    $.validator.setDefaults({
70
    $.validator.setDefaults({
Línea 265... Línea 265...
265
            },
265
            },
266
        },
266
        },
267
        submitHandler: function(form) {
267
        submitHandler: function(form) {
Línea 268... Línea 268...
268
 
268
 
269
            $("#competencies_selected").val(JSON.stringify(competencies_selected));
269
            $("#competencies_selected").val(JSON.stringify(competencies_selected));
Línea 270... Línea 270...
270
            $("#dependents_selected").val(JSON.stringify(dependents_selected));
270
            $("#subordinates_selected").val(JSON.stringify(subordinates_selected));
271
 
271
 
272
            $.ajax({
272
            $.ajax({
273
                'dataType': 'json',
273
                'dataType': 'json',
Línea 314... Línea 314...
314
                $('#form').attr('action', '$routeAdd');
314
                $('#form').attr('action', '$routeAdd');
315
                $('#form #name').val('');
315
                $('#form #name').val('');
316
                $('#form #status').bootstrapToggle('on');
316
                $('#form #status').bootstrapToggle('on');
317
                CKEDITOR.instances.functions.setData('');
317
                CKEDITOR.instances.functions.setData('');
318
                CKEDITOR.instances.objectives.setData('');
318
                CKEDITOR.instances.objectives.setData('');
319
                dependents_selected = [];
319
                subordinates_selected = [];
320
                competencies_selected = [];
320
                competencies_selected = [];
321
                competencies = response['data']['competencies'];
321
                competencies = response['data']['competencies'];
322
                competencies_type = response['data']['competency_types'];
322
                competencies_type = response['data']['competency_types'];
323
                dependents = response['data']['jobs_description'];
323
                subordinates = response['data']['jobs_description'];
324
                renderData([]);
324
                renderData([]);
325
                renderDependentData([]);
325
                renderSubordinateData([]);
326
                setCompetencySelect();
326
                setCompetencySelect();
327
                setDependentSelect();
327
                setSubordinateSelect();
328
                validator.resetForm();
328
                validator.resetForm();
329
                $('#custom-tabs #custom-tabs-general-tab').tab('show');
329
                $('#custom-tabs #custom-tabs-general-tab').tab('show');
330
                $('#modal').modal('show');
330
                $('#modal').modal('show');
331
            } else {
331
            } else {
332
                $.fn.showError(response['data']);
332
                $.fn.showError(response['data']);
Línea 356... Línea 356...
356
                CKEDITOR.instances.objectives.setData(response['data']['objectives']);
356
                CKEDITOR.instances.objectives.setData(response['data']['objectives']);
357
                $('#tableCompetencies tbody').empty();
357
                $('#tableCompetencies tbody').empty();
358
                competencies = response['data']['competencies'];
358
                competencies = response['data']['competencies'];
359
                competencies_type = response['data']['competency_types'];
359
                competencies_type = response['data']['competency_types'];
360
                competencies_selected = response['data']['competencies_selected'];
360
                competencies_selected = response['data']['competencies_selected'];
361
                dependents_selected = response['data']['dependents_selected'];
361
                subordinates_selected = response['data']['subordinates_selected'];
362
                dependents = response['data']['jobs_description'];
362
                subordinates = response['data']['jobs_description'];
363
                renderData(competencies_selected);
363
                renderData(competencies_selected);
364
                renderDependentData(dependents_selected);
364
                renderSubordinateData(subordinates_selected);
365
                setCompetencySelect();
365
                setCompetencySelect();
366
                setDependentSelect();
366
                setSubordinateSelect();
367
                $('#job_description_id_boss').val(response['data']['job_description_id_boss']);
367
                $('#job_description_id_boss').val(response['data']['job_description_id_boss']);
368
                validator.resetForm();
368
                validator.resetForm();
369
                $('#custom-tabs #custom-tabs-general-tab').tab('show');
369
                $('#custom-tabs #custom-tabs-general-tab').tab('show');
370
                $('#modal').modal('show');
370
                $('#modal').modal('show');
371
            } else {
371
            } else {
Línea 422... Línea 422...
422
        console.log('ee')
422
        console.log('ee')
423
        if ($("#select-competency").val() == "") {
423
        if ($("#select-competency").val() == "") {
424
            $.fn.showError('LABEL_ERROR_SELECT_COMPETENCY');
424
            $.fn.showError('LABEL_ERROR_SELECT_COMPETENCY');
425
        } else {
425
        } else {
426
            competencies_selected.push(competencies.filter((item) => item.competency_id == $("#select-competency").val() ? item : false)[0]);
426
            competencies_selected.push(competencies.filter((item) => item.competency_id == $("#select-competency").val() ? item : false)[0]);
427
            $("#select-dependent").val('');
427
            $("#select-subordinate").val('');
428
            renderData(competencies_selected);
428
            renderData(competencies_selected);
429
            setCompetencySelect();
429
            setCompetencySelect();
430
        }
430
        }
431
    });
431
    });
Línea 432... Línea 432...
432
 
432
 
433
    /**
433
    /**
434
     * Clicked select dependent
434
     * Clicked select subordinate
435
     */
435
     */
436
    $('body').on('click', 'button[id="btn-select-dependent"]', function(e) {
436
    $('body').on('click', 'button[id="btn-select-subordinate"]', function(e) {
437
        console.log('ee')
437
        console.log('ee')
438
        if ($("#select-dependent").val() == "") {
438
        if ($("#select-subordinate").val() == "") {
439
            $.fn.showError('LABEL_ERROR_SELECT_DEPENDENT');
439
            $.fn.showError('LABEL_ERROR_SELECT_DEPENDENT');
440
        } else {
440
        } else {
441
            dependents_selected.push(dependents.filter((item) => item.job_description_id == $("#select-dependent").val() ? item : false)[0]);
441
            subordinates_selected.push(subordinates.filter((item) => item.job_description_id == $("#select-subordinate").val() ? item : false)[0]);
442
            renderDependentData(dependents_selected);
442
            renderSubordinateData(subordinates_selected);
443
            setDependentSelect();
443
            setSubordinateSelect();
444
        }
444
        }
Línea 445... Línea 445...
445
    });
445
    });
446
 
446
 
447
    /**
447
    /**
448
     * Clicked remove dependent
448
     * Clicked remove subordinate
449
     */
449
     */
450
    $('body').on('click', 'button.btn-delete-dependent', function(e) {
450
    $('body').on('click', 'button.btn-delete-subordinate', function(e) {
451
        var job_description_id = $(this).data('dependent');
451
        var job_description_id = $(this).data('subordinate');
452
        bootbox.confirm({
452
        bootbox.confirm({
453
            title: "LABEL_DELETE LABEL_DEPENDENT",
453
            title: "LABEL_DELETE LABEL_DEPENDENT",
454
            message: "LABEL_QUESTION_DELETE",
454
            message: "LABEL_QUESTION_DELETE",
Línea 460... Línea 460...
460
                    label: '<i class="fa fa-check"></i> LABEL_ACCEPT'
460
                    label: '<i class="fa fa-check"></i> LABEL_ACCEPT'
461
                }
461
                }
462
            },
462
            },
463
            callback: function(result) {
463
            callback: function(result) {
464
                if (result) {
464
                if (result) {
465
                     dependents_selected = dependents_selected.filter((item) => item.job_description_id != job_description_id);
465
                     subordinates_selected = subordinates_selected.filter((item) => item.job_description_id != job_description_id);
466
                     renderDependentData(dependents_selected);
466
                     renderSubordinateData(subordinates_selected);
467
            return setDependentSelect();
467
            return setSubordinateSelect();
468
                }
468
                }
469
            }
469
            }
470
        });
470
        });
471
    });
471
    });
Línea 485... Línea 485...
485
                }));
485
                }));
486
            }
486
            }
487
        });
487
        });
488
    }
488
    }
Línea 489... Línea 489...
489
 
489
 
490
    const setDependentSelect = () => {
490
    const setSubordinateSelect = () => {
491
        $('#select-dependent').children().remove();
491
        $('#select-subordinate').children().remove();
492
        $('#select-dependent').append($('<option>', {
492
        $('#select-subordinate').append($('<option>', {
493
            value: '',
493
            value: '',
494
            text: 'LABEL_SELECT'
494
            text: 'LABEL_SELECT'
495
        }));
495
        }));
496
        $.each(dependents, function(i, item) {
496
        $.each(subordinates, function(i, item) {
497
            if (!filterDependedItemById(item.job_description_id)) {
497
            if (!filterDependedItemById(item.job_description_id)) {
498
                $('#select-dependent').append($('<option>', {
498
                $('#select-subordinate').append($('<option>', {
499
                    value: item.job_description_id,
499
                    value: item.job_description_id,
500
                    text: item.name
500
                    text: item.name
501
                }));
501
                }));
502
            }
502
            }
Línea 514... Línea 514...
514
    }
514
    }
Línea 515... Línea 515...
515
 
515
 
516
    /**
516
    /**
517
     * Render Competencies data
517
     * Render Competencies data
518
     */
518
     */
519
    const renderDependentData = (data) => {
519
    const renderSubordinateData = (data) => {
520
        $("#dependent").html($("#sectionJob").render(data));
520
        $("#subordinate").html($("#sectionJob").render(data));
521
    }
521
    }
522
    /**
522
    /**
523
     * Filter competencies selected
523
     * Filter competencies selected
524
     */
524
     */
Línea 525... Línea 525...
525
    const filterItemById = (id) => competencies_selected.filter((item) => item.competency_id == id ? item : false)[0];
525
    const filterItemById = (id) => competencies_selected.filter((item) => item.competency_id == id ? item : false)[0];
526
 
526
 
527
     /**
527
     /**
528
     * Filter depended selected
528
     * Filter depended selected
Línea 529... Línea 529...
529
     */
529
     */
530
    const filterDependedItemById = (id) => dependents_selected.filter((item) => item.job_description_id == id ? item : false)[0];
530
    const filterDependedItemById = (id) => subordinates_selected.filter((item) => item.job_description_id == id ? item : false)[0];
531
 
531
 
532
    /**
532
    /**
Línea 687... Línea 687...
687
                  </li>
687
                  </li>
688
                  <li class="nav-item">
688
                  <li class="nav-item">
689
                     <a class="nav-link" id="custom-tabs-compentencies-tab" data-toggle="pill" href="#custom-tabs-compentencies" role="tab" aria-controls="custom-tabs-compentencies" aria-selected="false">LABEL_COMPETENCIES</a>
689
                     <a class="nav-link" id="custom-tabs-compentencies-tab" data-toggle="pill" href="#custom-tabs-compentencies" role="tab" aria-controls="custom-tabs-compentencies" aria-selected="false">LABEL_COMPETENCIES</a>
690
                  </li>
690
                  </li>
691
                  <li class="nav-item">
691
                  <li class="nav-item">
692
                     <a class="nav-link" id="custom-tabs-dependent-tab" data-toggle="pill" href="#custom-tabs-dependent" role="tab" aria-controls="custom-tabs-dependent" aria-selected="false">LABEL_SUBORDINATES</a>
692
                     <a class="nav-link" id="custom-tabs-subordinate-tab" data-toggle="pill" href="#custom-tabs-subordinate" role="tab" aria-controls="custom-tabs-subordinate" aria-selected="false">LABEL_SUBORDINATES</a>
693
                  </li>
693
                  </li>
694
               </ul>
694
               </ul>
695
            </div>
695
            </div>
696
            <div class="card-body">
696
            <div class="card-body">
697
               <?php 
697
               <?php 
Línea 703... Línea 703...
703
                  ]);
703
                  ]);
Línea 704... Línea 704...
704
                  
704
                  
705
                  $form->prepare();
705
                  $form->prepare();
706
                  echo $this->form()->openTag($form);
706
                  echo $this->form()->openTag($form);
707
                  ?>		
707
                  ?>		
708
               <input type="hidden" id="dependents_selected" name="dependents_selected" value="">	
708
               <input type="hidden" id="subordinates_selected" name="subordinates_selected" value="">	
709
               <input type="hidden" id="competencies_selected" name="competencies_selected" value="">			
709
               <input type="hidden" id="competencies_selected" name="competencies_selected" value="">			
710
               <div class="tab-content" id="custom-tabs-three-tabContent">
710
               <div class="tab-content" id="custom-tabs-three-tabContent">
711
                  <div class="tab-pane fade show active" id="custom-tabs-general" role="tabpanel" aria-labelledby="custom-tabs-general-tab">
711
                  <div class="tab-pane fade show active" id="custom-tabs-general" role="tabpanel" aria-labelledby="custom-tabs-general-tab">
712
                     <div class="row">
712
                     <div class="row">
Línea 783... Línea 783...
783
                        <br>
783
                        <br>
784
                        <div class="col-md-12 col-sm-12 col-xs-12" id="competencies-job" style="margin-top: 10px;">
784
                        <div class="col-md-12 col-sm-12 col-xs-12" id="competencies-job" style="margin-top: 10px;">
785
                        </div>
785
                        </div>
786
                     </div>
786
                     </div>
787
                  </div>
787
                  </div>
788
                  <div class="tab-pane fade" id="custom-tabs-dependent" role="tabpanel" aria-labelledby="custom-tabs-dependent-tab">
788
                  <div class="tab-pane fade" id="custom-tabs-subordinate" role="tabpanel" aria-labelledby="custom-tabs-subordinate-tab">
789
                     <div class="row">
789
                     <div class="row">
790
                        <div class="col-md-8 col-sm-8 col-xs-12">
790
                        <div class="col-md-8 col-sm-8 col-xs-12">
791
                           <select id="select-dependent" class="form-control"></select>
791
                           <select id="select-subordinate" class="form-control"></select>
792
                        </div>
792
                        </div>
793
                        <div class="col-md-4 col-sm-4 col-xs-12">
793
                        <div class="col-md-4 col-sm-4 col-xs-12">
794
                           <button type="button" class="btn btn-primary" id="btn-select-dependent" data-toggle="tooltip" title="LABEL_ADD ">LABEL_ADD </button>
794
                           <button type="button" class="btn btn-primary" id="btn-select-subordinate" data-toggle="tooltip" title="LABEL_ADD ">LABEL_ADD </button>
795
                        </div>
795
                        </div>
796
                     </div>
796
                     </div>
797
                     <div class="row" >
797
                     <div class="row" >
798
                        <div class="col-md-12 col-sm-12 col-xs-12"  style="margin-top: 10px;">
798
                        <div class="col-md-12 col-sm-12 col-xs-12"  style="margin-top: 10px;">
799
                           <table class="table table-bordered">
799
                           <table class="table table-bordered">
Línea 801... Línea 801...
801
                                 <tr>
801
                                 <tr>
802
                                    <th style="width: 60%;">LABEL_NAME</th>
802
                                    <th style="width: 60%;">LABEL_NAME</th>
803
                                    <th style="width: 20%;">LABEL_ACTIONS</th>
803
                                    <th style="width: 20%;">LABEL_ACTIONS</th>
804
                                 </tr>
804
                                 </tr>
805
                              </thead>
805
                              </thead>
806
                              <tbody id="dependent"></tbody>
806
                              <tbody id="subordinate"></tbody>
807
                           </table>
807
                           </table>
808
                        </div>
808
                        </div>
809
                     </div>
809
                     </div>
810
                  </div>
810
                  </div>
811
               </div>
811
               </div>
Línea 925... Línea 925...
925
   <script id="sectionJob" type="text/x-jsrender">
925
   <script id="sectionJob" type="text/x-jsrender">
926
   <tr>
926
   <tr>
927
       <td class="text-left">{{:name}}</td>   
927
       <td class="text-left">{{:name}}</td>   
928
       <td>
928
       <td>
Línea 929... Línea 929...
929
         
929
         
930
           <button class="btn btn-default btn-delete-dependent" data-dependent="{{:job_description_id}}" data-toggle="tooltip"  data-original-title="LABEL_DELETE"><i class="fa fa-ban" aria-hidden="true"></i> LABEL_DELETE</button>   
930
           <button class="btn btn-default btn-delete-subordinate" data-subordinate="{{:job_description_id}}" data-toggle="tooltip"  data-original-title="LABEL_DELETE"><i class="fa fa-ban" aria-hidden="true"></i> LABEL_DELETE</button>   
931
       </td>
931
       </td>
932
   </tr>
932
   </tr>
Línea 933... Línea 933...
933
    </script>
933
    </script>