mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-28 04:01:10 -04:00
Merge branch 'language-validation' into 'master'
Language and validation See merge request mohit.panjvani/crater-web!6
This commit is contained in:
18550
public/assets/css/laraspace.css
vendored
18550
public/assets/css/laraspace.css
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
179498
public/assets/js/app.js
179498
public/assets/js/app.js
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -35,6 +35,8 @@
|
|||||||
<div v-if="$v.formData.price.$error">
|
<div v-if="$v.formData.price.$error">
|
||||||
<span v-if="!$v.formData.price.required" class="text-danger">{{ $tc('validation.required') }}</span>
|
<span v-if="!$v.formData.price.required" class="text-danger">{{ $tc('validation.required') }}</span>
|
||||||
<span v-if="!$v.formData.price.numeric" class="text-danger">{{ $tc('validation.numbers_only') }}</span>
|
<span v-if="!$v.formData.price.numeric" class="text-danger">{{ $tc('validation.numbers_only') }}</span>
|
||||||
|
<span v-if="!$v.formData.price.maxLength" class="text-danger">{{ $t('validation.price_maxlength') }}</span>
|
||||||
|
<span v-if="!$v.formData.price.minValue" class="text-danger">{{ $t('validation.price_minvalue') }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -138,7 +140,8 @@ export default {
|
|||||||
price: {
|
price: {
|
||||||
required,
|
required,
|
||||||
numeric,
|
numeric,
|
||||||
minValue: minValue(0.1)
|
minValue: minValue(0.1),
|
||||||
|
maxLength: maxLength(10)
|
||||||
},
|
},
|
||||||
description: {
|
description: {
|
||||||
maxLength: maxLength(255)
|
maxLength: maxLength(255)
|
||||||
|
|||||||
@ -761,7 +761,9 @@ export default {
|
|||||||
payment_greater_than_due_amount: 'Entered Payment is more than due amount of this invoice.',
|
payment_greater_than_due_amount: 'Entered Payment is more than due amount of this invoice.',
|
||||||
quantity_maxlength: 'Quantity should not be greater than 10 digits.',
|
quantity_maxlength: 'Quantity should not be greater than 10 digits.',
|
||||||
price_maxlength: 'Price should not be greater than 10 digits.',
|
price_maxlength: 'Price should not be greater than 10 digits.',
|
||||||
|
price_minvalue: 'Price should be greater than 0 digits',
|
||||||
amount_maxlength: 'Amount should not be greater than 10 digits.',
|
amount_maxlength: 'Amount should not be greater than 10 digits.',
|
||||||
|
amount_minvalue: 'Amount should be greater than 0 digits',
|
||||||
description_maxlength: 'Description should not be greater than 255 characters.',
|
description_maxlength: 'Description should not be greater than 255 characters.',
|
||||||
maximum_options_error: 'Maximum of {max} options selected. First remove a selected option to select another.',
|
maximum_options_error: 'Maximum of {max} options selected. First remove a selected option to select another.',
|
||||||
notes_maxlength: 'Notes should not be greater than 255 characters.',
|
notes_maxlength: 'Notes should not be greater than 255 characters.',
|
||||||
|
|||||||
@ -549,7 +549,7 @@ export default {
|
|||||||
right: 'Derecho',
|
right: 'Derecho',
|
||||||
left: 'Izquierda',
|
left: 'Izquierda',
|
||||||
action: 'Acción',
|
action: 'Acción',
|
||||||
add_currency: 'Agregar moneda',
|
add_currency: 'Agregar moneda'
|
||||||
},
|
},
|
||||||
pdf: {
|
pdf: {
|
||||||
title: 'Configuración de PDF',
|
title: 'Configuración de PDF',
|
||||||
@ -596,8 +596,6 @@ export default {
|
|||||||
estimate_viewed_desc: 'Cuando su cliente ve la estimación enviada a través del panel de control del cráter.',
|
estimate_viewed_desc: 'Cuando su cliente ve la estimación enviada a través del panel de control del cráter.',
|
||||||
save: 'Salvar',
|
save: 'Salvar',
|
||||||
email_save_message: 'Correo electrónico guardado con éxito',
|
email_save_message: 'Correo electrónico guardado con éxito',
|
||||||
invoice_viewed_message: 'Factura vista',
|
|
||||||
estimate_viewed_message: 'Estimación vista',
|
|
||||||
please_enter_email: 'Por favor, introduzca su correo electrónico'
|
please_enter_email: 'Por favor, introduzca su correo electrónico'
|
||||||
},
|
},
|
||||||
tax_types: {
|
tax_types: {
|
||||||
@ -642,7 +640,6 @@ export default {
|
|||||||
preference: 'Preferencia | Preferencias',
|
preference: 'Preferencia | Preferencias',
|
||||||
general_settings: 'Preferencias predeterminadas para el sistema.',
|
general_settings: 'Preferencias predeterminadas para el sistema.',
|
||||||
updated_message: 'Preferencias actualizadas exitosamente',
|
updated_message: 'Preferencias actualizadas exitosamente',
|
||||||
set_discount_per_item_message: 'Descuento establecido por artículo',
|
|
||||||
select_language: 'seleccione el idioma',
|
select_language: 'seleccione el idioma',
|
||||||
select_time_zone: 'selecciona la zona horaria',
|
select_time_zone: 'selecciona la zona horaria',
|
||||||
select_date_formate: 'seleccione formato de fecha',
|
select_date_formate: 'seleccione formato de fecha',
|
||||||
@ -676,7 +673,52 @@ export default {
|
|||||||
language: 'Idioma',
|
language: 'Idioma',
|
||||||
time_zone: 'Zona horaria',
|
time_zone: 'Zona horaria',
|
||||||
fiscal_year: 'Año financiero',
|
fiscal_year: 'Año financiero',
|
||||||
date_format: 'Formato de fecha'
|
date_format: 'Formato de fecha',
|
||||||
|
from_address: 'De la Dirección',
|
||||||
|
username: 'Nombre de usuario',
|
||||||
|
next: 'Próximo',
|
||||||
|
continue: 'Hacer continuación',
|
||||||
|
database: {
|
||||||
|
database: 'URL del sitio y base de datose',
|
||||||
|
connection: 'Conexión de base de datos',
|
||||||
|
host: 'Database Host',
|
||||||
|
port: 'Host de base de datos',
|
||||||
|
password: 'Contraseña de base de datos',
|
||||||
|
app_url: 'URL de la aplicación',
|
||||||
|
username: 'Nombre de usuario de la base de datos',
|
||||||
|
db_name: 'Nombre de la base de datos',
|
||||||
|
desc: 'Cree una base de datos en su servidor y establezca las credenciales utilizando el siguiente formulario.'
|
||||||
|
},
|
||||||
|
permissions: {
|
||||||
|
permissions: 'Permisos',
|
||||||
|
permission_desc: 'A continuación se muestra la lista de permisos de carpeta necesarios para que la aplicación funcione. Si la verificación de permisos falla, asegúrese de actualizar los permisos de su carpeta.'
|
||||||
|
},
|
||||||
|
mail: {
|
||||||
|
host: 'Host de correo',
|
||||||
|
port: 'Puerto de correo',
|
||||||
|
driver: 'Conductor de correo',
|
||||||
|
password: 'Contraseña de correo',
|
||||||
|
username: 'Nombre de usuario de correo',
|
||||||
|
mail_config: 'Configuración de correo',
|
||||||
|
encryption: 'Cifrado de correo',
|
||||||
|
mail_config_desc: 'Los detalles a continuación se utilizarán para actualizar el entorno de correo. También puede cambiar los detalles en cualquier momento después de iniciar sesión.'
|
||||||
|
},
|
||||||
|
req: {
|
||||||
|
system_req: 'Requisitos del sistema',
|
||||||
|
php_req_version: 'Php (versión {version} necesario)',
|
||||||
|
check_req: 'Consultar requisitos',
|
||||||
|
system_req_desc: 'Crater tiene algunos requisitos de servidor. Asegúrese de que su servidor tenga la versión de php requerida y todas las extensiones mencionadas a continuación.'
|
||||||
|
},
|
||||||
|
errors: {
|
||||||
|
migrate_failed: 'La migración falló',
|
||||||
|
database_variables_save_error: 'No se puede conectar a la base de datos con los valores proporcionados.',
|
||||||
|
mail_variables_save_error: 'La configuración del correo electrónico ha fallado.',
|
||||||
|
connection_failed: 'Conexión de base de datos fallida'
|
||||||
|
},
|
||||||
|
success: {
|
||||||
|
mail_variables_save_successfully: 'Correo electrónico configurado correctamente',
|
||||||
|
database_variables_save_successfully: 'Base de datos configurada con éxito.'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
layout_login: {
|
layout_login: {
|
||||||
copyright_crater: 'Copyright @ Crater - 2019',
|
copyright_crater: 'Copyright @ Crater - 2019',
|
||||||
@ -707,7 +749,9 @@ export default {
|
|||||||
payment_greater_than_due_amount: 'El pago ingresado es mayor al monto adeudado de esta factura.',
|
payment_greater_than_due_amount: 'El pago ingresado es mayor al monto adeudado de esta factura.',
|
||||||
quantity_maxlength: 'La cantidad no debe ser mayor de 10 dígitos.',
|
quantity_maxlength: 'La cantidad no debe ser mayor de 10 dígitos.',
|
||||||
price_maxlength: 'El precio no debe ser mayor de 10 dígitos.',
|
price_maxlength: 'El precio no debe ser mayor de 10 dígitos.',
|
||||||
|
price_minvalue: 'El precio debe ser mayor que 0 dígitos',
|
||||||
amount_maxlength: 'La cantidad no debe ser mayor de 10 dígitos.',
|
amount_maxlength: 'La cantidad no debe ser mayor de 10 dígitos.',
|
||||||
|
amount_minvalue: 'La cantidad debe ser mayor que 0 dígitos',
|
||||||
description_maxlength: 'La descripción no debe tener más de 255 caracteres.',
|
description_maxlength: 'La descripción no debe tener más de 255 caracteres.',
|
||||||
maximum_options_error: 'Máximo de {max} opciones seleccionadas. Primero elimine una opción seleccionada para seleccionar otra.',
|
maximum_options_error: 'Máximo de {max} opciones seleccionadas. Primero elimine una opción seleccionada para seleccionar otra.',
|
||||||
notes_maxlength: 'Las notas no deben tener más de 255 caracteres.',
|
notes_maxlength: 'Las notas no deben tener más de 255 caracteres.',
|
||||||
|
|||||||
@ -675,7 +675,52 @@ export default {
|
|||||||
language: 'La langue',
|
language: 'La langue',
|
||||||
time_zone: 'Fuseau horaire',
|
time_zone: 'Fuseau horaire',
|
||||||
fiscal_year: 'Année financière',
|
fiscal_year: 'Année financière',
|
||||||
date_format: 'Format de date'
|
date_format: 'Format de date',
|
||||||
|
from_address: "De l'adresse",
|
||||||
|
username: "Nom d'utilisateur",
|
||||||
|
next: 'Suivant',
|
||||||
|
continue: 'Continuer',
|
||||||
|
database: {
|
||||||
|
database: 'URL du site et base de données',
|
||||||
|
connection: 'Connexion à la base de données',
|
||||||
|
host: 'Hôte de base de données',
|
||||||
|
port: 'Port de base de données',
|
||||||
|
password: 'Mot de passe de base de données',
|
||||||
|
app_url: 'Application URL',
|
||||||
|
username: "Nom d'utilisateur de la base de données",
|
||||||
|
db_name: 'Nom de la base de données',
|
||||||
|
desc: "Créez une base de données sur votre serveur et définissez les informations d'identification à l'aide du formulaire ci-dessous."
|
||||||
|
},
|
||||||
|
permissions: {
|
||||||
|
permissions: 'Les permissions',
|
||||||
|
permission_desc: "Vous trouverez ci-dessous la liste des autorisations de dossier requises pour le fonctionnement de l'application. Si la vérification des autorisations échoue, veillez à mettre à jour vos autorisations de dossier."
|
||||||
|
},
|
||||||
|
mail: {
|
||||||
|
host: 'Mail Host',
|
||||||
|
port: 'Port mail',
|
||||||
|
driver: 'Pilote de courrier',
|
||||||
|
password: 'Mot de passe mail',
|
||||||
|
username: "Mail Nom d'utilisateur",
|
||||||
|
mail_config: 'Configuration du courrier',
|
||||||
|
encryption: 'Chiffrement du courrier',
|
||||||
|
mail_config_desc: "Les détails ci-dessous seront utilisés pour mettre à jour l'environnement de messagerie. Aussi, vous pouvez modifier les détails à tout moment après la connexion."
|
||||||
|
},
|
||||||
|
req: {
|
||||||
|
system_req: 'Configuration requise',
|
||||||
|
php_req_version: 'Php (version {version} nécessaire)',
|
||||||
|
check_req: 'Vérifier les exigences',
|
||||||
|
system_req_desc: 'Crater a quelques exigences de serveur. Assurez-vous que votre serveur dispose de la version PHP requise et de toutes les extensions mentionnées ci-dessous.'
|
||||||
|
},
|
||||||
|
errors: {
|
||||||
|
migrate_failed: 'Migration impossible',
|
||||||
|
database_variables_save_error: 'Impossible de se connecter à la base de données avec les valeurs fournies.',
|
||||||
|
mail_variables_save_error: 'La configuration du courrier électronique a échoué.',
|
||||||
|
connection_failed: 'La connexion à la base de données a échoué'
|
||||||
|
},
|
||||||
|
success: {
|
||||||
|
mail_variables_save_successfully: 'Email configuré avec succès',
|
||||||
|
database_variables_save_successfully: 'Base de données configurée avec succès.'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
layout_login: {
|
layout_login: {
|
||||||
copyright_crater: 'Copyright @ Crater - 2019',
|
copyright_crater: 'Copyright @ Crater - 2019',
|
||||||
@ -706,7 +751,9 @@ export default {
|
|||||||
payment_greater_than_due_amount: 'Le paiement entré est plus que le montant dû de cette facture.',
|
payment_greater_than_due_amount: 'Le paiement entré est plus que le montant dû de cette facture.',
|
||||||
quantity_maxlength: 'La quantité ne doit pas dépasser 10 chiffres.',
|
quantity_maxlength: 'La quantité ne doit pas dépasser 10 chiffres.',
|
||||||
price_maxlength: 'Le prix ne doit pas dépasser 10 chiffres.',
|
price_maxlength: 'Le prix ne doit pas dépasser 10 chiffres.',
|
||||||
|
price_minvalue: 'Le prix doit être supérieur à 0 chiffre',
|
||||||
amount_maxlength: 'Le montant ne doit pas dépasser 10 chiffres.',
|
amount_maxlength: 'Le montant ne doit pas dépasser 10 chiffres.',
|
||||||
|
amount_minvalue: 'Le montant doit être supérieur à 0 chiffre',
|
||||||
description_maxlength: 'La description ne doit pas dépasser 255 caractères.',
|
description_maxlength: 'La description ne doit pas dépasser 255 caractères.',
|
||||||
maximum_options_error: 'Maximum de {max} options sélectionnées. Commencez par supprimer une option sélectionnée pour en sélectionner une autre.',
|
maximum_options_error: 'Maximum de {max} options sélectionnées. Commencez par supprimer une option sélectionnée pour en sélectionner une autre.',
|
||||||
notes_maxlength: 'Les notes ne doivent pas dépasser 255 caractères.',
|
notes_maxlength: 'Les notes ne doivent pas dépasser 255 caractères.',
|
||||||
|
|||||||
@ -92,13 +92,14 @@
|
|||||||
<money
|
<money
|
||||||
v-model="amount"
|
v-model="amount"
|
||||||
v-bind="defaultCurrencyForInput"
|
v-bind="defaultCurrencyForInput"
|
||||||
|
:class="{'invalid' : $v.formData.amount.$error}"
|
||||||
class="input-field"
|
class="input-field"
|
||||||
@input="$v.formData.amount.$touch()"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="$v.formData.amount.$error">
|
<div v-if="$v.formData.amount.$error">
|
||||||
<span v-if="!$v.formData.amount.required" class="text-danger">{{ $t('validation.required') }}</span>
|
<span v-if="!$v.formData.amount.required" class="text-danger">{{ $t('validation.required') }}</span>
|
||||||
<span v-if="!$v.formData.amount.maxLength" class="text-danger">{{ $t('validation.amount_maxlength') }}</span>
|
<span v-if="!$v.formData.amount.maxLength" class="text-danger">{{ $t('validation.amount_maxlength') }}</span>
|
||||||
|
<span v-if="!$v.formData.amount.maxValue" class="text-danger">{{ $t('validation.amount_minvalue') }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
|
|||||||
@ -34,16 +34,16 @@
|
|||||||
<label>{{ $t('items.price') }}</label><span class="text-danger"> *</span>
|
<label>{{ $t('items.price') }}</label><span class="text-danger"> *</span>
|
||||||
<div class="base-input">
|
<div class="base-input">
|
||||||
<money
|
<money
|
||||||
:invalid="$v.formData.price.$error"
|
:class="{'invalid' : $v.formData.price.$error}"
|
||||||
v-model="price"
|
v-model="price"
|
||||||
v-bind="defaultCurrencyForInput"
|
v-bind="defaultCurrencyForInput"
|
||||||
class="input-field"
|
class="input-field"
|
||||||
@input="$v.formData.price.$touch()"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="$v.formData.price.$error">
|
<div v-if="$v.formData.price.$error">
|
||||||
<span v-if="!$v.formData.price.required" class="text-danger">{{ $t('validation.required') }} </span>
|
<span v-if="!$v.formData.price.required" class="text-danger">{{ $t('validation.required') }} </span>
|
||||||
<span v-if="!$v.formData.price.maxLength" class="text-danger">{{ $t('validation.price_maxlength') }}</span>
|
<span v-if="!$v.formData.price.maxLength" class="text-danger">{{ $t('validation.price_maxlength') }}</span>
|
||||||
|
<span v-if="!$v.formData.price.minValue" class="text-danger">{{ $t('validation.price_minvalue') }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@ -93,6 +93,7 @@
|
|||||||
import { validationMixin } from 'vuelidate'
|
import { validationMixin } from 'vuelidate'
|
||||||
import { mapActions, mapGetters } from 'vuex'
|
import { mapActions, mapGetters } from 'vuex'
|
||||||
const { required, minLength, numeric, alpha, minValue, maxLength } = require('vuelidate/lib/validators')
|
const { required, minLength, numeric, alpha, minValue, maxLength } = require('vuelidate/lib/validators')
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
mixins: {
|
mixins: {
|
||||||
validationMixin
|
validationMixin
|
||||||
|
|||||||
@ -113,7 +113,11 @@
|
|||||||
<h3 class="page-title">{{ $t('settings.preferences.discount_setting') }}</h3>
|
<h3 class="page-title">{{ $t('settings.preferences.discount_setting') }}</h3>
|
||||||
<div class="flex-box">
|
<div class="flex-box">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<base-switch v-model="discount_per_item" class="btn-switch" @change="setDiscount" />
|
<base-switch
|
||||||
|
v-model="discount_per_item"
|
||||||
|
class="btn-switch"
|
||||||
|
@change="setDiscount"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="right ml-15">
|
<div class="right ml-15">
|
||||||
<p class="box-title"> {{ $t('settings.preferences.discount_per_item') }} </p>
|
<p class="box-title"> {{ $t('settings.preferences.discount_per_item') }} </p>
|
||||||
|
|||||||
Reference in New Issue
Block a user