Rev 6446 | Rev 6486 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?php
use 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 <<<JS
jQuery( 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 validatorSocialNetwork = $('#form-social-network').validate({
debug: true,
onclick: false,
onkeyup: false,
ignore: [],
rules: {
'facebook': {
required: false,
maxlength: 250,
url: true,
},
'twitter': {
required: false,
maxlength: 250,
url: true,
},
'instagram': {
required: false,
maxlength: 250,
url: true,
},
},
submitHandler: function(form)
{
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : $('#form-social-network').attr('action'),
'data' : $('#form-social-network').serialize()
}).done(function(response) {
if(response['success']) {
$('#social-networks').empty();
var s = $.trim(response['data']['facebook']);
if(s.length > 32) {
s = s.substring(0, 31) + '...'
}
$('#social-networks').append('<li><a href="' + response['data']['facebook'] + '" target="_blank" title="">' +
'<i class="fa fa-facebook-square"></i> ' + s + '</a></li>');
var s = $.trim(response['data']['twitter']);
if(s.length > 32) {
s = s.substring(0, 31) + '...'
}
$('#social-networks').append('<li><a href="' + response['data']['twitter'] + '" target="_blank" title="">' +
'<i class="fa fa-twitter"></i> ' + s + '</a></li>');
var s = $.trim(response['data']['instagram']);
if(s.length > 32) {
s = s.substring(0, 31) + '...'
}
$('#social-networks').append('<li><a href="' + response['data']['instagram'] + '" target="_blank" title="">' +
'<i class="fa fa-instagram"></i> ' + s + '</a></li>');
$("#social-networks-box").modal('hide');
} else {
validatorSocialNetwork.resetForm();
if(jQuery.type(response['data']) == 'string') {
$.fn.showError(response['data']);
} else {
$.each(response['data'], function( fieldname, errors ) {
$.fn.showFormErrorValidator('#form-social-network #' + fieldname, errors);
});
}
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
return false;
},
invalidHandler: function(form, validator) {
}
});
$('.btn-social-network-edit').on("click", function(e){
e.preventDefault();
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'get',
'url' : '$routeSocialNetworks',
}).done(function(response) {
if(response['success']) {
$('#form-social-network #facebook').val(response['data']['facebook']);
$('#form-social-network #twitter').val(response['data']['twitter']);
$('#form-social-network #instagram').val(response['data']['instagram']);
validatorSocialNetwork.resetForm();
$("#social-networks-box").modal('show');
} else {
$.fn.showError(response['data']);
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
return false;
});
$('.btn-social-network-close').on("click", function(e){
e.preventDefault();
$("#social-networks-box").modal('hide');
return false;
});
var validatorExtended = $('#form-extended').validate({
debug: true,
onclick: false,
onkeyup: false,
onfocusout: false,
ignore: [],
rules: {
'description': {
updateCkeditor:function() {
CKEDITOR.instances.description.updateElement();
},
required: false,
},
},
submitHandler: function(form)
{
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : $('#form-extended').attr('action'),
'data' : $('#form-extended').serialize()
}).done(function(response) {
if(response['success']) {
$('#overview-description').html(response['data']['description']);
$("#extended-box").modal('hide');
} else {
validatorExtended.resetForm();
if(jQuery.type(response['data']) == 'string') {
$.fn.showError(response['data']);
} else {
$.each(response['data'], function( fieldname, errors ) {
$.fn.showFormErrorValidator('#form-extended #' + fieldname, errors);
});
}
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
return false;
},
invalidHandler: function(form, validator) {
}
});
$('.btn-extended-edit').on("click", function(e){
e.preventDefault();
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'get',
'url' : '$routeExtended',
}).done(function(response) {
if(response['success']) {
CKEDITOR.instances.description.setData(response['data']['description']);
validatorExtended.resetForm();
$("#extended-box").modal('show');
} else {
$.fn.showError(response['data']);
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
return false;
});
$('.btn-extended-close').on("click", function(e){
e.preventDefault();
$("#extended-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;
});
var validatorImage = $('#form-image').validate({
debug: true,
onclick: false,
onkeyup: false,
onfocusout: false,
ignore: [],
rules: {
'image': {
required: true,
extension: 'jpg|jpeg|png',
accept: 'image/jpeg,image/png'
},
},
submitHandler: function(form)
{
var formdata = false;
if (window.FormData){
formdata = new FormData(form); //form[0]);
}
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : $('#form-image').attr('action'),
'data' : formdata ? formdata : $('#form-image').serialize(),
'processData': false,
'contentType': false,
}).done(function(response) {
if(response['success']) {
$('#company-img').attr('src',response['data']);
$("#image-box").modal('hide');
} else {
validatorImage.resetForm();
if(jQuery.type(response['data']) == 'string') {
$.fn.showError(response['data']);
} else {
$.each(response['data'], function( fieldname, errors ) {
console.log('#form-image #' + fieldname);
$.fn.showFormErrorValidator('#form-image #' + fieldname, errors);
});
}
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
return false;
},
invalidHandler: function(form, validator) {
}
});
$('.btn-image-open').on("click", function(e){
e.preventDefault();
$('#form-image #image').fileinput('reset');
$('#form-image #image').val('');
validatorImage.resetForm();
$("#image-box").modal('show');
return false;
});
$('.btn-image-close').on("click", function(e){
e.preventDefault();
$("#image-box").modal('hide');
return false;
});
var validatorCover = $('#form-header').validate({
debug: true,
onclick: false,
onkeyup: false,
onfocusout: false,
ignore: [],
rules: {
'header': {
required: true,
extension: 'jpg|jpeg|png',
accept: 'image/jpeg,image/png'
},
},
submitHandler: function(form)
{
var formdata = false;
if (window.FormData){
formdata = new FormData(form); //form[0]);
}
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : $('#form-header').attr('action'),
'data' : formdata ? formdata : $('#form-header').serialize(),
'processData': false,
'contentType': false,
}).done(function(response) {
if(response['success']) {
$('#user-header-img').attr('src',response['data']);
$("#image-header-box").modal('hide');
location.reload();
} else {
validatorCover.resetForm();
if(jQuery.type(response['data']) == 'string') {
$.fn.showError(response['data']);
} else {
$.each(response['data'], function( fieldname, errors ) {
$.fn.showFormErrorValidator('#form-header #' + fieldname, errors);
});
}
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
return false;
},
invalidHandler: function(form, validator) {
}
});
$('.btn-image-explorer').on("click", function(e){
e.preventDefault();
$('#form-image #image').click();
return false;
});
var validatorCover = $('#form-cover').validate({
debug: true,
onclick: false,
onkeyup: false,
onfocusout: false,
ignore: [],
rules: {
'cover': {
required: true,
extension: 'jpg|jpeg|png',
accept: 'image/jpeg,image/png'
},
},
submitHandler: function(form)
{
var formdata = false;
if (window.FormData){
formdata = new FormData(form); //form[0]);
}
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : $('#form-cover').attr('action'),
'data' : formdata ? formdata : $('#form-cover').serialize(),
'processData': false,
'contentType': false,
}).done(function(response) {
if(response['success']) {
$('#user-cover-img').attr('src',response['data']);
$("#cover-box").modal('hide');
} else {
validatorCover.resetForm();
if(jQuery.type(response['data']) == 'string') {
$.fn.showError(response['data']);
} else {
$.each(response['data'], function( fieldname, errors ) {
$.fn.showFormErrorValidator('#form-cover #' + fieldname, errors);
});
}
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
return false;
},
invalidHandler: function(form, validator) {
}
});
$('.btn-cover-open').on("click", function(e){
e.preventDefault();
$('#form-cover #cover').fileinput('reset');
$('#form-cover #cover').val('');
validatorCover.resetForm();
$("#cover-box").modal('show');
return false;
});
$('.btn-cover-close').on("click", function(e){
e.preventDefault();
$("#cover-box").modal('hide');
return false;
});
$('.btn-cover-explorer').on("click", function(e){
e.preventDefault();
$('#form-cover #cover').click();
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',
});
$("#form-image #image").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_profile',
});
$('#form-skill #skills').select2({
theme: 'bootstrap4',
width: '100%',
placeholder: 'LABEL_SELECT_ONE_SKILLS'
});
$('#form-language #languages').select2({
theme: 'bootstrap4',
width: '100%',
placeholder: 'LABEL_SELECT_ONE_LANGUAGE'
});
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 = <<<JS
const 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="extended-box">
<div class="modal-dialog" role="document">
<?php
$form = $this->formExtended;
$form->setAttributes([
'method' => 'post',
'action' => $routeExtended,
'name' => 'form-extended',
'id' => 'form-extended'
]);
$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('description');
$element->setAttributes(['class' => 'form-control']);
$element->setOptions(['label' => 'LABEL_OVERVIEW']);
echo $this->formLabel($element);
echo $this->formTextArea($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-extended-close">LABEL_CANCEL</button>
</div>
<?php echo $this->form()->closeTag($form); ?>
</div>
</div>
</div>
<div class="modal" tabindex="-1" role="dialog" id="foundation-year-box">
<div class="modal-dialog" role="document">
<?php
$form = $this->formFoundationYear;
$form->setAttributes([
'method' => 'post',
'action' => $routeFoundationYear,
'name' => 'form-foundation-year',
'id' => 'form-foundation-year'
]);
$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('foundation_year');
$element->setAttributes(['class' => 'form-control']);
$element->setOptions(['label' => 'LABEL_FOUNDATION_YEAR']);
echo $this->formLabel($element);
echo $this->formText($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-fondation-year-close">LABEL_CANCEL</button>
</div>
<?php echo $this->form()->closeTag($form); ?>
</div>
</div>
</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>
<div class="modal" tabindex="-1" role="dialog" id="social-networks-box">
<div class="modal-dialog" role="document">
<?php
$form = $this->formSocialNetwork;
$form->setAttributes([
'method' => 'post',
'action' => $routeSocialNetworks,
'name' => 'form-social-network',
'id' => 'form-social-network'
]);
$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('facebook');
$element->setAttributes(['class' => 'form-control']);
$element->setOptions(['label' => 'LABEL_FACEBOOK']);
echo $this->formLabel($element);
echo $this->formText($element);
?>
</div>
<div class="form-group">
<?php
$element = $form->get('twitter');
$element->setAttributes(['class' => 'form-control']);
$element->setOptions(['label' => 'LABEL_TWITTER']);
echo $this->formLabel($element);
echo $this->formText($element);
?>
</div>
<div class="form-group">
<?php
$element = $form->get('instagram');
$element->setAttributes(['class' => 'form-control']);
$element->setOptions(['label' => 'LABEL_INSTAGRAM']);
echo $this->formLabel($element);
echo $this->formText($element);
?>
</div>
<div class="form-group">
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">LABEL_SAVE</button>
<button type="button" class="btn btn-default btn-social-network-close">LABEL_CANCEL</button>
</div>
</div>
<?php echo $this->form()->closeTag($form); ?>
</div>
</div>
</div>
<div class="modal" tabindex="-1" role="dialog" id="image-box">
<div class="modal-dialog" role="document">
<?php
$form = $this->formImage;
$form->setAttributes([
'method' => 'post',
'action' => $routeImageUpload,
'name' => 'form-image',
'id' => 'form-image',
'enctype' => 'multipart/form-data'
]);
$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">
<div class="file-loading">
<?php
$element = $form->get('image');
$element->setAttributes(['class' => 'form-control', 'accept' => 'image/jpeg,image/png']);
$element->setOptions(['label' => 'LABEL_IMAGE']);
echo $this->formLabel($element);
echo $this->formFile($element);
?>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">LABEL_UPLOAD</button>
<button type="button" class="btn btn-default btn-image-close">LABEL_CANCEL</button>
</div>
<?php echo $this->form()->closeTag($form); ?>
</div>
</div>
</div>