Rev 16933 | 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();
$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']);
$this->inlineScript()->appendFile('https://maps.googleapis.com/maps/api/js?key=' . $google_map_key . '&libraries=places');
$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/select2/css/select2.min.css'));
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/select2-bootstrap5-theme/select2-bootstrap-5-theme.css'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/select2/js/select2.min.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/jquery-input-number/input-number-format.jquery.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/moment/moment-with-locales.min.js'));
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/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-pen"></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);
}
}
}
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 validatorWebsite = $('#form-website').validate({
debug: true,
onclick: false,
onkeyup: false,
onfocusout: false,
ignore: [],
rules: {
'website': {
required: false,
maxlength: 250,
url: true,
},
},
submitHandler: function(form)
{
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : $('#form-website').attr('action'),
'data' : $('#form-website').serialize()
}).done(function(response) {
if(response['success']) {
$('#overview-website').html(response['data']['website']);
$("#website-box").modal('hide');
} else {
validatorWebsite.resetForm();
if(jQuery.type(response['data']) == 'string') {
$.fn.showError(response['data']);
} else {
$.each(response['data'], function( fieldname, errors ) {
$.fn.showFormErrorValidator('#form-website #' + fieldname, errors);
});
}
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
return false;
},
invalidHandler: function(form, validator) {
}
});
$('.btn-website-edit').on("click", function(e){
e.preventDefault();
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'get',
'url' : '$routeWebsite',
}).done(function(response) {
if(response['success']) {
$('#form-website #website').val(response['data']['website']);
validatorWebsite.resetForm();
$("#website-box").modal('show');
} else {
$.fn.showError(response['data']);
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
return false;
});
$('.btn-website-close').on("click", function(e){
e.preventDefault();
$("#website-box").modal('hide');
return false;
});
var validatorFoundationYear = $('#form-foundation-year').validate({
debug: true,
onclick: false,
onkeyup: false,
onfocusout: false,
ignore: [],
rules: {
'foundation_year': {
required: true,
maxlength: 4,
digits: true,
},
},
submitHandler: function(form)
{
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : $('#form-foundation-year').attr('action'),
'data' : $('#form-foundation-year').serialize()
}).done(function(response) {
if(response['success']) {
$('#overview-foundation-year').html(response['data']['foundation_year']);
$("#foundation-year-box").modal('hide');
} else {
validatorFoundationYear.resetForm();
if(jQuery.type(response['data']) == 'string') {
$.fn.showError(response['data']);
} else {
$.each(response['data'], function( fieldname, errors ) {
$.fn.showFormErrorValidator('#form-foundation-year #' + fieldname, errors);
});
}
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
return false;
},
invalidHandler: function(form, validator) {
}
});
$('.btn-foundation-year-edit').on("click", function(e){
e.preventDefault();
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'get',
'url' : '$routeFoundationYear',
}).done(function(response) {
if(response['success']) {
$('#form-foundation-year #foundation_year').val(response['data']['foundation_year'])
validatorFoundationYear.resetForm();
$("#foundation-year-box").modal('show');
} else {
$.fn.showError(response['data']);
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
return false;
});
$('.btn-fondation-year-close').on("click", function(e){
e.preventDefault();
$("#foundation-year-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;
});
$('.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: 'bootstrap-5',
width: '100%',
placeholder: 'LABEL_SELECT_ONE_SKILLS'
});
$('#form-language #languages').select2({
theme: 'bootstrap-5',
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'});
$('#form-foundation-year #foundation_year').datetimepicker({
viewMode: 'years',
format: 'YYYY'
});
});
JS;
$this->inlineScript()->captureEnd();
?>
<div class="container">
<div class="card" id="">
<div class="card-header">
<h6 class="card-title">LABEL_PROFILE</h6>
</div>
<div class="card-body">
<div class="row">
<div class="col-12 mt-3">
<div class="card rounded overflow-hidden pb-2">
<div class="cover-sec">
<img id="user-cover-img" src="<?php echo $this->url('storage', ['type' => 'company-cover', 'code' => $currentCompany->uuid, 'filename' => $cover]) ?>" alt="">
<div class="add-pic-box change-cover-image">
<a href="#" class="btn-cover-open">
<i class="fa fa-camera"></i>
</a>
</div>
</div>
<div class="row w-100 ml-0">
<div class="col-lg-4">
<div class="user_profile">
<div class="user-pro-img">
<img id="company-img" src="<?php echo $this->url('storage', ['type' => 'company', 'code' => $currentCompany->uuid, 'filename' => $image]) ?>" alt="">
<div class="add-dp">
<a href="#" class="btn-image-open">
<i class="fa fa-camera"></i>
</a>
</div>
</div>
<!--user-pro-img end-->
<div class="user_pro_status">
<span>LABEL_FOLLOWERS</span> <b><?php echo $follower ?></b>
</div>
<!--user_pro_status end-->
<div class="user-social-network-ov">
<h5>
LABEL_SOCIAL_NETWORKS
<a href="#" title="" class="btn-social-network-edit">
<i class="fa fa-edit"></i>
</a>
</h5>
</div>
<ul id="social-networks" class="social-links">
<li>
<a href="<?php echo $facebook ?>" target="_blank">
<i class="fa fa-facebook-square btn-social-network-edit"></i>
<?php echo $facebook ?>
</a>
</li>
<li>
<a href="<?php echo $twitter ?>" target="_blank">
<i class="fa fa-twitter btn-social-network-edit"></i>
<?php echo $twitter ?>
</a>
</li>
<li>
<a href="<?php echo $instagram ?>" target="_blank">
<i class="fa fa-instagram btn-social-network-edit"></i>
<?php echo $instagram ?>
</a>
</li>
</ul>
</div>
</div>
<div class="col-lg-8">
<div class="main-ws-sec">
<h6 class="my-2"><?php echo $company_name ?></h6>
<!--user-tab-sec end-->
<div class="user-profile-ov">
<h6>
LABEL_OVERVIEW <a href="#" title="" class="btn-extended-edit"><i class="fa fa-pen"></i></a>
</h6>
<span id="overview-description"><?php echo $overview ?></span>
</div>
<div class="user-profile-ov">
<h6>
LABEL_LOCATIONS
<a href="#" title="" class="btn-location-add"> <i class="fa fa-plus-square"></i></a>
</h6>
<span id="locations-records">
<?php
$max = count($locations);
for ($i = 0; $i < $max; $i++) :
$location = $locations[$i];
?>
<p>
<?php echo $location['formatted_address'] ?><?php echo $location['is_main'] == 'y' ? ' (LABEL_MAIN_LOCATION) ' : '' ?>
<a href="#" title="" data-link="<?php echo $location['link_edit'] ?>" class="btn-location-edit"><i class="fa fa-pen"></i></a>
<a href="#" title="" data-link="<?php echo $location['link_delete'] ?>" class="btn-location-delete"><i class="fa fa-trash"></i></a>
</p>
<?php if ($i < ($max - 1)) : ?>
<hr />
<?php endif; ?>
<?php endfor; ?>
</span>
</div>
<!--user-profile-ov end-->
<div class="user-profile-ov">
<h6>
LABEL_INDUSTRY <a href="#" title="" class="btn-industry-edit"><i class="fa fa-pen"></i></a>
</h6>
<span id="overview-industry"><?php echo $industry ?><span>
</div>
<!--user-profile-ov end-->
<!--user-profile-ov end-->
<div class="user-profile-ov">
<h6>
LABEL_COMPANY_SIZE <a href="#" title="" class="btn-company-size-edit"><i class="fa fa-pen"></i></a>
</h6>
<span id="overview-company-size"><?php echo $company_size ?></span>
</div>
<!--user-profile-ov end-->
<!--user-profile-ov end-->
<div class="user-profile-ov">
<h6>
LABEL_FOUNDATION_YEAR <a href="#" title="" class="btn-foundation-year-edit"><i class="fa fa-pen"></i></a>
</h6>
<span id="overview-foundation-year"><?php echo $foundation_year ?></span>
</div>
<!--user-profile-ov end-->
<!--user-profile-ov end-->
<div class="user-profile-ov">
<h6>
LABEL_WEBSITE <a href="#" title="" class="btn-website-edit"><i class="fa fa-pen"></i></a>
</h6>
<span id="overview-website"><?php echo $website ?></span>
</div>
<!--user-profile-ov end-->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer text-right">
</div>
</div>
</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">
<h6 class="modal-title">LABEL_CHANGE</h6>
</div>
<div class="modal-body">
<div class="row">
<div class="col-12 mt-3">
<?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>
<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">
<h6 class="modal-title">LABEL_CHANGE</h6>
</div>
<div class="modal-body">
<div class="row">
<div class="col-12 mt-3">
<?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>
<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="website-box">
<div class="modal-dialog" role="document">
<?php
$form = $this->formWebsite;
$form->setAttributes([
'method' => 'post',
'action' => $routeWebsite,
'name' => 'form-website',
'id' => 'form-website'
]);
$form->prepare();
echo $this->form()->openTag($form);
?>
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title">LABEL_CHANGE</h6>
</div>
<div class="modal-body">
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('website');
$element->setAttributes(['class' => 'form-control']);
$element->setOptions(['label' => 'LABEL_WEBSITE']);
echo $this->formLabel($element);
echo $this->formText($element);
?>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">LABEL_SAVE</button>
<button type="button" class="btn btn-default btn-website-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">
<h6 class="modal-title">LABEL_CHANGE</h6>
</div>
<div class="modal-body">
<div class="row">
<div class="col-12 mt-3">
<?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>
<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">
<h6 class="modal-title">LABEL_CHANGE</h6>
</div>
<div class="modal-body">
<div class="row">
<div class="col-12 mt-3">
<?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>
<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">
<h6 class="modal-title">LABEL_CHANGE</h6>
</div>
<div class="modal-body">
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('location_search');
$element->setAttributes(['class' => 'form-control']);
$element->setOptions(['label' => 'LABEL_LOCATION']);
echo $this->formLabel($element);
?>
<div class="input-group mb-3">
<?php echo $this->formText($element); ?>
<span class="input-group-text" id="basic-addon2"> <i class="fa fa-map-marker"></i></span>
</div>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('is_main');
echo $this->formCheckbox($element);
?>
</div>
</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">
<h6 class="modal-title">LABEL_CHANGE</h6>
</div>
<div class="modal-body">
<div class="row">
<div class="col-12 mt-3">
<?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>
<div class="row">
<div class="col-12 mt-3">
<?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>
<div class="row">
<div class="col-12 mt-3">
<?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>
</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>
<?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">
<h6 class="modal-title">LABEL_CHANGE</h6>
</div>
<div class="modal-body">
<div class="row">
<div class="col-12 mt-3">
<?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>
<div class="modal" tabindex="-1" role="dialog" id="cover-box">
<div class="modal-dialog" role="document">
<?php
$form = $this->formCover;
$form->setAttributes([
'method' => 'post',
'action' => $routeCoverUpload,
'name' => 'form-cover',
'id' => 'form-cover',
'enctype' => 'multipart/form-data'
]);
$form->prepare();
echo $this->form()->openTag($form);
?>
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title">LABEL_CHANGE</h6>
</div>
<div class="modal-body">
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('cover');
$element->setAttributes(['class' => 'form-control', 'accept' => 'image/jpeg,image/png']);
$element->setOptions(['label' => 'LABEL_COVER']);
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-cover-close">LABEL_CANCEL</button>
</div>
<?php echo $this->form()->closeTag($form); ?>
</div>
</div>