AutorÃa | Ultima modificación | Ver Log |
<?php$acl = $this->viewModel()->getRoot()->getVariable('acl');$currentUser = $this->currentUserHelper();$roleName = $currentUser->getUserTypeId();$routeAdd = $this->url('zoom/add');$routeDatatable = $this->url('zoom');$allowAdd = $acl->isAllowed($roleName, 'zoom/add') ? 1 : 0;$allowDelete = $acl->isAllowed($roleName, 'zoom/delete') ? 1 : 0;$this->headLink()->appendStylesheet($this->basePath('vendors/select2/dist/css/select2.min.css'));$this->headLink()->appendStylesheet($this->basePath('vendors/select2-bootstrap4/dist/select2-bootstrap4.min.css'));$this->inlineScript()->appendFile($this->basePath('vendors/select2/dist/js/select2.min.js'));$this->inlineScript()->appendFile($this->basePath('vendors/bootstrap-confirmation/dist/bootstrap-confirmation.js'));$this->inlineScript()->appendFile($this->basePath('vendors/jsrender/jsrender.min.js'));$this->inlineScript()->captureStart();echo <<<JSjQuery( document ).ready(function( $ ) {var allowDelete = $allowDelete;$.fn.reload = function(search) {NProgress.start();$.ajax({'dataType' : 'json','accept' : 'application/json','method' : 'get','url' : '$routeDatatable','data' : {'search' : search}}).done(function(response) {if(response['success']) {$('#zoom-container').empty();if(response['data'].length > 0) {$( "#zoom-container" ).html($( "#meetingTemplate" ).render( response['data'] ));} else {var html = '<div class="company-title"><div class="widget widget-jobs"><div class="sd-title">ERROR_NO_RECORD_MATCHED_YOUR_QUERY</div></div></div>';$( "#zoom-container" ).html(html);}$('a.btn-group-delete').confirmation({rootSelector: 'button.btn-delete',title : 'LABEL_ARE_YOU_SURE',singleton : true,btnOkLabel: 'LABEL_YES',btnCancelLabel: 'LABEL_NO',onConfirm: function(value) {var action = $(this).data('link');NProgress.start();$.ajax({'dataType' : 'json','accept' : 'application/json','method' : 'post','url' : action,}).done(function(response) {if(response['success']) {$.fn.showSuccess(response['data']);$.fn.reload();} else {$.fn.showError(response['data']);}}).fail(function( jqXHR, textStatus, errorThrown) {$.fn.showError(textStatus);}).always(function() {NProgress.done();});return false;},});} else {$.fn.showError(response['data']);}}).fail(function( jqXHR, textStatus, errorThrown) {$.fn.showError(textStatus);}).always(function() {NProgress.done();});}$('#form-search #search').keyup(function(e) {e.preventDefault();var search = $('#form-search #search').val()if(search.length > 0) {var search = $('#form-search #search').val().trim()if(search.length > 0) {$.fn.reload(search);} else {$('#form-search #search').val('');}} else {$.fn.reload('');}});$.validator.setDefaults({debug: true,highlight: function(element) {$(element).addClass('form-group-has-error');},unhighlight: function(element) {$(element).removeClass('form-group-has-error');},errorElement: 'div',errorClass: 'form-group-invalid-feedback',errorPlacement: function(error, element) {if(element.parent('.form-group').length) {error.insertAfter(element.parent());} else {error.insertAfter(element);}}});$.fn.showFormErrorValidator = function(fieldname, errors) {var field = $(fieldname);if(field) {$(field).addClass('form-group-has-error');var error = $('<div id="' + fieldname +'-error" class="form-group-invalid-feedback">' + errors + '</div>');if(field.parent('.form-group').length) {error.insertAfter(field.parent());} else {error.insertAfter(field);}}};var validatorAdd = $('#form-add').validate({debug: true,onclick: false,onkeyup: false,ignore: [],rules: {'chat' : {required: true,},'title': {required: true,maxlength: 128,},'type': {required: true,},'timezone': {required: true,}'date': {required: true,maxlength: 10,},'time': {required: true,maxlength: 10,},},submitHandler: function(form){NProgress.start();$.ajax({'dataType' : 'json','accept' : 'application/json','method' : 'post','url' : $('#form-add').attr('action'),'data' : $('#form-add').serialize(),}).done(function(response) {if(response['success']) {$.fn.showSuccess(response['data']);$('#modal-zoom-chat').modal('hide');$(".wrapper").removeClass("overlay");$.fn.reload();} 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() {NProgress.done();});return false;},invalidHandler: function(form, validator) {}});$('body').on('click', 'a.btn-group-edit', function(e) {e.preventDefault();window.location.href = $(this).data('link');});$('body').on('click', 'a.btn-view-url', function(e) {e.preventDefault();window.location.href = $(this).data('link');});$(".close-box, .btn-cancel").on("click", function(e){e.preventDefault();$('#modal-zoom-chat').modal('hide');$(".wrapper").removeClass("overlay");return false;});$('body').on('click', 'button.btn-add', function(e) {e.preventDefault();$('#form-add #name').val('');validatorAdd.resetForm();$('#modal-zoom-chat').modal('show');$(".wrapper").addClass("overlay");return false;});$('#modal-zoom-chat').on("hide.bs.modal", function() {$(".wrapper").removeClass("overlay");})$.fn.reload('');});JS;$this->inlineScript()->captureEnd();?><section class="companies-info"><div class="container"><div class="company-title"><div class="section_admin_title_buttons"><div style="float:left;"><h1 class="title">LABEL_ZOOM_MEETINGS</h1></div><?php if($allowAdd) : ?><div style="float:right;"><button type="button" class="btn btn-primary btn-add"> Agregar </button></div><?php endif; ?></div></div><div class="company-title"><div class="section_admin_title_buttons"><form name="form-search" id="form-search"><div class="form-group"><input type="text" name="search" id="search" class="form-control" value="" placeholder="Buscar" /></div></form></div></div><div class="companies-list"><div class="row" id="zoom-container"></div><!--product-feed-tab end--></div></div></section><div class="modal" tabindex="-1" role="dialog" id="modal-zoom-chat"><div class="modal-dialog" role="document"><?php$form = $this->formChatAdd;$form->setAttributes(['method' => 'post','action' => $this->url('zoom/add'),'name' => 'form-zoom-add','id' => 'form-zoom-add']);$form->prepare();echo $this->form()->openTag($form);?><div class="modal-content"><div class="modal-header"><h3 class="modal-title">LABEL_NEW_ZOOM_CHAT_MEETING</h3></div><div class="modal-body"><div class="form-group"><?php$element = $form->get('title');$element->setOptions(['label' => 'LABEL_TITLE']);echo $this->formLabel($element);echo $this->formText($element);?></div></div><div class="modal-body"><div class="form-group"><?php$element = $form->get('type');$element->setOptions(['label' => 'LABEL_TYPE']);echo $this->formLabel($element);echo $this->formSelect($element);?></div></div><div class="modal-body"><div class="form-group"><?php$element = $form->get('timezone');$element->setOptions(['label' => 'LABEL_TIMEZONE']);echo $this->formLabel($element);echo $this->formSelect($element);?></div></div><div class="modal-body"><div class="form-group"><?php$element = $form->get('date');$element->setOptions(['label' => 'LABEL_DATE']);echo $this->formLabel($element);echo $this->formText($element);?></div></div><div class="modal-body"><div class="form-group"><?php$element = $form->get('time');$element->setOptions(['label' => 'LABEL_TIME']);echo $this->formLabel($element);echo $this->formText($element);?></div></div><div class="modal-footer"><button type="submit" class="save">LABEL_SAVE</button><button type="button" class="cancel btn-cancel">LABEL_CANCEL</button></div><?php echo $this->form()->closeTag($form); ?></div></div></div><script id="meetingTemplate" type="text/x-jsrender"><div class="col-lg-3 col-md-3 col-sm-6"><div class="company_profile_info"><div class="company-up-info"><h3>{{>title}}</h3><h4>{{>timezone}}</h4><h4>{{>datetime}}</h4><ul><li><a href="#" data-link="{{>link_view}}" title="" class="follow btn-view-url">LABEL_VIEW</a></li></ul></div>{{if link_delete}}<a href="#" data-link="{{>link_delete}}" title="" class="view-more-pro btn-group-delete">LABEL_DELETE</a>{{/if}}</div></div></script>