Rev 16935 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
<?php$acl = $this->viewModel()->getRoot()->getVariable('acl');$currentUser = $this->currentUserHelper();$roleName = $currentUser->getUserTypeId();$params = ['interview_uuid' => $interview_uuid,];$routeAdd = $this->url('recruitment-and-selection/interview/file/add', $params);$routeDatatable = $this->url('recruitment-and-selection/interview/file', $params);$allowAdd = $acl->isAllowed($roleName, 'recruitment-and-selection/interview/file/add') ? 1 : 0;$allowDelete = $acl->isAllowed($roleName, 'recruitment-and-selection/interview/file/delete') ? 1 : 0;$allowEdit = $acl->isAllowed($roleName, 'recruitment-and-selection/interview/file/edit') ? 1 : 0;$this->headLink()->appendStylesheet($this->basePath('assets/vendors/nprogress/nprogress.css'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/nprogress/nprogress.js'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/ckeditor/ckeditor.js'));$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-fileinput/css/fileinput.min.css'));$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-fileinput/themes/explorer-fas/theme.css'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/plugins/piexif.js'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/plugins/sortable.js'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/fileinput.js'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/locales/es.js'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/themes/fas/theme.js'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/themes/explorer-fas/theme.js'));$this->headLink()->appendStylesheet($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.css'));$this->headLink()->appendStylesheet($this->basePath('assets/vendors/datatables.net-bs5-responsive/responsive.bootstrap5.css'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net/jquery.dataTables.js'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.js'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5-responsive/dataTables.responsive.min.js'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5-responsive/responsive.bootstrap5.min.js'));$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap4-toggle/css/bootstrap4-toggle.min.css'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap4-toggle/js/bootstrap4-toggle.min.js'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/select2/js/select2.js'));$this->inlineScript()->appendFile($this->basePath('assets/vendors/select2/js/i18n/es.js'));$this->headLink()->appendStylesheet($this->basePath('assets/vendors/select2/css/select2.css'));$this->headLink()->appendStylesheet($this->basePath('assets/vendors/select2-bootstrap5-theme/select2-bootstrap-5-theme.css'));$this->inlineScript()->captureStart();echo <<<JS$.prototype.fileinput.Constructor.prototype["setUploadUrl"] = function(url) {this.uploadUrl = url;}jQuery(document).ready(function ($) {var allowAdd = $allowAdd;var allowDelete = $allowDelete;var allowEdit = $allowEdit;var gridTable = $('#gridTable').dataTable({'processing': true,'serverSide': true,'searching': true,'order': [[1, 'asc']],'ordering': true,'ordenable': true,'responsive': true,'select': false,'paging': true,'pagingType': 'simple_numbers','lengthMenu': [[10, 25, 50, -1], [10, 25, 50, 'All']],'ajax': {'url': '$routeDatatable','type': 'get','data': function (d) {},'beforeSend': function (request) {NProgress.start();},'dataFilter': function (response) {var response = jQuery.parseJSON(response);var json = {};json.recordsTotal = 0;json.recordsFiltered = 0;json.data = [];if (response.success) {json.recordsTotal = response.data.total;json.recordsFiltered = response.data.total;json.data = response.data.items;$("#user-title").text('LABEL_PSYCOPTECNICH' + ' - ' + response.data.candidate.full_name);} else {$.fn.showError(response.data)}return JSON.stringify(json);}},'language': {'sProcessing': 'LABEL_DATATABLE_SPROCESSING','sLengthMenu': 'LABEL_DATATABLE_SLENGTHMENU','sZeroRecords': 'LABEL_DATATABLE_SZERORECORDS','sEmptyTable': 'LABEL_DATATABLE_SEMPTYTABLE','sInfo': 'LABEL_DATATABLE_SINFO','sInfoEmpty': 'LABEL_DATATABLE_SINFOEMPTY','sInfoFiltered': 'LABEL_DATATABLE_SINFOFILTERED','sInfoPostFix': '','sSearch': 'LABEL_DATATABLE_SSEARCH','sUrl': '','sInfoThousands': ',','sLoadingRecords': 'LABEL_DATATABLE_SLOADINGRECORDS','oPaginate': {'sFirst': 'LABEL_DATATABLE_SFIRST','sLast': 'LABEL_DATATABLE_SLAST','sNext': 'LABEL_DATATABLE_SNEXT','sPrevious': 'LABEL_DATATABLE_SPREVIOUS'},'oAria': {'sSortAscending': ': LABEL_DATATABLE_SSORTASCENDING','sSortDescending': ':LABEL_DATATABLE_SSORTDESCENDING'},},'drawCallback': function (settings) {NProgress.done();$('#form-add #file').fileinput({theme: 'fas',language: 'es',showUpload: false,dropZoneEnabled: false,maxFileCount: 1,allowedFileExtensions: ['pdf', 'docx'],});$('#form-edit #file').fileinput({theme: 'fas',language: 'es',showUpload: false,initialPreviewAsData: true,dropZoneEnabled: false,maxFileCount: 1,allowedFileExtensions: ['pdf', 'docx'],});$('body').on('click', 'button.btn-add', function (e) {e.preventDefault();$('#form-add #title').val('');$('#form-add #file').fileinput('reset');$('#form-add #file').val('');CKEDITOR.instances.coment.setData('');validatorAdd.resetForm();$('#add-file-box').modal('show');return false;});$(".close-box, .btn-add-cancel").on("click", function (e) {e.preventDefault();$('#add-file-box').modal('hide');$('#edit-file-box').modal('hide');return false;});var validatorEdit = $('#form-edit').validate({debug: true,onclick: false,onkeyup: false,onfocusout: false,ignore: [],rules: {'title': {required: false,},'file': {required: false,extension: 'pdf|docx',accept: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/msword,application/pdf'},'coment':{updateCkeditor:function() {CKEDITOR.instances.coment.updateElement();},},},submitHandler: function (form) {var formdata = false;if (window.FormData) {formdata = new FormData(form); //form[0]);}$('#edit-file-box .btn-primary').prop('disabled', true);$.ajax({'dataType': 'json','accept': 'application/json','method': 'post','url': $('#form-edit').attr('action'),'data': formdata,'processData': false,'contentType': false,}).done(function (response) {if (response['success']) {$.fn.showSuccess(response['data']);$('#edit-file-box').modal('hide');gridTable.api().ajax.reload(null, false);} else {validatorEdit.resetForm();if (jQuery.type(response['data']) == 'string') {$.fn.showError(response['data']);} else {$.each(response['data'], function (fieldname, errors) {$.fn.showFormErrorValidator('#form-edit #' + fieldname, errors);});}}}).fail(function (jqXHR, textStatus, errorThrown) {$.fn.showError(textStatus);}).always(function () {$('#edit-file-box .btn-primary').prop('disabled', false);NProgress.done();});return false;},invalidHandler: function (form, validator) {}});$('body').on('click', 'button.btn-edit', function (e) {e.preventDefault();var url = $(this).data('href');$.ajax({'dataType': 'json','accept': 'application/json','method': 'get','url': url,}).done(function (response) {if (response['success']) {$('#form-edit')[0].reset();$('#form-edit').attr('action', url);$('#form-edit #title').val(response['data']['title']);$('#form-edit #coment').val(response['data']['coment']);$('#form-edit #btn-cv').attr('href', response['data']['file']);$('#form-edit #file').fileinput('reset');$('#form-edit #file').fileinput('setUploadUrl', response['data']['file'] );$('#form-edit #status').val(response['data']['status']);$('#edit-file-box').modal('show');} else {validatorEdit.resetForm();if (jQuery.type(response['data']) == 'string') {$.fn.showError(response['data']);} else {$.each(response['data'], function (fieldname, errors) {$.fn.showFormErrorValidator('#form-edit #' + fieldname, errors);});}}}).fail(function (jqXHR, textStatus, errorThrown) {$.fn.showError(textStatus);}).always(function () {NProgress.done();});});var validatorAdd = $('#form-add').validate({debug: true,onclick: false,onkeyup: false,onfocusout: false,ignore: [],rules: {'title': {required: true,maxlength: 64,},'file': {required: false,extension: 'pdf|docx',accept: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/msword,application/pdf'},'coment':{updateCkeditor:function() {CKEDITOR.instances.coment.updateElement();},},},submitHandler: function (form) {var formdata = false;if (window.FormData) {formdata = new FormData(form); //form[0]);}$('#add-file-box .btn-primary').prop('disabled', true);$.ajax({'dataType': 'json','accept': 'application/json','method': 'post','url': $('#form-add').attr('action'),'data': formdata,'processData': false,'contentType': false,}).done(function (response) {if (response['success']) {$.fn.showSuccess(response['data']);$('#add-file-box').modal('hide');gridTable.api().ajax.reload(null, false);} else {validatorAdd.resetForm();if (jQuery.type(response['data']) == 'string') {$.fn.showError(response['data']);} else {$.each(response['data'], function (fieldname, errors) {$.fn.showFormErrorValidator('#form-add #' + fieldname, errors);});}}}).fail(function (jqXHR, textStatus, errorThrown) {$.fn.showError(textStatus);}).always(function () {$('#add-file-box .btn-primary').prop('disabled', false);NProgress.done();});return false;},invalidHandler: function (form, validator) {}});},'aoColumns': [{ 'mDataProp': 'title' },{ 'mDataProp': 'coment' },{ 'mDataProp': 'actions' },],'columnDefs': [{'targets': -1,'orderable': false,'render': function (data, type, row) {s = '';if (allowEdit && data['link_edit']) {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-pen"></i> LABEL_EDIT </button> ';}if (allowDelete && data['link_delete']) {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> ';}return s;}}],});$('body').on('click', 'button.btn-refresh', function (e) {e.preventDefault();gridTable.api().ajax.reload(null, false);});$('body').on('click', '#go-back', function () {history.back();});CKEDITOR.replace('coment', {toolbar: [{ name: 'editing', items: ['Scayt'] },{ name: 'links', items: ['Link', 'Unlink'] },{ name: 'paragraph', items: ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote'] },{ name: 'basicstyles', items: ['Bold', 'Italic', 'Strike', 'RemoveFormat'] },'/',{ name: 'insert', items: ['Image', 'Table', 'HorizontalRule', 'SpecialChar'] },{ name: 'styles', items: ['Styles', 'Format'] },{ name: 'tools', items: ['Maximize'] }],removePlugins: 'elementspath,Anchor',heigth: 100});});JS;$this->inlineScript()->captureEnd();?><div class="container"><div class="card" id=""><div class="card-header"><h6 class="card-title">LABEL_PSYCOPTECNICH</h6></div><div class="card-body"><div class="row"><div class="col-12 mt-3"><table id="gridTable" class="table table-bordered"><thead><tr><th>LABEL_TITLE</th><th>LABEL_COMMENT</th><th>LABEL_ACTIONS</th></tr></thead><tbody></tbody></table></div></div></div><div class="card-footer text-right"><button type="button" class="btn btn-info btn-refresh"><i class="fa fa-sync"></i>LABEL_REFRESH</button><?php if ($allowAdd) : ?><button type="button" class="btn btn-primary btn-add"><i class="fa fa-plus"></i>LABEL_ADD</button><?php endif; ?></div></div></div><!-- The Add Modal --><div class="modal" tabindex="-1" role="dialog" id="add-file-box"><div class="modal-dialog" role="document"><?php//$form = $this->formAdd;$form->setAttributes(['method' => 'post','name' => 'form-add','action' => $routeAdd,'id' => 'form-add']);$form->prepare();echo $this->form()->openTag($form);?><div class="modal-content"><div class="modal-header"><h6 class="modal-title">LABEL_NEW_EVALUATION</h6></div><div class="modal-body"><div class="row"><div class="col-12 mt-3"><?php$element = $form->get('title');$element->setOptions(['label' => 'LABEL_TITLE']);$element->setAttributes(['class' => 'form-control']);echo $this->formLabel($element);echo $this->formText($element);?></div></div><div class="row"><div class="col-12 mt-3"><?php$element = $form->get('coment');$element->setAttributes(['class' => 'form-control']);$element->setOptions(['label' => 'LABEL_COMMENT']);echo $this->formLabel($element);echo $this->formTextArea($element);?></div></div><div class="row"><div class="col-12 mt-3"><?php$element = $form->get('file');$element->setAttributes(['class' => 'form-control', 'accept' => 'pdf/docx']);$element->setOptions(['label' => 'LABEL_FILE']);echo $this->formLabel($element);?><div class="file-loading"><?php echo $this->formFile($element); ?></div></div></div></div><div class="modal-footer text-right"><button type="submit" class="btn btn-primary">LABEL_SAVE</button><button type="button" class="btn btn-default btn-add-cancel">LABEL_CANCEL</button></div><?php echo $this->form()->closeTag($form); ?></div></div></div><!-- The Edit Modal --><div class="modal" tabindex="-1" role="dialog" id="edit-file-box"><div class="modal-dialog" role="document"><?php$form->setAttributes(['method' => 'post','name' => 'form-edit','id' => 'form-edit']);$form->prepare();echo $this->form()->openTag($form);?><div class="modal-content"><div class="modal-header"><h6 class="modal-title">LABEL_NEW_EVALUATION</h6></div><div class="modal-body"><div class="row"><div class="col-12 mt-3"><?php$element = $form->get('title');$element->setAttributes(['class' => 'form-control']);$element->setOptions(['label' => 'LABEL_TITLE']);echo $this->formLabel($element);echo $this->formText($element);?></div></div><div class="row"><div class="col-12 mt-3"><?php$element = $form->get('file');$element->setAttributes(['class' => 'form-control', 'accept' => 'pdf/docx']);$element->setOptions(['label' => 'LABEL_FILE']);echo $this->formLabel($element);?><div class="file-loading"><?php echo $this->formFile($element); ?></div><div class="mt-2" id="current-file"><a href="" class="btn btn-primary" id="btn-cv" target="_blank">Evaluacion actual</a></div></div></div><div class="row"><div class="col-12 mt-3"><?php$element = $form->get('coment');$element->setAttributes(['class' => 'form-control']);$element->setOptions(['label' => 'LABEL_COMMENT']);echo $this->formLabel($element);echo $this->formTextArea($element);?></div></div><div class="modal-footer text-right"><button type="submit" class="btn btn-primary">LABEL_SAVE</button><button type="button" class="btn btn-default btn-add-cancel">LABEL_CANCEL</button></div></div><?php echo $this->form()->closeTag($form); ?></div></div></div>