Rev 6547 | Rev 7774 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?phpuse LeadersLinked\Model\UserExperience;$acl = $this->viewModel()->getRoot()->getVariable('acl');$currentUserHelper = $this->currentUserHelper();$currentUser = $currentUserHelper->getUser();$currentCompany = $currentUserHelper->getCompany();$companyId = $currentCompany->uuid;$roleName = $currentUserHelper->getUserTypeId();$routeWebsite = $this->url('profile/website', ['id' => $currentCompany->uuid]);$routeCompanySize = $this->url('profile/company-size', ['id' => $currentCompany->uuid]);$routeIndustry = $this->url('profile/industry', ['id' => $currentCompany->uuid]);$routeExtended = $this->url('profile/extended', ['id' => $currentCompany->uuid]);$routeSocialNetworks = $this->url('profile/social-network', ['id' => $currentCompany->uuid]);$routeLocationAdd = $this->url('profile/location', ['id' => $currentCompany->uuid, 'operation' => 'add']);$routeFoundationYear = $this->url('profile/foundation_year', ['id' => $currentCompany->uuid, 'operation' => 'add']);$routeImageUpload = $this->url('profile/image', ['id' => $currentCompany->uuid, 'operation' => 'upload']);$routeCoverUpload = $this->url('profile/cover', ['id' => $currentCompany->uuid, 'operation' => 'upload']);$routeFooterUpload = $this->url('profile/footer', ['id' => $currentCompany->uuid, 'operation' => 'upload']);$routeHeaderUpload = $this->url('profile/header', ['id' => $currentCompany->uuid, 'operation' => 'upload']);$this->inlineScript()->appendFile('https://maps.googleapis.com/maps/api/js?key=' . $google_map_key . '&libraries=places');$this->headLink()->appendStylesheet($this->basePath('plugins/nprogress/nprogress.css'));$this->inlineScript()->appendFile($this->basePath('plugins/nprogress/nprogress.js'));$this->inlineScript()->appendFile($this->basePath('plugins/ckeditor/ckeditor.js'));$this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap-fileinput/css/fileinput.min.css'));$this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap-fileinput/themes/explorer-fas/theme.css'));$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/js/plugins/piexif.js'));$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/js/plugins/sortable.js'));$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/js/fileinput.js'));$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/js/locales/es.js'));$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/themes/fas/theme.js'));$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/themes/explorer-fas/theme.js'));$this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/jquery.validate.js'));$this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/additional-methods.js'));$this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/localization/messages_es.js'));$this->headLink()->appendStylesheet($this->basePath('plugins/select2/css/select2.min.css'));$this->headLink()->appendStylesheet($this->basePath('plugins/select2-bootstrap4-theme/select2-bootstrap4.min.css'));$this->inlineScript()->appendFile($this->basePath('plugins/select2/js/select2.min.js'));$this->inlineScript()->appendFile($this->basePath('plugins/jquery-input-number/input-number-format.jquery.min.js'));$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-confirmation/dist/bootstrap-confirmation.js'));$this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap4-toggle/css/bootstrap4-toggle.min.css'));$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap4-toggle/js/bootstrap4-toggle.min.js'));$this->inlineScript()->appendFile($this->basePath('plugins/moment/moment-with-locales.min.js'));$this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css'));$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js'));$this->inlineScript()->captureStart();echo <<<JSjQuery( document ).ready(function( $ ) {$.validator.addMethod('greaterThan', function (value, element, param) {var otherElement = $(param);return parseInt(value, 10) > parseInt(otherElement.val(), 10);}, 'ERROR_INVALID_MINIMUM');$.validator.addMethod('checkLocation', function (value, element, param) {var otherElement = $(param);return $.trim(otherElement.val()).length > 0;}, 'ERROR_PLACED_AUTOCOMPLETE_DOES_NOT_CONTAIN_GEOMETRY');var autocompleteLocation = new google.maps.places.Autocomplete((document.getElementById('location_search')),{types: ['(cities)']});$.fn.fillInAddressLocation = function() {console.log('fillInAddressLocation');var place = autocompleteLocation.getPlace();if (!place.geometry) {$.fn.showError('ERROR_PLACED_AUTOCOMPLETE_DOES_NOT_CONTAIN_GEOMETRY')return;} else {address1 = '';address2 = '';city1 = '';city2 = '';state = '';country = '';postal_code = '';formatted_address = place.formatted_address;latitude = place.geometry.location.lat();longitude = place.geometry.location.lng();var arrAddress = place.address_components;$.each(arrAddress, function(i, address_component) {if (address_component.types[0] == "route") {address1 = address_component.long_name;}if (address_component.types[0] == "sublocality") {address2 = address_component.long_name;}if (address_component.types[0] == "locality") {city1 = address_component.long_name;}if (address_component.types[0] == "administrative_area_level_2") {city2 = address_component.long_name;}if (address_component.types[0] == "administrative_area_level_1") {state = address_component.long_name;}if (address_component.types[0] == "country") {country = address_component.long_name;}if (address_component.types[0] == "postal_code") {postal_code = address_component.long_name;}});$('#form-location #formatted_address').val(formatted_address);$('#form-location #address1').val(address1);$('#form-location #address2').val(address2);$('#form-location #city1').val(city1);$('#form-location #city2').val(city2);$('#form-location #state').val(state);$('#form-location #country').val(country);$('#form-location #postal_code').val(postal_code);$('#form-location #latitude').val(latitude);$('#form-location #longitude').val(longitude);}}$.fn.renderLocation = function(data) {$('#locations-records').empty();if(Array.isArray(data)) {max = data.length;for(i = 0; i < max; i++){var location = data[i];s = '<p>' + location['formatted_address'];if(location['is_main'] == 'y') {s = s + ' (LABEL_MAIN_LOCATION) ';}s = s + ' <a href="#" title="" data-link="' + location['link_edit'] + '" class="btn-location-edit"><i class="fa fa-pencil"></i></a> ';s = s + ' <a href="#" title="" data-link="' + location['link_delete'] + '" class="btn-location-delete"><i class="fa fa-trash"></i></a>';s = s + ' </p>';if(i < (max - 1)) {s = s + '<hr/>';}$('#locations-records').append(s);}}}$.validator.setDefaults({debug: true,highlight: function(element) {$(element).addClass('is-invalid');},unhighlight: function(element) {$(element).removeClass('is-invalid');},errorElement: 'span',errorClass: 'error invalid-feedback',errorPlacement: function(error, element) {if(element.parent('.form-group').length) {error.insertAfter(element);} else if(element.parent('.toggle').length) {error.insertAfter(element.parent().parent());} else {error.insertAfter(element.parent());}}});$.fn.showFormErrorValidator = function(fieldname, errors) {var field = $(fieldname);if(field) {$(field).addClass('is-invalid');var error = $('<span id="' + fieldname +'-error" class="error invalid-feedback">' + errors + '</div>');if(field.parent('.form-group').length) {error.insertAfter(field);} else if(field.parent('.toggle').length) {error.insertAfter(field.parent().parent());} else {error.insertAfter(field.parent());}}};var validatorLocation = $('#form-location').validate({debug: true,onclick: false,onkeyup: false,onfocusout: false,ignore: [],rules: {'location_search': {required: true,checkLocation: '#form-location #latitude'}},submitHandler: function(form){NProgress.start();$.ajax({'dataType' : 'json','accept' : 'application/json','method' : 'post','url' : $('#form-location').attr('action'),'data' : $('#form-location').serialize(),}).done(function(response) {if(response['success']) {$.fn.renderLocation(response['data']);$("#location-box").modal('hide');} else {validatorLocation.resetForm();$.fn.showError(response['data']);}}).fail(function( jqXHR, textStatus, errorThrown) {$.fn.showError(textStatus);}).always(function() {NProgress.done();});return false;},invalidHandler: function(form, validator) {}});$('.btn-location-add').on("click", function(e){e.preventDefault();$('#form-location').attr('action', '$routeLocationAdd');$('#form-location #location_search').val('');$('#form-location #formatted_address').val('');$('#form-location #address1').val('');$('#form-location #address2').val('');$('#form-location #country').val('');$('#form-location #state').val('');$('#form-location #city1').val('');$('#form-location #city2').val('');$('#form-location #postal_code').val('');$('#form-location #latitude').val('');$('#form-location #longitude').val('');validatorLocation.resetForm();$("#location-box").modal('show');});$('body').on('click', 'a.btn-location-edit', function(e) {e.preventDefault();var url = $(this).data('link');NProgress.start();$.ajax({'dataType' : 'json','accept' : 'application/json','method' : 'get','url' : url,}).done(function(response) {if(response['success']) {$('#form-location').attr('action', url);$('#form-location #location_search').val(response['data']['formatted_address']);$('#form-location #formatted_address').val(response['data']['formatted_address']);$('#form-location #address1').val(response['data']['address1']);$('#form-location #address2').val(response['data']['address2']);$('#form-location #country').val(response['data']['country']);$('#form-location #state').val(response['data']['state']);$('#form-location #city1').val(response['data']['city1']);$('#form-location #city2').val(response['data']['city2']);$('#form-location #postal_code').val(response['data']['postal_code']);$('#form-location #latitude').val(response['data']['latitude']);$('#form-location #longitude').val(response['data']['longitude']);if(response['data']['is_main'] == 'y') {$('#form-location #is_main').bootstrapToggle('on')} else {$('#form-location #is_main').bootstrapToggle('off')}validatorLocation.resetForm();$("#location-box").modal('show');} else {$.fn.showError(response['data']);}}).fail(function( jqXHR, textStatus, errorThrown) {$.fn.showError(textStatus);}).always(function() {NProgress.done();});return false;});$('body').on('click', 'a.btn-location-delete', function(e) {e.preventDefault();var url = $(this).data('link');NProgress.start();$.ajax({'dataType' : 'json','accept' : 'application/json','method' : 'post','url' : url,}).done(function(response) {if(response['success']) {$.fn.renderLocation(response['data']);} else {$.fn.showError(response['data']);}}).fail(function( jqXHR, textStatus, errorThrown) {$.fn.showError(textStatus);}).always(function() {NProgress.done();});return false;});$('.btn-location-close').on("click", function(e){e.preventDefault();$("#location-box").modal('hide');return false;});var validatorCompanySize = $('#form-company-size').validate({debug: true,onclick: false,onkeyup: false,onfocusout: false,ignore: [],rules: {'company_size_id': {required: true,},},submitHandler: function(form){NProgress.start();$.ajax({'dataType' : 'json','accept' : 'application/json','method' : 'post','url' : $('#form-company-size').attr('action'),'data' : $('#form-company-size').serialize()}).done(function(response) {if(response['success']) {$('#overview-company-size').html(response['data']);$("#company-size-box").modal('hide');} else {validatorCompanySize.resetForm();if(jQuery.type(response['data']) == 'string') {$.fn.showError(response['data']);} else {$.each(response['data'], function( fieldname, errors ) {$.fn.showFormErrorValidator('#form-company-size #' + fieldname, errors);});}}}).fail(function( jqXHR, textStatus, errorThrown) {$.fn.showError(textStatus);}).always(function() {NProgress.done();});return false;},invalidHandler: function(form, validator) {}});$('.btn-company-size-edit').on("click", function(e){e.preventDefault();NProgress.start();$.ajax({'dataType' : 'json','accept' : 'application/json','method' : 'get','url' : '$routeCompanySize',}).done(function(response) {if(response['success']) {$('#form-company-size #company_size_id').val(response['data']['company_size_id']).trigger('change');validatorCompanySize.resetForm();$("#company-size-box").modal('show');} else {$.fn.showError(response['data']);}}).fail(function( jqXHR, textStatus, errorThrown) {$.fn.showError(textStatus);}).always(function() {NProgress.done();});return false;});$('.btn-company-size-close').on("click", function(e){e.preventDefault();$("#company-size-box").modal('hide');return false;});var validatorIndustry = $('#form-industry').validate({debug: true,onclick: false,onkeyup: false,onfocusout: false,ignore: [],rules: {'industry_id': {required: true,},},submitHandler: function(form){NProgress.start();$.ajax({'dataType' : 'json','accept' : 'application/json','method' : 'post','url' : $('#form-industry').attr('action'),'data' : $('#form-industry').serialize()}).done(function(response) {if(response['success']) {$('#overview-industry').html(response['data']);$("#industry-box").modal('hide');} else {validatorIndustry.resetForm();if(jQuery.type(response['data']) == 'string') {$.fn.showError(response['data']);} else {$.each(response['data'], function( fieldname, errors ) {$.fn.showFormErrorValidator('#form-industry #' + fieldname, errors);});}}}).fail(function( jqXHR, textStatus, errorThrown) {$.fn.showError(textStatus);}).always(function() {NProgress.done();});return false;},invalidHandler: function(form, validator) {}});$('.btn-industry-edit').on("click", function(e){e.preventDefault();NProgress.start();$.ajax({'dataType' : 'json','accept' : 'application/json','method' : 'get','url' : '$routeIndustry',}).done(function(response) {if(response['success']) {$('#form-industry #industry_id').val(response['data']['industry_id']).trigger('change');validatorIndustry.resetForm();$("#industry-box").modal('show');} else {$.fn.showError(response['data']);}}).fail(function( jqXHR, textStatus, errorThrown) {$.fn.showError(textStatus);}).always(function() {NProgress.done();});return false;});$('.btn-industry-close').on("click", function(e){e.preventDefault();$("#industry-box").modal('hide');return false;});$("#form-cover #cover").fileinput({theme: 'fas',language: 'es',showUpload: false,dropZoneEnabled: false,maxFileCount: 1,allowedFileExtensions: ['jpg', 'jpeg', 'png', 'gif'],mainClass: "input-group",msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size_cover',});CKEDITOR.replace('description');autocompleteLocation.addListener('place_changed', $.fn.fillInAddressLocation);$('#form-location #is_main').bootstrapToggle({'on' : 'LABEL_MAIN_LOCATION', 'off' : 'LABEL_SECONDARY_LOCATION', 'width' : '160px', 'height' : '40px'});});JS;$this->inlineScript()->captureEnd();$jsonLocations = json_encode($locations);$js = <<<JSconst urlVars = {routeWebsite: "$routeWebsite",routeCompanySize: "$routeCompanySize",routeIndustry: "$routeIndustry",routeExtended: "$routeExtended",routeSocialNetworks: "$routeSocialNetworks",routeLocationAdd: "$routeLocationAdd",routeFoundationYear: "$routeFoundationYear",routeImageUpload: "$routeImageUpload",routeCoverUpload: "$routeCoverUpload",routeFooterUpload: "$routeFooterUpload",routeHeaderUpload: "$routeHeaderUpload",cover: "$cover",companyId: "$companyId",followers: "$follower",image: "$image",overview: "$overview",locations: JSON.parse('$jsonLocations'),industry: "$industry",companySize: "$company_size",companyName: "$company_name",foundationYear: "$foundation_year",website: "$website",header: "$header",footer: "$footer"}JS;$this->inlineScript()->appendScript($js);$this->headLink()->appendStylesheet('/react-bundles/profile/main.css');$this->inlineScript()->appendFile('/react-bundles/profile/profileBundle.js');?><style>.user-profile-ov {position: relative;}.user-profile-ov .add-dp {position: absolute;top: 30%;right: 10%;}.user-profile-ov .add-dp i {font-size: 14px;border: 2px solid #fff;background: #e44d3a;padding: 11px;color: #ffff}</style><!-- Content Header (Page header) --><div id="profile"></div><div class="modal" tabindex="-1" role="dialog" id="industry-box"><div class="modal-dialog" role="document"><?php$form = $this->formIndustry;$form->setAttributes(['method' => 'post','action' => $routeIndustry,'name' => 'form-industry','id' => 'form-industry']);$form->prepare();echo $this->form()->openTag($form);?><div class="modal-content"><div class="modal-header"><h3 class="modal-title">LABEL_CHANGE</h3></div><div class="modal-body"><div class="form-group"><?php$element = $form->get('industry_id');$element->setAttributes(['class' => 'form-control']);$element->setOptions(['label' => 'LABEL_INDUSTRY']);echo $this->formLabel($element);echo $this->formSelect($element);?></div></div><div class="modal-footer"><button type="submit" class="btn btn-primary">LABEL_SAVE</button><button type="button" class="btn btn-default btn-industry-close">LABEL_CANCEL</button></div><?php echo $this->form()->closeTag($form); ?></div></div></div><div class="modal" tabindex="-1" role="dialog" id="company-size-box"><div class="modal-dialog" role="document"><?php$form = $this->formCompanySize;$form->setAttributes(['method' => 'post','action' => $routeCompanySize,'name' => 'form-company-size','id' => 'form-company-size']);$form->prepare();echo $this->form()->openTag($form);?><div class="modal-content"><div class="modal-header"><h3 class="modal-title">LABEL_CHANGE</h3></div><div class="modal-body"><div class="form-group"><?php$element = $form->get('company_size_id');$element->setAttributes(['class' => 'form-control']);$element->setOptions(['label' => 'LABEL_COMPANY_SIZE']);echo $this->formLabel($element);echo $this->formSelect($element);?></div></div><div class="modal-footer"><button type="submit" class="btn btn-primary">LABEL_SAVE</button><button type="button" class="btn btn-default btn-company-size-close">LABEL_CANCEL</button></div><?php echo $this->form()->closeTag($form); ?></div></div></div><div class="modal" tabindex="-1" role="dialog" id="location-box"><div class="modal-dialog" role="document"><?php$form = $this->formLocation;$form->setAttributes(['method' => 'post','action' => '','name' => 'form-location','id' => 'form-location']);$form->prepare();echo $this->form()->openTag($form);$fieldnames = ['formatted_address','address1','address2','country','state','city1','city2','postal_code','latitude','longitude',];foreach ($fieldnames as $fieldname) {$element = $form->get($fieldname);echo $this->formHidden($element);}?><div class="modal-content"><div class="modal-header"><h3 class="modal-title">LABEL_CHANGE</h3></div><div class="modal-body"><div class="form-group datefm"><?php$element = $form->get('location_search');$element->setAttributes(['class' => 'form-control']);$element->setOptions(['label' => 'LABEL_LOCATION']);echo $this->formLabel($element);echo $this->formText($element);?><i class="fa fa-map-marker"></i></div><div class="form-group"><?php$element = $form->get('is_main');echo $this->formCheckbox($element);?></div></div><div class="modal-footer"><button type="submit" class="btn btn-primary ">LABEL_SAVE</button><button type="button" class="btn btn-default btn-location-close">LABEL_CANCEL</button></div><?php echo $this->form()->closeTag($form); ?></div></div></div>