Save customer language.
This commit is contained in:
parent
e857d3a37e
commit
1e6a13d146
9 changed files with 79 additions and 1 deletions
|
@ -21,7 +21,7 @@ $config['migration_enabled'] = TRUE;
|
||||||
| be upgraded / downgraded to.
|
| be upgraded / downgraded to.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
$config['migration_version'] = 19;
|
$config['migration_version'] = 20;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1024,6 +1024,8 @@ class Appointments extends CI_Controller {
|
||||||
$appointment['location'] = $service['location'];
|
$appointment['location'] = $service['location'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// save customer language (the language which is used to render the booking page)
|
||||||
|
$customer['language'] = $this->config->item('language');
|
||||||
$customer_id = $this->customers_model->add($customer);
|
$customer_id = $this->customers_model->add($customer);
|
||||||
|
|
||||||
$appointment['id_users_customer'] = $customer_id;
|
$appointment['id_users_customer'] = $customer_id;
|
||||||
|
|
|
@ -20,6 +20,8 @@ $lang['address'] = 'Address';
|
||||||
$lang['city'] = 'City';
|
$lang['city'] = 'City';
|
||||||
$lang['zip_code'] = 'Zip Code';
|
$lang['zip_code'] = 'Zip Code';
|
||||||
$lang['notes'] = 'Notes';
|
$lang['notes'] = 'Notes';
|
||||||
|
$lang['language'] = 'Language';
|
||||||
|
$lang['no_language'] = 'No language';
|
||||||
$lang['fields_are_required'] = 'Fields with * are required!';
|
$lang['fields_are_required'] = 'Fields with * are required!';
|
||||||
$lang['step_four_title'] = 'Confirm Appointment';
|
$lang['step_four_title'] = 'Confirm Appointment';
|
||||||
$lang['confirm'] = 'Confirm';
|
$lang['confirm'] = 'Confirm';
|
||||||
|
|
|
@ -20,6 +20,8 @@ $lang['address'] = 'Adresse';
|
||||||
$lang['city'] = 'Ville';
|
$lang['city'] = 'Ville';
|
||||||
$lang['zip_code'] = 'Code postal';
|
$lang['zip_code'] = 'Code postal';
|
||||||
$lang['notes'] = 'Commentaires';
|
$lang['notes'] = 'Commentaires';
|
||||||
|
$lang['language'] = 'Langue';
|
||||||
|
$lang['no_language'] = 'Pas de langue';
|
||||||
$lang['fields_are_required'] = 'Les champs avec * sont obligatoires';
|
$lang['fields_are_required'] = 'Les champs avec * sont obligatoires';
|
||||||
$lang['step_four_title'] = 'Confirmez votre rendez-vous';
|
$lang['step_four_title'] = 'Confirmez votre rendez-vous';
|
||||||
$lang['confirm'] = 'Confirmation';
|
$lang['confirm'] = 'Confirmation';
|
||||||
|
|
|
@ -20,6 +20,7 @@ $lang['address'] = 'Adresse';
|
||||||
$lang['city'] = 'Stadt';
|
$lang['city'] = 'Stadt';
|
||||||
$lang['zip_code'] = 'Postleitzahl';
|
$lang['zip_code'] = 'Postleitzahl';
|
||||||
$lang['notes'] = 'Bemerkungen';
|
$lang['notes'] = 'Bemerkungen';
|
||||||
|
$lang['language'] = 'Sprache';
|
||||||
$lang['fields_are_required'] = 'Die Felder mit einem * sind Pflichtfelder!';
|
$lang['fields_are_required'] = 'Die Felder mit einem * sind Pflichtfelder!';
|
||||||
$lang['step_four_title'] = 'Bitte bestätigen Sie die Terminauswahl';
|
$lang['step_four_title'] = 'Bitte bestätigen Sie die Terminauswahl';
|
||||||
$lang['confirm'] = 'Bestätigung';
|
$lang['confirm'] = 'Bestätigung';
|
||||||
|
|
48
application/migrations/020_add_language_to_users.php
Normal file
48
application/migrations/020_add_language_to_users.php
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
<?php defined('BASEPATH') or exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------------
|
||||||
|
* Easy!Appointments - Open Source Web Scheduler
|
||||||
|
*
|
||||||
|
* @package EasyAppointments
|
||||||
|
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||||
|
* @copyright Copyright (c) 2013 - 2020, Alex Tselegidis
|
||||||
|
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||||
|
* @link http://easyappointments.org
|
||||||
|
* @since v1.4.0
|
||||||
|
* ---------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Migration_Add_language_to_users
|
||||||
|
*
|
||||||
|
* @property CI_DB_query_builder db
|
||||||
|
* @property CI_DB_forge dbforge
|
||||||
|
*/
|
||||||
|
class Migration_Add_language_to_users extends CI_Migration {
|
||||||
|
/**
|
||||||
|
* Upgrade method.
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
if ( ! $this->db->field_exists('language', 'users'))
|
||||||
|
{
|
||||||
|
$fields = [
|
||||||
|
'language' => [
|
||||||
|
'type' => 'VARCHAR',
|
||||||
|
'constraint' => '256',
|
||||||
|
'default' => '',
|
||||||
|
'after' => 'timezone'
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->dbforge->add_column('users', $fields);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Downgrade method.
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
$this->dbforge->drop_column('users', 'language');
|
||||||
|
}
|
||||||
|
}
|
|
@ -132,6 +132,11 @@
|
||||||
<input id="zip-code" class="form-control">
|
<input id="zip-code" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="language"><?= lang('language') ?></label>
|
||||||
|
<select id="language" class="form-control"></select>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="timezone"><?= lang('timezone') ?></label>
|
<label for="timezone"><?= lang('timezone') ?></label>
|
||||||
<?= render_timezone_dropdown('id="timezone" class="form-control"') ?>
|
<?= render_timezone_dropdown('id="timezone" class="form-control"') ?>
|
||||||
|
|
|
@ -42,6 +42,13 @@ window.BackendCustomers = window.BackendCustomers || {};
|
||||||
exports.initialize = function (defaultEventHandlers) {
|
exports.initialize = function (defaultEventHandlers) {
|
||||||
defaultEventHandlers = defaultEventHandlers || false;
|
defaultEventHandlers = defaultEventHandlers || false;
|
||||||
|
|
||||||
|
// Fill available service categories listbox.
|
||||||
|
availableLanguages.forEach(function (language) {
|
||||||
|
$('#language').append(new Option(language, language));
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#language').append(new Option('- ' + EALang.no_language + ' -', null)).val('null');
|
||||||
|
|
||||||
helper = new CustomersHelper();
|
helper = new CustomersHelper();
|
||||||
helper.resetForm();
|
helper.resetForm();
|
||||||
helper.filter('');
|
helper.filter('');
|
||||||
|
|
|
@ -150,6 +150,12 @@
|
||||||
timezone: $('#timezone').val()
|
timezone: $('#timezone').val()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if ($('#language').val() !== 'null') {
|
||||||
|
customer.language = $('#language').val();
|
||||||
|
} else {
|
||||||
|
customer.language = '';
|
||||||
|
}
|
||||||
|
|
||||||
if ($('#customer-id').val()) {
|
if ($('#customer-id').val()) {
|
||||||
customer.id = $('#customer-id').val();
|
customer.id = $('#customer-id').val();
|
||||||
}
|
}
|
||||||
|
@ -279,6 +285,8 @@
|
||||||
$('.record-details').find('input, textarea').val('');
|
$('.record-details').find('input, textarea').val('');
|
||||||
$('.record-details').find('input, textarea').prop('readonly', true);
|
$('.record-details').find('input, textarea').prop('readonly', true);
|
||||||
|
|
||||||
|
$('#language').val('null');
|
||||||
|
|
||||||
$('#customer-appointments').empty();
|
$('#customer-appointments').empty();
|
||||||
$('#appointment-details').toggleClass('hidden', true).empty();
|
$('#appointment-details').toggleClass('hidden', true).empty();
|
||||||
$('#edit-customer, #delete-customer').prop('disabled', true);
|
$('#edit-customer, #delete-customer').prop('disabled', true);
|
||||||
|
@ -310,6 +318,9 @@
|
||||||
$('#notes').val(customer.notes);
|
$('#notes').val(customer.notes);
|
||||||
$('#timezone').val(customer.timezone);
|
$('#timezone').val(customer.timezone);
|
||||||
|
|
||||||
|
var language = (customer.language !== '') ? customer.language : 'null';
|
||||||
|
$('#language').val(language);
|
||||||
|
|
||||||
$('#customer-appointments').empty();
|
$('#customer-appointments').empty();
|
||||||
customer.appointments.forEach(function (appointment) {
|
customer.appointments.forEach(function (appointment) {
|
||||||
if (GlobalVariables.user.role_slug === Backend.DB_SLUG_PROVIDER && parseInt(appointment.id_users_provider) !== GlobalVariables.user.id) {
|
if (GlobalVariables.user.role_slug === Backend.DB_SLUG_PROVIDER && parseInt(appointment.id_users_provider) !== GlobalVariables.user.id) {
|
||||||
|
|
Loading…
Reference in a new issue