| 1631 | eleazar | 1 | <?php
 | 
        
           |  |  | 2 | $acl = $this->viewModel()->getRoot()->getVariable('acl');
 | 
        
           |  |  | 3 | $currentUser = $this->currentUserHelper();
 | 
        
           |  |  | 4 | $roleName = $currentUser->getUserTypeId();
 | 
        
           | 1481 | eleazar | 5 |   | 
        
           | 1482 | eleazar | 6 | $routeDatatable = $this->url('recruitment-and-selection/candidates');
 | 
        
           | 1637 | eleazar | 7 | $routeEmail = $this->url('recruitment-and-selection/user-by-email');
 | 
        
           | 1506 | eleazar | 8 | $routeAdd = $this->url('recruitment-and-selection/candidates/add', ['vacancy_uuid' => 'UUID_PLACEHOLDER']);
 | 
        
           | 1481 | eleazar | 9 |   | 
        
           | 1482 | eleazar | 10 | $allowAdd = $acl->isAllowed($roleName, 'recruitment-and-selection/candidates/add') ? 1 : 0;
 | 
        
           |  |  | 11 | $allowDelete = $acl->isAllowed($roleName, 'recruitment-and-selection/candidates/delete') ? 1 : 0;
 | 
        
           | 1613 | eleazar | 12 | $allowEdit = $acl->isAllowed($roleName, 'recruitment-and-selection/candidates/edit') ? 1 : 0;
 | 
        
           | 1636 | eleazar | 13 | $allowEmail = $acl->isAllowed($roleName, 'recruitment-and-selection/user-by-email') ? 1 : 0;
 | 
        
           | 1481 | eleazar | 14 |   | 
        
           |  |  | 15 | $this->headLink()->appendStylesheet($this->basePath('plugins/nprogress/nprogress.css'));
 | 
        
           |  |  | 16 | $this->inlineScript()->appendFile($this->basePath('plugins/nprogress/nprogress.js'));
 | 
        
           |  |  | 17 |   | 
        
           | 1649 | eleazar | 18 | $this->inlineScript()->appendFile($this->basePath('plugins/ckeditor/ckeditor.js'));
 | 
        
           | 1481 | eleazar | 19 |   | 
        
           |  |  | 20 | $this->inlineScript()->appendFile($this->basePath('plugins/bootbox/bootbox.min.js'));
 | 
        
           |  |  | 21 |   | 
        
           | 1490 | eleazar | 22 | $this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap-fileinput/css/fileinput.min.css'));
 | 
        
           |  |  | 23 | $this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap-fileinput/themes/explorer-fas/theme.css'));
 | 
        
           | 1481 | eleazar | 24 |   | 
        
           | 1490 | eleazar | 25 | $this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/js/plugins/piexif.js'));
 | 
        
           |  |  | 26 | $this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/js/plugins/sortable.js'));
 | 
        
           |  |  | 27 | $this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/js/fileinput.js'));
 | 
        
           |  |  | 28 | $this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/js/locales/es.js'));
 | 
        
           |  |  | 29 | $this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/themes/fas/theme.js'));
 | 
        
           |  |  | 30 | $this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/themes/explorer-fas/theme.js'));
 | 
        
           |  |  | 31 |   | 
        
           |  |  | 32 |   | 
        
           | 1481 | eleazar | 33 | $this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/jquery.validate.js'));
 | 
        
           |  |  | 34 | $this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/additional-methods.js'));
 | 
        
           |  |  | 35 | $this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/localization/messages_es.js'));
 | 
        
           |  |  | 36 |   | 
        
           |  |  | 37 | $this->headLink()->appendStylesheet($this->basePath('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css'));
 | 
        
           |  |  | 38 | $this->headLink()->appendStylesheet($this->basePath('plugins/datatables-responsive/css/responsive.bootstrap4.min.css'));
 | 
        
           |  |  | 39 |   | 
        
           |  |  | 40 | $this->inlineScript()->appendFile($this->basePath('plugins/datatables/jquery.dataTables.min.js'));
 | 
        
           |  |  | 41 | $this->inlineScript()->appendFile($this->basePath('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js'));
 | 
        
           |  |  | 42 | $this->inlineScript()->appendFile($this->basePath('plugins/datatables-responsive/js/dataTables.responsive.min.js'));
 | 
        
           |  |  | 43 | $this->inlineScript()->appendFile($this->basePath('plugins/datatables-responsive/js/responsive.bootstrap4.min.js'));
 | 
        
           |  |  | 44 |   | 
        
           |  |  | 45 |   | 
        
           |  |  | 46 | $this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/jquery.validate.js'));
 | 
        
           |  |  | 47 | $this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/additional-methods.js'));
 | 
        
           |  |  | 48 | $this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/localization/messages_es.js'));
 | 
        
           |  |  | 49 |   | 
        
           |  |  | 50 |   | 
        
           |  |  | 51 | $this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap4-toggle/css/bootstrap4-toggle.min.css'));
 | 
        
           |  |  | 52 | $this->inlineScript()->appendFile($this->basePath('plugins/bootstrap4-toggle/js/bootstrap4-toggle.min.js'));
 | 
        
           |  |  | 53 |   | 
        
           | 1886 | eleazar | 54 | $this->inlineScript()->appendFile($this->basePath('plugins/select2/js/select2.js'));
 | 
        
           |  |  | 55 | $this->inlineScript()->appendFile($this->basePath('plugins/select2/js/i18n/es.js'));
 | 
        
           |  |  | 56 | $this->headLink()->appendStylesheet($this->basePath('plugins/select2/css/select2.css'));
 | 
        
           |  |  | 57 |   | 
        
           |  |  | 58 | $this->headLink()->appendStylesheet($this->basePath('plugins/select2-bootstrap4-theme/select2-bootstrap4.css'));
 | 
        
           |  |  | 59 |   | 
        
           | 1481 | eleazar | 60 | $this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-confirmation/dist/bootstrap-confirmation.js'));
 | 
        
           |  |  | 61 | $this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap-checkbox/awesome-bootstrap-checkbox.css'));
 | 
        
           |  |  | 62 |   | 
        
           |  |  | 63 |   | 
        
           | 3880 | eleazar | 64 | $status_active = \LeadersLinked\Model\RecruitmentSelectionCandidate::STATUS_ACEPTED;
 | 
        
           | 3878 | eleazar | 65 | $status_inactive = \LeadersLinked\Model\RecruitmentSelectionCandidate::STATUS_REJECTED;
 | 
        
           | 1649 | eleazar | 66 |   | 
        
           | 1658 | eleazar | 67 | $evaluation_0 = \LeadersLinked\Model\RecruitmentSelectionCandidate::EVALUATION_0;
 | 
        
           |  |  | 68 | $evaluation_1 = \LeadersLinked\Model\RecruitmentSelectionCandidate::EVALUATION_1;
 | 
        
           |  |  | 69 | $evaluation_2 = \LeadersLinked\Model\RecruitmentSelectionCandidate::EVALUATION_2;
 | 
        
           |  |  | 70 | $evaluation_3 = \LeadersLinked\Model\RecruitmentSelectionCandidate::EVALUATION_3;
 | 
        
           |  |  | 71 | $evaluation_4 = \LeadersLinked\Model\RecruitmentSelectionCandidate::EVALUATION_4;
 | 
        
           | 1649 | eleazar | 72 |   | 
        
           | 1481 | eleazar | 73 | $this->inlineScript()->captureStart();
 | 
        
           |  |  | 74 | echo <<<JS
 | 
        
           | 8565 | efrain | 75 |     $.prototype.fileinput.Constructor.prototype["setUploadUrl"] = function(url) {
 | 
        
           |  |  | 76 |         this.uploadUrl = url;
 | 
        
           |  |  | 77 |     }
 | 
        
           |  |  | 78 |   | 
        
           |  |  | 79 |   | 
        
           | 1631 | eleazar | 80 | jQuery(document).ready(function ($) {
 | 
        
           | 8557 | efrain | 81 |   | 
        
           |  |  | 82 |   | 
        
           |  |  | 83 |   | 
        
           | 1481 | eleazar | 84 |     var allowAdd = $allowAdd;
 | 
        
           | 1613 | eleazar | 85 |     var allowDelete = $allowDelete;
 | 
        
           |  |  | 86 |     var allowEdit = $allowEdit;
 | 
        
           | 1630 | eleazar | 87 |     var allowEmail = $allowEmail;
 | 
        
           | 1481 | eleazar | 88 |   | 
        
           | 1631 | eleazar | 89 |     var gridTable = $('#gridTable').dataTable({
 | 
        
           |  |  | 90 |         'processing': true,
 | 
        
           |  |  | 91 |         'serverSide': true,
 | 
        
           |  |  | 92 |         'searching': true,
 | 
        
           |  |  | 93 |         'order': [[1, 'asc']],
 | 
        
           |  |  | 94 |         'ordering': true,
 | 
        
           |  |  | 95 |         'ordenable': true,
 | 
        
           |  |  | 96 |         'responsive': true,
 | 
        
           |  |  | 97 |         'select': false,
 | 
        
           |  |  | 98 |         'paging': true,
 | 
        
           |  |  | 99 |         'pagingType': 'simple_numbers',
 | 
        
           |  |  | 100 |         'lengthMenu': [[10, 25, 50, -1], [10, 25, 50, 'All']],
 | 
        
           | 1481 | eleazar | 101 |   | 
        
           | 1631 | eleazar | 102 |         'ajax': {
 | 
        
           |  |  | 103 |             'url': '$routeDatatable',
 | 
        
           |  |  | 104 |             'type': 'get',
 | 
        
           |  |  | 105 |             'data': function (d) {
 | 
        
           | 1481 | eleazar | 106 |             },
 | 
        
           | 1631 | eleazar | 107 |             'beforeSend': function (request) {
 | 
        
           |  |  | 108 |                 NProgress.start();
 | 
        
           |  |  | 109 |             },
 | 
        
           |  |  | 110 |             'dataFilter': function (response) {
 | 
        
           |  |  | 111 |                 var response = jQuery.parseJSON(response);
 | 
        
           | 1481 | eleazar | 112 |   | 
        
           | 1631 | eleazar | 113 |                 var json = {};
 | 
        
           |  |  | 114 |                 json.recordsTotal = 0;
 | 
        
           |  |  | 115 |                 json.recordsFiltered = 0;
 | 
        
           |  |  | 116 |                 json.data = [];
 | 
        
           | 1481 | eleazar | 117 |   | 
        
           | 1631 | eleazar | 118 |                 if (response.success) {
 | 
        
           |  |  | 119 |                     json.recordsTotal = response.data.total;
 | 
        
           |  |  | 120 |                     json.recordsFiltered = response.data.total;
 | 
        
           |  |  | 121 |                     json.data = response.data.items;
 | 
        
           |  |  | 122 |                 } else {
 | 
        
           |  |  | 123 |                     $.fn.showError(response.data)
 | 
        
           |  |  | 124 |                 }
 | 
        
           | 1484 | eleazar | 125 |   | 
        
           | 1631 | eleazar | 126 |                 return JSON.stringify(json);
 | 
        
           |  |  | 127 |             }
 | 
        
           |  |  | 128 |         },
 | 
        
           |  |  | 129 |         'language': {
 | 
        
           |  |  | 130 |             'sProcessing': 'LABEL_DATATABLE_SPROCESSING',
 | 
        
           |  |  | 131 |             'sLengthMenu': 'LABEL_DATATABLE_SLENGTHMENU',
 | 
        
           |  |  | 132 |             'sZeroRecords': 'LABEL_DATATABLE_SZERORECORDS',
 | 
        
           |  |  | 133 |             'sEmptyTable': 'LABEL_DATATABLE_SEMPTYTABLE',
 | 
        
           |  |  | 134 |             'sInfo': 'LABEL_DATATABLE_SINFO',
 | 
        
           |  |  | 135 |             'sInfoEmpty': 'LABEL_DATATABLE_SINFOEMPTY',
 | 
        
           |  |  | 136 |             'sInfoFiltered': 'LABEL_DATATABLE_SINFOFILTERED',
 | 
        
           |  |  | 137 |             'sInfoPostFix': '',
 | 
        
           |  |  | 138 |             'sSearch': 'LABEL_DATATABLE_SSEARCH',
 | 
        
           |  |  | 139 |             'sUrl': '',
 | 
        
           |  |  | 140 |             'sInfoThousands': ',',
 | 
        
           |  |  | 141 |             'sLoadingRecords': 'LABEL_DATATABLE_SLOADINGRECORDS',
 | 
        
           |  |  | 142 |             'oPaginate': {
 | 
        
           |  |  | 143 |                 'sFirst': 'LABEL_DATATABLE_SFIRST',
 | 
        
           |  |  | 144 |                 'sLast': 'LABEL_DATATABLE_SLAST',
 | 
        
           |  |  | 145 |                 'sNext': 'LABEL_DATATABLE_SNEXT',
 | 
        
           |  |  | 146 |                 'sPrevious': 'LABEL_DATATABLE_SPREVIOUS'
 | 
        
           |  |  | 147 |             },
 | 
        
           |  |  | 148 |             'oAria': {
 | 
        
           |  |  | 149 |                 'sSortAscending': ': LABEL_DATATABLE_SSORTASCENDING',
 | 
        
           |  |  | 150 |                 'sSortDescending': ':LABEL_DATATABLE_SSORTDESCENDING'
 | 
        
           |  |  | 151 |             },
 | 
        
           |  |  | 152 |         },
 | 
        
           |  |  | 153 |         'drawCallback': function (settings) {
 | 
        
           |  |  | 154 |             NProgress.done();
 | 
        
           |  |  | 155 |             $('button.btn-delete').confirmation({
 | 
        
           |  |  | 156 |                 rootSelector: 'button.btn-delete',
 | 
        
           |  |  | 157 |                 title: 'LABEL_ARE_YOU_SURE',
 | 
        
           |  |  | 158 |                 singleton: true,
 | 
        
           |  |  | 159 |                 btnOkLabel: 'LABEL_YES',
 | 
        
           |  |  | 160 |                 btnCancelLabel: 'LABEL_NO',
 | 
        
           |  |  | 161 |                 onConfirm: function (value) {
 | 
        
           |  |  | 162 |                     action = $(this).data('href');
 | 
        
           |  |  | 163 |                     NProgress.start();
 | 
        
           |  |  | 164 |                     $.ajax({
 | 
        
           |  |  | 165 |                         'dataType': 'json',
 | 
        
           |  |  | 166 |                         'accept': 'application/json',
 | 
        
           |  |  | 167 |                         'method': 'post',
 | 
        
           |  |  | 168 |                         'url': action,
 | 
        
           |  |  | 169 |                     }).done(function (response) {
 | 
        
           |  |  | 170 |                         if (response['success']) {
 | 
        
           |  |  | 171 |                             $.fn.showSuccess(response['data']);
 | 
        
           |  |  | 172 |                             gridTable.api().ajax.reload(null, false);
 | 
        
           |  |  | 173 |                         } else {
 | 
        
           |  |  | 174 |                             $.fn.showError(response['data']);
 | 
        
           |  |  | 175 |                         }
 | 
        
           |  |  | 176 |                     }).fail(function (jqXHR, textStatus, errorThrown) {
 | 
        
           |  |  | 177 |                         $.fn.showError(textStatus);
 | 
        
           |  |  | 178 |                     }).always(function () {
 | 
        
           |  |  | 179 |                         NProgress.done();
 | 
        
           |  |  | 180 |                     });
 | 
        
           |  |  | 181 |                 },
 | 
        
           |  |  | 182 |             });
 | 
        
           | 1484 | eleazar | 183 |   | 
        
           | 1631 | eleazar | 184 |             $('#form-add #file').fileinput({
 | 
        
           |  |  | 185 |                 theme: 'fas',
 | 
        
           |  |  | 186 |                 language: 'es',
 | 
        
           |  |  | 187 |                 showUpload: false,
 | 
        
           |  |  | 188 |                 dropZoneEnabled: false,
 | 
        
           |  |  | 189 |                 maxFileCount: 1,
 | 
        
           |  |  | 190 |                 allowedFileExtensions: ['pdf', 'docx'],
 | 
        
           |  |  | 191 |             });
 | 
        
           | 1484 | eleazar | 192 |   | 
        
           | 8567 | eleazar | 193 |             $('#form-edit #file').fileinput({
 | 
        
           | 8570 | eleazar | 194 |                 theme: 'fas',
 | 
        
           |  |  | 195 |                 language: 'es',
 | 
        
           | 8614 | eleazar | 196 |                 showUpload: false,
 | 
        
           |  |  | 197 |                 initialPreviewAsData: true,
 | 
        
           | 8615 | eleazar | 198 |                 dropZoneEnabled: false,
 | 
        
           | 8570 | eleazar | 199 |                 maxFileCount: 1,
 | 
        
           | 8567 | eleazar | 200 |                 allowedFileExtensions: ['pdf', 'docx'],
 | 
        
           |  |  | 201 |             });
 | 
        
           |  |  | 202 |   | 
        
           |  |  | 203 |   | 
        
           | 1631 | eleazar | 204 |             $('body').on('click', 'button.btn-add', function (e) {
 | 
        
           |  |  | 205 |                 e.preventDefault();
 | 
        
           | 1484 | eleazar | 206 |   | 
        
           | 1660 | eleazar | 207 |                 $('#form-add #user_id').val('');
 | 
        
           | 1631 | eleazar | 208 |                 $('#form-add #first_name').val('');
 | 
        
           |  |  | 209 |                 $('#form-add #last_name').val('');
 | 
        
           |  |  | 210 |                 $('#form-add #email').val('');
 | 
        
           |  |  | 211 |                 $('#form-add #file').fileinput('reset');
 | 
        
           |  |  | 212 |                 $('#form-add #file').val('');
 | 
        
           | 1649 | eleazar | 213 |                 $('#form-add #status').val('$status_active');
 | 
        
           | 1659 | eleazar | 214 |                 $('#form-add #evaluation').val('$evaluation_0');
 | 
        
           | 3866 | eleazar | 215 |                 $('#first-step').show();
 | 
        
           | 3877 | eleazar | 216 |                 $('#second-step').hide();
 | 
        
           | 1653 | eleazar | 217 |                 CKEDITOR.instances.coment.setData('');
 | 
        
           | 1631 | eleazar | 218 |                 validatorAdd.resetForm();
 | 
        
           | 8600 | eleazar | 219 |   | 
        
           | 1631 | eleazar | 220 |                 $('#add-candidate-box').modal('show');
 | 
        
           |  |  | 221 |                 return false;
 | 
        
           |  |  | 222 |             });
 | 
        
           | 1616 | eleazar | 223 |   | 
        
           | 1631 | eleazar | 224 |             $(".close-box, .btn-add-cancel").on("click", function (e) {
 | 
        
           |  |  | 225 |                 e.preventDefault();
 | 
        
           | 3852 | eleazar | 226 |                 $('#form-add #first_name').prop("disabled", false);
 | 
        
           |  |  | 227 |                 $('#form-add #last_name').prop('disabled', false);
 | 
        
           | 3866 | eleazar | 228 |                 $('#secon-step').hide();
 | 
        
           | 1631 | eleazar | 229 |                 $('#add-candidate-box').modal('hide');
 | 
        
           |  |  | 230 |                 $('#edit-candidate-box').modal('hide');
 | 
        
           |  |  | 231 |                 return false;
 | 
        
           | 1616 | eleazar | 232 |             });
 | 
        
           |  |  | 233 |   | 
        
           | 1631 | eleazar | 234 |             var validatorEdit = $('#form-edit').validate({
 | 
        
           |  |  | 235 |                 debug: true,
 | 
        
           |  |  | 236 |                 onclick: false,
 | 
        
           |  |  | 237 |                 onkeyup: false,
 | 
        
           |  |  | 238 |                 onfocusout: false,
 | 
        
           |  |  | 239 |                 ignore: [],
 | 
        
           |  |  | 240 |                 rules: {
 | 
        
           | 1660 | eleazar | 241 |                     'user_id': {
 | 
        
           |  |  | 242 |                         required: false,
 | 
        
           |  |  | 243 |                     },
 | 
        
           | 1631 | eleazar | 244 |                     'first_name': {
 | 
        
           |  |  | 245 |                         required: true,
 | 
        
           |  |  | 246 |                         maxlength: 128,
 | 
        
           |  |  | 247 |                     },
 | 
        
           |  |  | 248 |                     'file': {
 | 
        
           |  |  | 249 |                         required: false,
 | 
        
           |  |  | 250 |                         extension: 'pdf|docx',
 | 
        
           |  |  | 251 |                         accept: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/msword,application/pdf'
 | 
        
           |  |  | 252 |                     },
 | 
        
           |  |  | 253 |                     'last_name': {
 | 
        
           |  |  | 254 |                         required: true,
 | 
        
           |  |  | 255 |                     },
 | 
        
           |  |  | 256 |                     'email': {
 | 
        
           |  |  | 257 |                         required: true,
 | 
        
           |  |  | 258 |                     },
 | 
        
           | 1658 | eleazar | 259 |                     'evaluation':{
 | 
        
           | 1649 | eleazar | 260 |                         required: false,
 | 
        
           |  |  | 261 |                     },
 | 
        
           | 1654 | eleazar | 262 |                     'coment':{
 | 
        
           |  |  | 263 |                         updateCkeditor:function() {
 | 
        
           | 1656 | eleazar | 264 |                         CKEDITOR.instances.coment.updateElement();
 | 
        
           | 1654 | eleazar | 265 |                         },
 | 
        
           | 1649 | eleazar | 266 |                     },
 | 
        
           | 1631 | eleazar | 267 |                     'status': {
 | 
        
           |  |  | 268 |                         required: true,
 | 
        
           |  |  | 269 |                     }
 | 
        
           |  |  | 270 |                 },
 | 
        
           |  |  | 271 |                 submitHandler: function (form) {
 | 
        
           |  |  | 272 |                     var formdata = false;
 | 
        
           |  |  | 273 |                     if (window.FormData) {
 | 
        
           |  |  | 274 |                         formdata = new FormData(form); //form[0]);
 | 
        
           |  |  | 275 |                     }
 | 
        
           | 1616 | eleazar | 276 |   | 
        
           | 1631 | eleazar | 277 |                     $('input[type="submit"]').prop('disabled', true);
 | 
        
           | 1616 | eleazar | 278 |   | 
        
           | 1631 | eleazar | 279 |                     $.ajax({
 | 
        
           |  |  | 280 |                         'dataType': 'json',
 | 
        
           |  |  | 281 |                         'accept': 'application/json',
 | 
        
           |  |  | 282 |                         'method': 'post',
 | 
        
           |  |  | 283 |                         'url': $('#form-edit').attr('action'),
 | 
        
           |  |  | 284 |                         'data': formdata,
 | 
        
           |  |  | 285 |                         'processData': false,
 | 
        
           |  |  | 286 |                         'contentType': false,
 | 
        
           |  |  | 287 |                     }).done(function (response) {
 | 
        
           |  |  | 288 |                         if (response['success']) {
 | 
        
           |  |  | 289 |                             $.fn.showSuccess(response['data']);
 | 
        
           |  |  | 290 |   | 
        
           |  |  | 291 |                             $('#edit-candidate-box').modal('hide');
 | 
        
           |  |  | 292 |                             gridTable.api().ajax.reload(null, false);
 | 
        
           |  |  | 293 |                         } else {
 | 
        
           |  |  | 294 |                             validatorEdit.resetForm();
 | 
        
           |  |  | 295 |                             if (jQuery.type(response['data']) == 'string') {
 | 
        
           |  |  | 296 |                                 $.fn.showError(response['data']);
 | 
        
           |  |  | 297 |                             } else {
 | 
        
           |  |  | 298 |                                 $.each(response['data'], function (fieldname, errors) {
 | 
        
           |  |  | 299 |                                     $.fn.showFormErrorValidator('#form-edit #' + fieldname, errors);
 | 
        
           |  |  | 300 |                                 });
 | 
        
           |  |  | 301 |                             }
 | 
        
           |  |  | 302 |                         }
 | 
        
           |  |  | 303 |                     }).fail(function (jqXHR, textStatus, errorThrown) {
 | 
        
           |  |  | 304 |                         $.fn.showError(textStatus);
 | 
        
           |  |  | 305 |                     }).always(function () {
 | 
        
           |  |  | 306 |                         NProgress.done();
 | 
        
           |  |  | 307 |                     });
 | 
        
           |  |  | 308 |                     return false;
 | 
        
           |  |  | 309 |                 },
 | 
        
           |  |  | 310 |                 invalidHandler: function (form, validator) {
 | 
        
           |  |  | 311 |   | 
        
           | 1616 | eleazar | 312 |                 }
 | 
        
           |  |  | 313 |             });
 | 
        
           |  |  | 314 |   | 
        
           | 1631 | eleazar | 315 |             $('body').on('click', 'button.btn-edit', function (e) {
 | 
        
           |  |  | 316 |                 e.preventDefault();
 | 
        
           | 1486 | eleazar | 317 |   | 
        
           | 1631 | eleazar | 318 |                 var url = $(this).data('href');
 | 
        
           |  |  | 319 |                 $.ajax({
 | 
        
           |  |  | 320 |                     'dataType': 'json',
 | 
        
           |  |  | 321 |                     'accept': 'application/json',
 | 
        
           |  |  | 322 |                     'method': 'get',
 | 
        
           |  |  | 323 |                     'url': url,
 | 
        
           |  |  | 324 |                 }).done(function (response) {
 | 
        
           |  |  | 325 |                     if (response['success']) {
 | 
        
           | 8603 | eleazar | 326 |                         $('#form-edit')[0].reset();
 | 
        
           | 1486 | eleazar | 327 |   | 
        
           | 8603 | eleazar | 328 |                         $('#form-edit').attr('action', url);
 | 
        
           | 1660 | eleazar | 329 |   | 
        
           | 8603 | eleazar | 330 |                         $('#form-edit #first_name').val(response['data']['user_id']);
 | 
        
           |  |  | 331 |                         $('#form-edit #first_name').val(response['data']['first_name']);
 | 
        
           |  |  | 332 |                         $('#form-edit #last_name').val(response['data']['last_name']);
 | 
        
           |  |  | 333 |                         $('#form-edit #email').val(response['data']['email']);
 | 
        
           |  |  | 334 |                         $('#form-edit #status').val(response['data']['status']);
 | 
        
           |  |  | 335 |                         $('#form-edit #evaluation').val(response['data']['evaluation']);
 | 
        
           |  |  | 336 |                         $('#form-edit #coment').val(response['data']['coment']);
 | 
        
           | 8620 | eleazar | 337 |                         $('#form-edit #btn-cv').attr('href', response['data']['file']);
 | 
        
           |  |  | 338 |   | 
        
           | 8598 | eleazar | 339 |   | 
        
           | 8555 | efrain | 340 |   | 
        
           | 8603 | eleazar | 341 |                         $('#form-edit #file').fileinput('reset');
 | 
        
           |  |  | 342 |                         $('#form-edit #file').fileinput('setUploadUrl', response['data']['file'] );
 | 
        
           | 1631 | eleazar | 343 |   | 
        
           |  |  | 344 |   | 
        
           | 8603 | eleazar | 345 |                         $('#form-edit #status').val(response['data']['status']);
 | 
        
           | 1631 | eleazar | 346 |   | 
        
           | 8603 | eleazar | 347 |                         $('#edit-candidate-box').modal('show');
 | 
        
           | 1631 | eleazar | 348 |                     } else {
 | 
        
           | 8603 | eleazar | 349 |                         validatorEdit.resetForm();
 | 
        
           | 1631 | eleazar | 350 |                         if (jQuery.type(response['data']) == 'string') {
 | 
        
           |  |  | 351 |                             $.fn.showError(response['data']);
 | 
        
           |  |  | 352 |                         } else {
 | 
        
           |  |  | 353 |                             $.each(response['data'], function (fieldname, errors) {
 | 
        
           | 8603 | eleazar | 354 |                                 $.fn.showFormErrorValidator('#form-edit #' + fieldname, errors);
 | 
        
           | 1631 | eleazar | 355 |                             });
 | 
        
           |  |  | 356 |                         }
 | 
        
           | 1486 | eleazar | 357 |                     }
 | 
        
           | 1631 | eleazar | 358 |                 }).fail(function (jqXHR, textStatus, errorThrown) {
 | 
        
           |  |  | 359 |                     $.fn.showError(textStatus);
 | 
        
           |  |  | 360 |                 }).always(function () {
 | 
        
           |  |  | 361 |                     NProgress.done();
 | 
        
           |  |  | 362 |                 });
 | 
        
           | 1486 | eleazar | 363 |             });
 | 
        
           |  |  | 364 |   | 
        
           | 1631 | eleazar | 365 |             var validatorAdd = $('#form-add').validate({
 | 
        
           |  |  | 366 |                 debug: true,
 | 
        
           |  |  | 367 |                 onclick: false,
 | 
        
           |  |  | 368 |                 onkeyup: false,
 | 
        
           |  |  | 369 |                 onfocusout: false,
 | 
        
           |  |  | 370 |                 ignore: [],
 | 
        
           |  |  | 371 |                 rules: {
 | 
        
           | 1660 | eleazar | 372 |                     'user_id': {
 | 
        
           |  |  | 373 |                         required: false,
 | 
        
           |  |  | 374 |                     },
 | 
        
           | 1631 | eleazar | 375 |                     'first_name': {
 | 
        
           |  |  | 376 |                         required: true,
 | 
        
           |  |  | 377 |                         maxlength: 128,
 | 
        
           |  |  | 378 |                     },
 | 
        
           |  |  | 379 |                     'file': {
 | 
        
           |  |  | 380 |                         required: false,
 | 
        
           |  |  | 381 |                         extension: 'pdf|docx',
 | 
        
           |  |  | 382 |                         accept: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/msword,application/pdf'
 | 
        
           |  |  | 383 |                     },
 | 
        
           |  |  | 384 |                     'last_name': {
 | 
        
           |  |  | 385 |                         required: true,
 | 
        
           |  |  | 386 |                     },
 | 
        
           |  |  | 387 |                     'email': {
 | 
        
           |  |  | 388 |                         required: true,
 | 
        
           |  |  | 389 |                     },
 | 
        
           | 1658 | eleazar | 390 |                     'evaluation':{
 | 
        
           | 1649 | eleazar | 391 |                         required: false,
 | 
        
           |  |  | 392 |                     },
 | 
        
           | 1654 | eleazar | 393 |                     'coment':{
 | 
        
           |  |  | 394 |                         updateCkeditor:function() {
 | 
        
           | 1656 | eleazar | 395 |                             CKEDITOR.instances.coment.updateElement();
 | 
        
           | 1654 | eleazar | 396 |                         },
 | 
        
           | 1649 | eleazar | 397 |                     },
 | 
        
           | 1631 | eleazar | 398 |                     'status': {
 | 
        
           |  |  | 399 |                         required: true,
 | 
        
           |  |  | 400 |                     }
 | 
        
           |  |  | 401 |                 },
 | 
        
           |  |  | 402 |                 submitHandler: function (form) {
 | 
        
           |  |  | 403 |                     var formdata = false;
 | 
        
           |  |  | 404 |                     if (window.FormData) {
 | 
        
           |  |  | 405 |                         formdata = new FormData(form); //form[0]);
 | 
        
           |  |  | 406 |                     }
 | 
        
           | 1630 | eleazar | 407 |   | 
        
           | 1631 | eleazar | 408 |                     $('input[type="submit"]').prop('disabled', true);
 | 
        
           | 1630 | eleazar | 409 |   | 
        
           | 1631 | eleazar | 410 |                     $.ajax({
 | 
        
           |  |  | 411 |                         'dataType': 'json',
 | 
        
           |  |  | 412 |                         'accept': 'application/json',
 | 
        
           |  |  | 413 |                         'method': 'post',
 | 
        
           |  |  | 414 |                         'url': $('#form-add').attr('action'),
 | 
        
           |  |  | 415 |                         'data': formdata,
 | 
        
           |  |  | 416 |                         'processData': false,
 | 
        
           |  |  | 417 |                         'contentType': false,
 | 
        
           |  |  | 418 |                     }).done(function (response) {
 | 
        
           |  |  | 419 |                         if (response['success']) {
 | 
        
           |  |  | 420 |                             $.fn.showSuccess(response['data']);
 | 
        
           |  |  | 421 |   | 
        
           |  |  | 422 |                             $('#add-candidate-box').modal('hide');
 | 
        
           |  |  | 423 |                             gridTable.api().ajax.reload(null, false);
 | 
        
           |  |  | 424 |                         } else {
 | 
        
           |  |  | 425 |                             validatorAdd.resetForm();
 | 
        
           |  |  | 426 |                             if (jQuery.type(response['data']) == 'string') {
 | 
        
           |  |  | 427 |                                 $.fn.showError(response['data']);
 | 
        
           |  |  | 428 |                             } else {
 | 
        
           |  |  | 429 |                                 $.each(response['data'], function (fieldname, errors) {
 | 
        
           |  |  | 430 |                                     $.fn.showFormErrorValidator('#form-add #' + fieldname, errors);
 | 
        
           |  |  | 431 |                                 });
 | 
        
           |  |  | 432 |                             }
 | 
        
           |  |  | 433 |                         }
 | 
        
           |  |  | 434 |                     }).fail(function (jqXHR, textStatus, errorThrown) {
 | 
        
           |  |  | 435 |                         $.fn.showError(textStatus);
 | 
        
           |  |  | 436 |                     }).always(function () {
 | 
        
           |  |  | 437 |                         NProgress.done();
 | 
        
           |  |  | 438 |                     });
 | 
        
           |  |  | 439 |                     return false;
 | 
        
           |  |  | 440 |                 },
 | 
        
           |  |  | 441 |                 invalidHandler: function (form, validator) {
 | 
        
           |  |  | 442 |   | 
        
           | 1630 | eleazar | 443 |                 }
 | 
        
           |  |  | 444 |             });
 | 
        
           |  |  | 445 |         },
 | 
        
           | 1631 | eleazar | 446 |         'aoColumns': [
 | 
        
           |  |  | 447 |             { 'mDataProp': 'first_name' },
 | 
        
           |  |  | 448 |             { 'mDataProp': 'last_name' },
 | 
        
           |  |  | 449 |             { 'mDataProp': 'email' },
 | 
        
           | 8889 | eleazar | 450 |             { 'mDataProp': 'status' },
 | 
        
           | 1631 | eleazar | 451 |             { 'mDataProp': 'actions' },
 | 
        
           |  |  | 452 |         ],
 | 
        
           |  |  | 453 |         'columnDefs': [
 | 
        
           |  |  | 454 |             {
 | 
        
           | 8889 | eleazar | 455 |                 'targets': -2,
 | 
        
           |  |  | 456 |                 'orderable': false,
 | 
        
           |  |  | 457 |                 'className': 'text-center',
 | 
        
           |  |  | 458 |                 'render': function(data, type, row) {
 | 
        
           |  |  | 459 |                     checked = data == 'a' ? ' checked="checked" ' : '';
 | 
        
           |  |  | 460 |                     return '<div class="checkbox checkbox-success">' +
 | 
        
           |  |  | 461 |                         '<input class="styled" type="checkbox" ' + checked + ' disabled="disabled">' +
 | 
        
           |  |  | 462 |                         '<label ></label></div>';
 | 
        
           |  |  | 463 |                 }
 | 
        
           |  |  | 464 |             },
 | 
        
           |  |  | 465 |             {
 | 
        
           | 1631 | eleazar | 466 |                 'targets': -1,
 | 
        
           |  |  | 467 |                 'orderable': false,
 | 
        
           |  |  | 468 |                 'render': function (data, type, row) {
 | 
        
           |  |  | 469 |                     s = '';
 | 
        
           | 1630 | eleazar | 470 |   | 
        
           | 1631 | eleazar | 471 |                     if (allowEdit && data['link_edit']) {
 | 
        
           |  |  | 472 |                         s = s + '<button class="btn btn-info btn-sm btn-edit" data-href="' + data['link_edit'] + '" data-toggle="tooltip" title="LABEL_EDIT"><i class="fa fa-pencil"></i> LABEL_EDIT </button> ';
 | 
        
           |  |  | 473 |                     }
 | 
        
           | 1481 | eleazar | 474 |   | 
        
           | 1631 | eleazar | 475 |                     if (allowDelete && data['link_delete']) {
 | 
        
           |  |  | 476 |                         s = s + '<button class="btn btn-danger btn-sm btn-delete" data-href="' + data['link_delete'] + '" data-toggle="tooltip" title="LABEL_DELETE"><i class="fa fa-times"></i> LABEL_DELETE </button> ';
 | 
        
           |  |  | 477 |                     }
 | 
        
           | 1614 | eleazar | 478 |   | 
        
           | 1631 | eleazar | 479 |                     return s;
 | 
        
           | 1481 | eleazar | 480 |                 }
 | 
        
           | 1631 | eleazar | 481 |             }
 | 
        
           |  |  | 482 |         ],
 | 
        
           |  |  | 483 |     });
 | 
        
           | 1481 | eleazar | 484 |   | 
        
           | 1631 | eleazar | 485 |     $('#form-filter #form_uuid').change(function (e) {
 | 
        
           | 1481 | eleazar | 486 |         e.preventDefault();
 | 
        
           |  |  | 487 |   | 
        
           | 1503 | eleazar | 488 |         var uuid = e.target.value;
 | 
        
           |  |  | 489 |   | 
        
           | 1507 | eleazar | 490 |         $('#form-add').attr('action', String("$routeAdd").replaceAll('UUID_PLACEHOLDER', uuid));
 | 
        
           | 1503 | eleazar | 491 |   | 
        
           | 1599 | eleazar | 492 |         gridTable.api().ajax.url("$routeDatatable" + "/" + uuid);
 | 
        
           | 1481 | eleazar | 493 |         gridTable.api().ajax.reload(null, false);
 | 
        
           |  |  | 494 |     })
 | 
        
           |  |  | 495 |   | 
        
           |  |  | 496 |   | 
        
           | 1631 | eleazar | 497 |     $('body').on('click', 'button.btn-refresh', function (e) {
 | 
        
           | 1481 | eleazar | 498 |         e.preventDefault();
 | 
        
           |  |  | 499 |         gridTable.api().ajax.reload(null, false);
 | 
        
           |  |  | 500 |     });
 | 
        
           | 1507 | eleazar | 501 |   | 
        
           | 3875 | eleazar | 502 |     $('body').on('click', '#btn-next', function () {
 | 
        
           | 3869 | eleazar | 503 |        $("#first-step").hide();
 | 
        
           |  |  | 504 |        $("#second-step").show();
 | 
        
           |  |  | 505 |     });
 | 
        
           |  |  | 506 |   | 
        
           | 1507 | eleazar | 507 |     $('#form-filter #form_uuid').change();
 | 
        
           | 1642 | eleazar | 508 |   | 
        
           |  |  | 509 |     $('body').on('click', '#check-email', function () {
 | 
        
           |  |  | 510 |         $.ajax("$routeEmail", {
 | 
        
           |  |  | 511 |             accepts: 'application/json',
 | 
        
           |  |  | 512 |             method: 'GET',
 | 
        
           |  |  | 513 |             data: {
 | 
        
           |  |  | 514 |                 'email': $('#form-add #email').val(),
 | 
        
           |  |  | 515 |             }
 | 
        
           | 1648 | eleazar | 516 |         }).done(function (response) {
 | 
        
           |  |  | 517 |             if (response['success']) {
 | 
        
           | 1662 | eleazar | 518 |                 $('#form-add #user_id').val(response['data']['user_id']);
 | 
        
           | 1648 | eleazar | 519 |                 $('#form-add #first_name').val(response['data']['first_name']);
 | 
        
           |  |  | 520 |                 $('#form-add #last_name').val(response['data']['last_name']);
 | 
        
           | 3876 | eleazar | 521 |                // $('#form-add #first_name').prop("disabled", true);
 | 
        
           |  |  | 522 |                // $('#form-add #last_name').prop('disabled', true);
 | 
        
           | 1648 | eleazar | 523 |             } else {
 | 
        
           | 1646 | eleazar | 524 |                 $.fn.showError(response['data']);
 | 
        
           |  |  | 525 |             }
 | 
        
           |  |  | 526 |         }).fail(function (jqXHR, textStatus, errorThrown) {
 | 
        
           |  |  | 527 |             $.fn.showError(textStatus);
 | 
        
           |  |  | 528 |         }).always(function () {
 | 
        
           |  |  | 529 |             NProgress.done();
 | 
        
           |  |  | 530 |         });
 | 
        
           | 1648 | eleazar | 531 |     })
 | 
        
           | 1655 | eleazar | 532 |   | 
        
           | 8767 | stevensc | 533 |     CKEDITOR.replace('coment', {
 | 
        
           |  |  | 534 |         toolbar: [
 | 
        
           |  |  | 535 |                     { name: 'editing', items: ['Scayt'] },
 | 
        
           |  |  | 536 |                     { name: 'links', items: ['Link', 'Unlink'] },
 | 
        
           |  |  | 537 |                     { name: 'paragraph', items: ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote'] },
 | 
        
           |  |  | 538 |                     { name: 'basicstyles', items: ['Bold', 'Italic', 'Strike', 'RemoveFormat'] },
 | 
        
           |  |  | 539 |                     '/',
 | 
        
           |  |  | 540 |                     { name: 'insert', items: ['Image', 'Table', 'HorizontalRule', 'SpecialChar'] },
 | 
        
           |  |  | 541 |                     { name: 'styles', items: ['Styles', 'Format'] },
 | 
        
           |  |  | 542 |                     { name: 'tools', items: ['Maximize'] }
 | 
        
           |  |  | 543 |                 ],
 | 
        
           |  |  | 544 |                 removePlugins: 'elementspath,Anchor',
 | 
        
           |  |  | 545 |                 heigth: 100
 | 
        
           |  |  | 546 |     });
 | 
        
           | 1481 | eleazar | 547 | });
 | 
        
           |  |  | 548 | JS;
 | 
        
           |  |  | 549 | $this->inlineScript()->captureEnd();
 | 
        
           | 9954 | stevensc | 550 |   | 
        
           | 10135 | stevensc | 551 | $jsonVacancies = json_encode($vacancies);
 | 
        
           | 10131 | stevensc | 552 |   | 
        
           | 9954 | stevensc | 553 | $js = <<<JS
 | 
        
           |  |  | 554 | 	const backendVariables= {
 | 
        
           |  |  | 555 | 		email_link: "$routeEmail",
 | 
        
           |  |  | 556 |         add_link: "$routeAdd",
 | 
        
           |  |  | 557 |         table_link: "$routeDatatable",
 | 
        
           | 10131 | stevensc | 558 |         vacancies: JSON.parse('$jsonVacancies'),
 | 
        
           | 9954 | stevensc | 559 |         permisions: {
 | 
        
           |  |  | 560 |             allowAdd: $allowAdd,
 | 
        
           |  |  | 561 |             allowEdit: $allowEdit,
 | 
        
           |  |  | 562 |             allowDelete: $allowDelete,
 | 
        
           |  |  | 563 |             allowEmail: $allowEmail
 | 
        
           |  |  | 564 |         }
 | 
        
           |  |  | 565 | 	}
 | 
        
           |  |  | 566 | JS;
 | 
        
           |  |  | 567 |   | 
        
           |  |  | 568 | $this->inlineScript()->appendScript($js);
 | 
        
           |  |  | 569 | $this->headLink()->appendStylesheet($this->basePath('/react-bundles/recruitment_and_selection/candidates/main.css'));
 | 
        
           |  |  | 570 | $this->inlineScript()->appendFile('/react-bundles/recruitment_and_selection/candidates/candidatesBundle.js');
 | 
        
           | 1481 | eleazar | 571 | ?>
 | 
        
           |  |  | 572 |   | 
        
           | 9954 | stevensc | 573 | <div id="recruitment-candidates">
 | 
        
           |  |  | 574 | </div>
 | 
        
           | 1481 | eleazar | 575 |   | 
        
           |  |  | 576 | <!-- Content Header (Page header) -->
 | 
        
           |  |  | 577 | <section class="content-header">
 | 
        
           | 1631 | eleazar | 578 |     <div class="container-fluid">
 | 
        
           |  |  | 579 |         <div class="row mb-2">
 | 
        
           |  |  | 580 |             <div class="col-sm-12">
 | 
        
           | 4241 | eleazar | 581 |                 <h1>LABEL_PRE_SELECTION</h1>
 | 
        
           | 1631 | eleazar | 582 |             </div>
 | 
        
           |  |  | 583 |         </div>
 | 
        
           |  |  | 584 |     </div><!-- /.container-fluid -->
 | 
        
           | 1481 | eleazar | 585 | </section>
 | 
        
           |  |  | 586 |   | 
        
           |  |  | 587 | <section class="content">
 | 
        
           | 1631 | eleazar | 588 |     <div class="container-fluid">
 | 
        
           |  |  | 589 |         <div class="row">
 | 
        
           |  |  | 590 |             <div class="col-12">
 | 
        
           |  |  | 591 |                 <div class="card">
 | 
        
           |  |  | 592 |                     <div class="card-header">
 | 
        
           |  |  | 593 |                         <?php
 | 
        
           | 1486 | eleazar | 594 |                         // $form = $this->form;
 | 
        
           | 1631 | eleazar | 595 |                         $form->setAttributes([
 | 
        
           |  |  | 596 |                             'name' => 'form-filter',
 | 
        
           |  |  | 597 |                             'id' => 'form-filter',
 | 
        
           | 1481 | eleazar | 598 |                         ]);
 | 
        
           | 1631 | eleazar | 599 |   | 
        
           | 1481 | eleazar | 600 |                         $form->prepare();
 | 
        
           |  |  | 601 |                         echo $this->form()->openTag($form);
 | 
        
           | 1631 | eleazar | 602 |                         ?>
 | 
        
           | 1481 | eleazar | 603 |                         <div class="row">
 | 
        
           |  |  | 604 |                             <div class="col-md-6 col-sm-12">
 | 
        
           |  |  | 605 |                                 <div class="form-group">
 | 
        
           |  |  | 606 |                                     <?php
 | 
        
           |  |  | 607 |                                     $element = $form->get('form_uuid');
 | 
        
           | 1631 | eleazar | 608 |   | 
        
           | 1484 | eleazar | 609 |                                     $element->setOptions(['label' => 'LABEL_VACANCIES']);
 | 
        
           | 1631 | eleazar | 610 |   | 
        
           | 1481 | eleazar | 611 |                                     $element->setAttributes(['class' => 'form-control']);
 | 
        
           |  |  | 612 |                                     echo $this->formLabel($element);
 | 
        
           |  |  | 613 |                                     echo $this->formSelect($element);
 | 
        
           |  |  | 614 |                                     ?>
 | 
        
           | 1631 | eleazar | 615 |                                 </div>
 | 
        
           | 1481 | eleazar | 616 |                             </div>
 | 
        
           |  |  | 617 |   | 
        
           |  |  | 618 |                         </div>
 | 
        
           | 1631 | eleazar | 619 |                         <?php echo $this->form()->closeTag($form); ?>
 | 
        
           |  |  | 620 |                     </div>
 | 
        
           |  |  | 621 |                     <div class="card-body">
 | 
        
           |  |  | 622 |                         <table id="gridTable" class="table   table-hover">
 | 
        
           |  |  | 623 |                             <thead>
 | 
        
           |  |  | 624 |                             <tr>
 | 
        
           |  |  | 625 |                                 <th>LABEL_FIRST_NAME</th>
 | 
        
           |  |  | 626 |                                 <th>LABEL_LAST_NAME</th>
 | 
        
           |  |  | 627 |                                 <th>LABEL_EMAIL</th>
 | 
        
           | 8889 | eleazar | 628 |                                 <th>LABEL_STATUS</th>
 | 
        
           | 1631 | eleazar | 629 |                                 <th>LABEL_ACTIONS</th>
 | 
        
           |  |  | 630 |                             </tr>
 | 
        
           |  |  | 631 |                             </thead>
 | 
        
           |  |  | 632 |                             <tbody>
 | 
        
           |  |  | 633 |                             </tbody>
 | 
        
           |  |  | 634 |                         </table>
 | 
        
           |  |  | 635 |                     </div>
 | 
        
           |  |  | 636 |                     <div class="card-footer clearfix">
 | 
        
           |  |  | 637 |                         <div style="float:right;">
 | 
        
           |  |  | 638 |                             <button type="button" class="btn btn-info btn-refresh"><i class="fa fa-refresh"></i>
 | 
        
           |  |  | 639 |                                 LABEL_REFRESH
 | 
        
           |  |  | 640 |                             </button>
 | 
        
           |  |  | 641 |                             <?php if ($allowAdd) : ?>
 | 
        
           |  |  | 642 |                                 <button type="button" class="btn btn-primary btn-add"><i class="fa fa-plus"></i>
 | 
        
           |  |  | 643 |                                     LABEL_ADD
 | 
        
           |  |  | 644 |                                 </button>
 | 
        
           |  |  | 645 |                             <?php endif; ?>
 | 
        
           |  |  | 646 |                         </div>
 | 
        
           |  |  | 647 |                     </div>
 | 
        
           |  |  | 648 |                 </div>
 | 
        
           |  |  | 649 |             </div>
 | 
        
           |  |  | 650 |         </div>
 | 
        
           |  |  | 651 |     </div>
 | 
        
           |  |  | 652 | </section>
 | 
        
           | 1616 | eleazar | 653 |   | 
        
           |  |  | 654 | <!-- The Add Modal -->
 | 
        
           |  |  | 655 | <div class="modal" tabindex="-1" role="dialog" id="add-candidate-box">
 | 
        
           | 1631 | eleazar | 656 |     <div class="modal-dialog" role="document">
 | 
        
           |  |  | 657 |         <?php
 | 
        
           | 2121 | eleazar | 658 |         //$form = $this->formAdd;
 | 
        
           | 1631 | eleazar | 659 |         $form->setAttributes([
 | 
        
           |  |  | 660 |             'method' => 'post',
 | 
        
           |  |  | 661 |             'name' => 'form-add',
 | 
        
           |  |  | 662 |             'action' => $routeAdd,
 | 
        
           |  |  | 663 |             'email' => $routeEmail,
 | 
        
           |  |  | 664 |             'id' => 'form-add'
 | 
        
           |  |  | 665 |         ]);
 | 
        
           |  |  | 666 |         $form->prepare();
 | 
        
           |  |  | 667 |         echo $this->form()->openTag($form);
 | 
        
           |  |  | 668 |   | 
        
           | 1660 | eleazar | 669 |         $fields = ['user_id'];
 | 
        
           |  |  | 670 |   | 
        
           |  |  | 671 |         foreach($fields as $field)
 | 
        
           |  |  | 672 |         {
 | 
        
           |  |  | 673 |             $element = $form->get($field);
 | 
        
           |  |  | 674 |             echo $this->formHidden($element);
 | 
        
           |  |  | 675 |         }
 | 
        
           |  |  | 676 |   | 
        
           | 1631 | eleazar | 677 |         ?>
 | 
        
           |  |  | 678 |         <div class="modal-content">
 | 
        
           |  |  | 679 |             <div class="modal-header">
 | 
        
           |  |  | 680 |                 <h3 class="modal-title">LABEL_NEW_CANDIDATE</h3>
 | 
        
           |  |  | 681 |             </div>
 | 
        
           |  |  | 682 |             <div class="modal-body">
 | 
        
           | 3863 | eleazar | 683 |                 <div id="first-step" style="display: none;">
 | 
        
           |  |  | 684 |                     <div class="form-group">
 | 
        
           |  |  | 685 |                         <?php
 | 
        
           |  |  | 686 |                         $element = $form->get('email');
 | 
        
           |  |  | 687 |                         $element->setOptions(['label' => 'LABEL_EMAIL']);
 | 
        
           |  |  | 688 |                         $element->setAttributes(['class' => 'form-control']);
 | 
        
           |  |  | 689 |                         echo $this->formLabel($element);
 | 
        
           |  |  | 690 |                         echo $this->formText($element);
 | 
        
           |  |  | 691 |                         ?>
 | 
        
           |  |  | 692 |                     </div>
 | 
        
           |  |  | 693 |                     <button id="check-email" type="button" class="btn btn-primary">LABEL_CHECK_EMAIL</button>
 | 
        
           |  |  | 694 |                     <div class="form-group">
 | 
        
           |  |  | 695 |                         <?php
 | 
        
           |  |  | 696 |                         $element = $form->get('first_name');
 | 
        
           |  |  | 697 |                         $element->setOptions(['label' => 'LABEL_FIRST_NAME']);
 | 
        
           |  |  | 698 |                         $element->setAttributes(['class' => 'form-control']);
 | 
        
           |  |  | 699 |                         echo $this->formLabel($element);
 | 
        
           |  |  | 700 |                         echo $this->formText($element);
 | 
        
           |  |  | 701 |                         ?>
 | 
        
           |  |  | 702 |                     </div>
 | 
        
           |  |  | 703 |                     <div class="form-group">
 | 
        
           |  |  | 704 |                         <?php
 | 
        
           |  |  | 705 |                         $element = $form->get('last_name');
 | 
        
           |  |  | 706 |                         $element->setOptions(['label' => 'LABEL_LAST_NAME']);
 | 
        
           |  |  | 707 |                         $element->setAttributes(['class' => 'form-control']);
 | 
        
           |  |  | 708 |                         echo $this->formLabel($element);
 | 
        
           |  |  | 709 |                         echo $this->formText($element);
 | 
        
           |  |  | 710 |                         ?>
 | 
        
           |  |  | 711 |                     </div>
 | 
        
           |  |  | 712 |                     <div class="modal-footer">
 | 
        
           | 3871 | eleazar | 713 |                         <button id="btn-next" type="button" class="btn btn-primary">LABEL_NEXT</button>
 | 
        
           | 3863 | eleazar | 714 |                     </div>
 | 
        
           | 1631 | eleazar | 715 |                 </div>
 | 
        
           | 3863 | eleazar | 716 |                 <div id="second-step" style="display: none;">
 | 
        
           | 3821 | eleazar | 717 |                     <div class="form-group">
 | 
        
           |  |  | 718 |               	       <?php
 | 
        
           |  |  | 719 |                          $element = $form->get('coment');
 | 
        
           |  |  | 720 |                          $element->setAttributes(['class' => 'form-control']);
 | 
        
           |  |  | 721 |                          $element->setOptions(['label' => 'LABEL_COMMENT']);
 | 
        
           |  |  | 722 |                          echo $this->formLabel($element);
 | 
        
           |  |  | 723 |                          echo $this->formTextArea($element);
 | 
        
           |  |  | 724 |                         ?>
 | 
        
           |  |  | 725 |       	            </div>
 | 
        
           |  |  | 726 |                       <div class="form-group">
 | 
        
           |  |  | 727 |                         <?php
 | 
        
           |  |  | 728 |                         $element = $form->get('evaluation');
 | 
        
           |  |  | 729 |                         $element->setAttributes(['class' => 'form-control']);
 | 
        
           |  |  | 730 |                         $element->setOptions(['label' => 'LABEL_EVALUATION']);
 | 
        
           |  |  | 731 |                         echo $this->formLabel($element);
 | 
        
           |  |  | 732 |                         echo $this->formSelect($element);
 | 
        
           |  |  | 733 |                         ?>
 | 
        
           |  |  | 734 |                     </div>
 | 
        
           |  |  | 735 |                     <div class="form-group">
 | 
        
           |  |  | 736 |                         <?php
 | 
        
           |  |  | 737 |                         $element = $form->get('file');
 | 
        
           |  |  | 738 |                         $element->setAttributes(['class' => 'form-control', 'accept' => 'pdf/docx']);
 | 
        
           |  |  | 739 |                         $element->setOptions(['label' => 'LABEL_CURRICULUM']);
 | 
        
           |  |  | 740 |                         echo $this->formLabel($element);
 | 
        
           |  |  | 741 |                         ?>
 | 
        
           |  |  | 742 |                         <div class="file-loading">
 | 
        
           |  |  | 743 |                             <?php echo $this->formFile($element); ?>
 | 
        
           |  |  | 744 |                         </div>
 | 
        
           | 1493 | eleazar | 745 |                     </div>
 | 
        
           | 3821 | eleazar | 746 |                     <div class="form-group">
 | 
        
           |  |  | 747 |                         <?php
 | 
        
           |  |  | 748 |                         $element = $form->get('status');
 | 
        
           |  |  | 749 |                         $element->setAttributes(['class' => 'form-control']);
 | 
        
           |  |  | 750 |                         $element->setOptions(['label' => 'LABEL_STATUS']);
 | 
        
           |  |  | 751 |                         echo $this->formLabel($element);
 | 
        
           |  |  | 752 |                         echo $this->formSelect($element);
 | 
        
           |  |  | 753 |                         ?>
 | 
        
           |  |  | 754 |                     </div>
 | 
        
           | 3863 | eleazar | 755 |                     <div class="modal-footer">
 | 
        
           |  |  | 756 |                         <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
 | 
        
           |  |  | 757 |                         <button type="button" class="btn btn-default btn-add-cancel">LABEL_CANCEL</button>
 | 
        
           |  |  | 758 |                     </div>
 | 
        
           | 1631 | eleazar | 759 |                 </div>
 | 
        
           |  |  | 760 |             </div>
 | 
        
           | 3863 | eleazar | 761 |   | 
        
           | 1631 | eleazar | 762 |             <?php echo $this->form()->closeTag($form); ?>
 | 
        
           |  |  | 763 |         </div>
 | 
        
           |  |  | 764 |     </div>
 | 
        
           | 1616 | eleazar | 765 | </div>
 | 
        
           |  |  | 766 |   | 
        
           |  |  | 767 | <!-- The Edit Modal -->
 | 
        
           |  |  | 768 | <div class="modal" tabindex="-1" role="dialog" id="edit-candidate-box">
 | 
        
           | 1631 | eleazar | 769 |     <div class="modal-dialog" role="document">
 | 
        
           |  |  | 770 |         <?php
 | 
        
           |  |  | 771 |         $form->setAttributes([
 | 
        
           |  |  | 772 |             'method' => 'post',
 | 
        
           |  |  | 773 |             'name' => 'form-edit',
 | 
        
           |  |  | 774 |             'id' => 'form-edit'
 | 
        
           |  |  | 775 |         ]);
 | 
        
           |  |  | 776 |         $form->prepare();
 | 
        
           |  |  | 777 |         echo $this->form()->openTag($form);
 | 
        
           |  |  | 778 |   | 
        
           | 1660 | eleazar | 779 |         $fields = ['user_id'];
 | 
        
           |  |  | 780 |   | 
        
           |  |  | 781 |         foreach($fields as $field)
 | 
        
           |  |  | 782 |         {
 | 
        
           |  |  | 783 |             $element = $form->get($field);
 | 
        
           |  |  | 784 |             echo $this->formHidden($element);
 | 
        
           |  |  | 785 |         }
 | 
        
           |  |  | 786 |   | 
        
           | 1631 | eleazar | 787 |         ?>
 | 
        
           |  |  | 788 |         <div class="modal-content">
 | 
        
           |  |  | 789 |             <div class="modal-header">
 | 
        
           |  |  | 790 |                 <h3 class="modal-title">LABEL_CANDIDATE</h3>
 | 
        
           |  |  | 791 |             </div>
 | 
        
           |  |  | 792 |             <div class="modal-body">
 | 
        
           |  |  | 793 |                 <div class="form-group">
 | 
        
           |  |  | 794 |                     <?php
 | 
        
           |  |  | 795 |                     $element = $form->get('first_name');
 | 
        
           |  |  | 796 |                     $element->setOptions(['label' => 'LABEL_FIRST_NAME']);
 | 
        
           |  |  | 797 |                     $element->setAttributes(['class' => 'form-control']);
 | 
        
           |  |  | 798 |                     echo $this->formLabel($element);
 | 
        
           |  |  | 799 |                     echo $this->formText($element);
 | 
        
           | 1616 | eleazar | 800 |                     ?>
 | 
        
           | 1631 | eleazar | 801 |                 </div>
 | 
        
           |  |  | 802 |                 <div class="form-group">
 | 
        
           |  |  | 803 |                     <?php
 | 
        
           |  |  | 804 |                     $element = $form->get('last_name');
 | 
        
           |  |  | 805 |                     $element->setOptions(['label' => 'LABEL_LAST_NAME']);
 | 
        
           |  |  | 806 |                     $element->setAttributes(['class' => 'form-control']);
 | 
        
           |  |  | 807 |                     echo $this->formLabel($element);
 | 
        
           |  |  | 808 |                     echo $this->formText($element);
 | 
        
           | 1616 | eleazar | 809 |                     ?>
 | 
        
           | 1631 | eleazar | 810 |                 </div>
 | 
        
           |  |  | 811 |                 <div class="form-group">
 | 
        
           |  |  | 812 |                     <?php
 | 
        
           |  |  | 813 |                     $element = $form->get('email');
 | 
        
           |  |  | 814 |                     $element->setOptions(['label' => 'LABEL_EMAIL']);
 | 
        
           |  |  | 815 |                     $element->setAttributes(['class' => 'form-control']);
 | 
        
           |  |  | 816 |                     echo $this->formLabel($element);
 | 
        
           |  |  | 817 |                     echo $this->formText($element);
 | 
        
           | 1616 | eleazar | 818 |                     ?>
 | 
        
           | 1631 | eleazar | 819 |                 </div>
 | 
        
           |  |  | 820 |                 <div class="form-group">
 | 
        
           | 1649 | eleazar | 821 |               	   <?php
 | 
        
           | 1652 | eleazar | 822 |                      $element = $form->get('coment');
 | 
        
           | 1649 | eleazar | 823 |                      $element->setAttributes(['class' => 'form-control']);
 | 
        
           | 1657 | eleazar | 824 |                      $element->setOptions(['label' => 'LABEL_COMMENT']);
 | 
        
           | 1649 | eleazar | 825 |                      echo $this->formLabel($element);
 | 
        
           |  |  | 826 |                      echo $this->formTextArea($element);
 | 
        
           |  |  | 827 |                     ?>
 | 
        
           |  |  | 828 |       	        </div>
 | 
        
           |  |  | 829 |                   <div class="form-group">
 | 
        
           | 1631 | eleazar | 830 |                     <?php
 | 
        
           | 1658 | eleazar | 831 |                     $element = $form->get('evaluation');
 | 
        
           | 1649 | eleazar | 832 |                     $element->setAttributes(['class' => 'form-control']);
 | 
        
           | 1658 | eleazar | 833 |                     $element->setOptions(['label' => 'LABEL_EVALUATION']);
 | 
        
           | 1649 | eleazar | 834 |                     echo $this->formLabel($element);
 | 
        
           |  |  | 835 |                     echo $this->formSelect($element);
 | 
        
           |  |  | 836 |                     ?>
 | 
        
           |  |  | 837 |                 </div>
 | 
        
           | 8620 | eleazar | 838 |                 <div class="form-group">
 | 
        
           | 1649 | eleazar | 839 |                     <?php
 | 
        
           | 1616 | eleazar | 840 |                     $element = $form->get('file');
 | 
        
           | 1631 | eleazar | 841 |                     $element->setAttributes(['class' => 'form-control', 'accept' => 'pdf/docx']);
 | 
        
           | 1616 | eleazar | 842 |                     $element->setOptions(['label' => 'LABEL_CURRICULUM']);
 | 
        
           |  |  | 843 |                     echo $this->formLabel($element);
 | 
        
           |  |  | 844 |                     ?>
 | 
        
           |  |  | 845 |                     <div class="file-loading">
 | 
        
           | 1631 | eleazar | 846 |                         <?php echo $this->formFile($element); ?>
 | 
        
           | 1616 | eleazar | 847 |                     </div>
 | 
        
           | 8620 | eleazar | 848 |   | 
        
           |  |  | 849 |                     <div class="mt-2" id="current-file">
 | 
        
           | 8666 | eleazar | 850 |                         <a href="" class="btn btn-primary" id="btn-cv"  target="_blank">CV actual</a>
 | 
        
           | 8620 | eleazar | 851 |                     </div>
 | 
        
           | 1631 | eleazar | 852 |                 </div>
 | 
        
           | 1619 | eleazar | 853 |   | 
        
           | 1631 | eleazar | 854 |                 <div class="form-group">
 | 
        
           |  |  | 855 |                     <?php
 | 
        
           |  |  | 856 |                     $element = $form->get('status');
 | 
        
           |  |  | 857 |                     $element->setAttributes(['class' => 'form-control']);
 | 
        
           |  |  | 858 |                     $element->setOptions(['label' => 'LABEL_STATUS']);
 | 
        
           |  |  | 859 |                     echo $this->formLabel($element);
 | 
        
           |  |  | 860 |                     echo $this->formSelect($element);
 | 
        
           | 1619 | eleazar | 861 |                     ?>
 | 
        
           | 1631 | eleazar | 862 |                 </div>
 | 
        
           |  |  | 863 |             </div>
 | 
        
           |  |  | 864 |             <div class="modal-footer">
 | 
        
           |  |  | 865 |                 <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
 | 
        
           |  |  | 866 |                 <button type="button" class="btn btn-default btn-add-cancel">LABEL_CANCEL</button>
 | 
        
           |  |  | 867 |             </div>
 | 
        
           |  |  | 868 |             <?php echo $this->form()->closeTag($form); ?>
 | 
        
           |  |  | 869 |         </div>
 | 
        
           |  |  | 870 |     </div>
 | 
        
           | 1485 | eleazar | 871 | </div>
 |