From 6f9d283ddc6c3a170088abb3fc063d1449916e0f Mon Sep 17 00:00:00 2001 From: Juanjo Menent Date: Thu, 6 Nov 2014 11:20:47 +0100 Subject: [PATCH 1/6] Fix: Module notifications DB Error "unknown field type" into third tab notifications --- htdocs/core/class/notify.class.php | 11 ++++++----- htdocs/install/mysql/migration/3.6.0-3.7.0.sql | 1 + htdocs/install/mysql/tables/llx_notify.sql | 2 ++ htdocs/societe/notify/card.php | 4 ++-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/htdocs/core/class/notify.class.php b/htdocs/core/class/notify.class.php index 26506360e66..db88671f7ff 100644 --- a/htdocs/core/class/notify.class.php +++ b/htdocs/core/class/notify.class.php @@ -1,6 +1,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2014 Juanjo Menent * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -173,7 +174,7 @@ class Notify // Check notification per third party $sql = "SELECT s.nom, c.email, c.rowid as cid, c.lastname, c.firstname, c.default_lang,"; - $sql.= " a.rowid as adid, a.label, a.code, n.rowid"; + $sql.= " a.rowid as adid, a.label, a.code, n.rowid, n.type"; $sql.= " FROM ".MAIN_DB_PREFIX."socpeople as c,"; $sql.= " ".MAIN_DB_PREFIX."c_action_trigger as a,"; $sql.= " ".MAIN_DB_PREFIX."notify_def as n,"; @@ -292,8 +293,8 @@ class Notify if ($mailfile->sendfile()) { - $sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_contact, objet_type, objet_id, email)"; - $sql.= " VALUES ('".$this->db->idate(dol_now())."', ".$actiondefid.", ".$object->socid.", ".$obj->cid.", '".$object_type."', ".$object->id.", '".$this->db->escape($obj->email)."')"; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_contact, type, objet_type, objet_id, email)"; + $sql.= " VALUES ('".$this->db->idate(dol_now())."', ".$actiondefid.", ".$object->socid.", ".$obj->cid.", '".$obj->type."', '".$object_type."', ".$object->id.", '".$this->db->escape($obj->email)."')"; if (! $this->db->query($sql)) { dol_print_error($this->db); @@ -421,8 +422,8 @@ class Notify if ($mailfile->sendfile()) { - $sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_contact, objet_type, objet_id, email)"; - $sql.= " VALUES ('".$this->db->idate(dol_now())."', ".$actiondefid.", ".$object->socid.", null, '".$object_type."', ".$object->id.", '".$this->db->escape($conf->global->$param)."')"; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_contact, type, objet_type, objet_id, email)"; + $sql.= " VALUES ('".$this->db->idate(dol_now())."', ".$actiondefid.", ".$object->socid.", null, '".$obj->type."', '".$object_type."', ".$object->id.", '".$this->db->escape($conf->global->$param)."')"; if (! $this->db->query($sql)) { dol_print_error($this->db); diff --git a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql index 4c31bef8055..5e1119ed4b4 100644 --- a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql +++ b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql @@ -28,6 +28,7 @@ insert into llx_c_action_trigger (code,label,description,elementtype,rang) value insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('PROPAL_CLASSIFY_BILLED','Customer proposal set billed','Executed when a customer proposal is set to billed','propal',2); ALTER TABLE llx_notify ADD COLUMN fk_soc integer NULL after fk_action; +ALTER TABLE llx_notify ADD COLUMN type varchar(16) DEFAULT 'email' after fk_soc; ALTER TABLE llx_bank_account ADD COLUMN fk_user_author integer; diff --git a/htdocs/install/mysql/tables/llx_notify.sql b/htdocs/install/mysql/tables/llx_notify.sql index 21a7b833dec..1dcfe6af8e6 100644 --- a/htdocs/install/mysql/tables/llx_notify.sql +++ b/htdocs/install/mysql/tables/llx_notify.sql @@ -1,6 +1,7 @@ -- =================================================================== -- Copyright (C) 2003 Rodolphe Quiedeville -- Copyright (C) 2009 Laurent Destailleur +-- Copyright (C) 2014 Juanjo Menent -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -26,6 +27,7 @@ create table llx_notify fk_soc integer NULL, fk_contact integer NULL, fk_user integer NULL, + type varchar(16) DEFAULT 'email', objet_type varchar(24) NOT NULL, objet_id integer NOT NULL, email varchar(255) diff --git a/htdocs/societe/notify/card.php b/htdocs/societe/notify/card.php index 542a2066e93..1845669dcfc 100644 --- a/htdocs/societe/notify/card.php +++ b/htdocs/societe/notify/card.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur - * Copyright (C) 2010-2012 Juanjo Menent + * Copyright (C) 2010-2014 Juanjo Menent * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -376,7 +376,7 @@ if ($result > 0) print ''; // List - $sql = "SELECT n.rowid, n.daten, n.email, n.objet_type, n.objet_id as object_id, n.type,"; + $sql = "SELECT n.rowid, n.daten, n.email, n.objet_type as object_type, n.objet_id as object_id, n.type,"; $sql.= " c.rowid as id, c.lastname, c.firstname, c.email as contactemail,"; $sql.= " a.code, a.label"; $sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,"; From c422024cb94145d95e1f08ca153e6f557fd3592a Mon Sep 17 00:00:00 2001 From: Juanjo Menent Date: Thu, 6 Nov 2014 11:55:26 +0100 Subject: [PATCH 2/6] Trad: More accurate trad of notifications. Update form transifex --- htdocs/langs/es_ES/admin.lang | 2 +- htdocs/langs/es_ES/mails.lang | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/langs/es_ES/admin.lang b/htdocs/langs/es_ES/admin.lang index 5e90bd39931..7973d578e24 100644 --- a/htdocs/langs/es_ES/admin.lang +++ b/htdocs/langs/es_ES/admin.lang @@ -1440,7 +1440,7 @@ DetailEnabled=Condición de mostrar o no DetailRight=Condición de visualización completa o restringida DetailLangs=Archivo .lang para la traducción del título DetailUser=Interno / Externo / Todos -Target=Objetivo +Target=Destinatario DetailTarget=Comportamiento del enlace (_blank para abrir una nueva ventana) DetailLevel=Nivel (-1:menú superior, 0:principal, >0 menú y submenú) ModifMenu=Modificación del menú diff --git a/htdocs/langs/es_ES/mails.lang b/htdocs/langs/es_ES/mails.lang index 233ad054aa1..531f4ce42d5 100644 --- a/htdocs/langs/es_ES/mails.lang +++ b/htdocs/langs/es_ES/mails.lang @@ -133,6 +133,6 @@ Notifications=Notificaciones NoNotificationsWillBeSent=Ninguna notificación por e-mail está prevista para este evento y empresa ANotificationsWillBeSent=1 notificación va a ser enviada por e-mail SomeNotificationsWillBeSent=%s notificaciones van a ser enviadas por e-mail -AddNewNotification=Activar un nuevo objetivo de notificación -ListOfActiveNotifications=Listado de todos los objetivos de notificación -ListOfNotificationsDone=Lista de notificaciones de e-mails enviadas +AddNewNotification=Activar un nuevo destinatario de notificaciones +ListOfActiveNotifications=Listado de todos los destinatarios de notificaciones +ListOfNotificationsDone=Listado de notificaciones enviadas From 0f22ebb7b548646ca3801aa540d3f749c6cc4064 Mon Sep 17 00:00:00 2001 From: Juanjo Menent Date: Thu, 6 Nov 2014 12:26:15 +0100 Subject: [PATCH 3/6] Trad: More accurate trad es_ES of after order. Update form transifex --- htdocs/langs/es_ES/propal.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/es_ES/propal.lang b/htdocs/langs/es_ES/propal.lang index 7ae23c89413..2dc18972359 100644 --- a/htdocs/langs/es_ES/propal.lang +++ b/htdocs/langs/es_ES/propal.lang @@ -81,7 +81,7 @@ ProposalsAndProposalsLines=Presupuestos a clientes y líneas de presupuestos ProposalLine=Línea de presupuesto AvailabilityPeriod=Tiempo de entrega SetAvailability=Definir el tiempo de entrega -AfterOrder=despues del pedido +AfterOrder=desde la firma ##### Availability ##### AvailabilityTypeAV_NOW=Inmediata AvailabilityTypeAV_1W=1 semana From b68bfac593a7f33edfe72f390ea4d557ef0580a2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 6 Nov 2014 13:46:12 +0100 Subject: [PATCH 4/6] Fix: Usage of migration scripts from command line --- .../install/mysql/migration/3.5.0-3.6.0.sql | 0 .../install/mysql/migration/3.6.0-3.7.0.sql | 0 htdocs/install/mysql/migration/repair.sql | 0 htdocs/install/upgrade.php | 23 ++++++++++++++----- htdocs/install/upgrade2.php | 15 ++++++++++++ 5 files changed, 32 insertions(+), 6 deletions(-) mode change 100644 => 100755 htdocs/install/mysql/migration/3.5.0-3.6.0.sql mode change 100644 => 100755 htdocs/install/mysql/migration/3.6.0-3.7.0.sql mode change 100644 => 100755 htdocs/install/mysql/migration/repair.sql mode change 100644 => 100755 htdocs/install/upgrade.php mode change 100644 => 100755 htdocs/install/upgrade2.php diff --git a/htdocs/install/mysql/migration/3.5.0-3.6.0.sql b/htdocs/install/mysql/migration/3.5.0-3.6.0.sql old mode 100644 new mode 100755 diff --git a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql old mode 100644 new mode 100755 diff --git a/htdocs/install/mysql/migration/repair.sql b/htdocs/install/mysql/migration/repair.sql old mode 100644 new mode 100755 diff --git a/htdocs/install/upgrade.php b/htdocs/install/upgrade.php old mode 100644 new mode 100755 index d89596e25e6..396c9f96b01 --- a/htdocs/install/upgrade.php +++ b/htdocs/install/upgrade.php @@ -50,6 +50,7 @@ error_reporting(0); @set_time_limit(120); error_reporting($err); + $setuplang=GETPOST("selectlang",'',3)?GETPOST("selectlang",'',3):'auto'; $langs->setDefaultLang($setuplang); $versionfrom=GETPOST("versionfrom",'',3)?GETPOST("versionfrom",'',3):(empty($argv[1])?'':$argv[1]); @@ -74,6 +75,22 @@ if (! is_object($conf)) dolibarr_install_syslog("upgrade2: conf file not initial * View */ +if (! $versionfrom && ! $versionto) +{ + print 'Error: Parameter versionfrom or versionto missing.'."\n"; + print 'Upgrade must be ran from cmmand line with parameters or called from page install/index.php (like a first install) instead of page install/upgrade.php'."\n"; + // Test if batch mode + $sapi_type = php_sapi_name(); + $script_file = basename(__FILE__); + $path=dirname(__FILE__).'/'; + if (substr($sapi_type, 0, 3) == 'cli') + { + print 'Syntax from command line: '.$script_file." x.y.z a.b.c\n"; + } + exit; +} + + pHeader('',"upgrade2",GETPOST('action'),'versionfrom='.$versionfrom.'&versionto='.$versionto); $actiondone=0; @@ -85,12 +102,6 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) print '

'.$langs->trans("DatabaseMigration").'

'; - if (! $versionfrom && ! $versionto) - { - print '
Parameter versionfrom or versionto missing. Upgrade is launched from page install/index.php (like a first install) instead of install/upgrade.php
'; - exit; - } - print ''; $error=0; diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php old mode 100644 new mode 100755 index 0bf76c7d729..3a02a78f9e8 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -83,6 +83,21 @@ if (! is_object($conf)) dolibarr_install_syslog("upgrade2: conf file not initial * View */ +if (! $versionfrom && ! $versionto) +{ + print 'Error: Parameter versionfrom or versionto missing.'."\n"; + print 'Upgrade must be ran from cmmand line with parameters or called from page install/index.php (like a first install) instead of page install/upgrade.php'."\n"; + // Test if batch mode + $sapi_type = php_sapi_name(); + $script_file = basename(__FILE__); + $path=dirname(__FILE__).'/'; + if (substr($sapi_type, 0, 3) == 'cli') + { + print 'Syntax from command line: '.$script_file." x.y.z a.b.c\n"; + } + exit; +} + pHeader('','etape5',GETPOST("action")?GETPOST("action"):'upgrade','versionfrom='.$versionfrom.'&versionto='.$versionto); From 9ec71e18fcfbacacd3bf5c89a7d2f1ba2e4fb760 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 6 Nov 2014 13:47:15 +0100 Subject: [PATCH 5/6] Try to track travis pb --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 548a8c53380..69f43183cfc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -92,8 +92,8 @@ script: - php upgrade2.php 3.4.0 3.5.0 > upgrade2.log - php upgrade.php 3.5.0 3.6.0 >> upgrade.log - php upgrade2.php 3.5.0 3.6.0 >> upgrade2.log - - php upgrade.php 3.6.0 3.7.0 >> upgrade.log -# - cat upgrade.log + - php upgrade.php 3.6.0 3.7.0 >> upgrade360370.log + - cat upgrade360370.log - php upgrade2.php 3.6.0 3.7.0 >> upgrade2.log # - cat upgrade2.log - cd ../.. From e421741fc4eed0aff731a6e50ee5384e05daf5a0 Mon Sep 17 00:00:00 2001 From: Juanjo Menent Date: Thu, 6 Nov 2014 17:33:05 +0100 Subject: [PATCH 6/6] Trad: More accurate trad of holidays. Update form transifex --- htdocs/langs/es_ES/admin.lang | 4 +- htdocs/langs/es_ES/holiday.lang | 136 ++++++++++++++++---------------- 2 files changed, 70 insertions(+), 70 deletions(-) diff --git a/htdocs/langs/es_ES/admin.lang b/htdocs/langs/es_ES/admin.lang index 7973d578e24..79935d143ca 100644 --- a/htdocs/langs/es_ES/admin.lang +++ b/htdocs/langs/es_ES/admin.lang @@ -514,8 +514,8 @@ Module5000Name=Multi-empresa Module5000Desc=Permite gestionar varias empresas Module6000Name=Flujo de trabajo Module6000Desc=Gestión del flujo de trabajo -Module20000Name=Quitar gestión de vacaciones -Module20000Desc=Gestión de los días libres de los empleados +Module20000Name=Gestión de días libres retribuidos +Module20000Desc=Gestión de los días libres retribuidos de los empleados Module39000Name=Lotes de productos Module39000Desc=Gestión de lotes y fechas de caducidad y venta de los productos Module50000Name=PayBox diff --git a/htdocs/langs/es_ES/holiday.lang b/htdocs/langs/es_ES/holiday.lang index 78cd612783e..99c55188b5a 100644 --- a/htdocs/langs/es_ES/holiday.lang +++ b/htdocs/langs/es_ES/holiday.lang @@ -1,13 +1,13 @@ # Dolibarr language file - Source file is en_US - holiday HRM=RRHH -Holidays=Vacaciones -CPTitreMenu=Vacaciones +Holidays=Días libres +CPTitreMenu=Días libres MenuReportMonth=Estado mensual -MenuAddCP=Realizar una petición de vacaciones -NotActiveModCP=Debe activar el módulo Vacaciones para ver esta página -NotConfigModCP=Debe configurar el módulo Vacaciones para ver esta página. Para configurarlo, haga clic aquí. -NoCPforUser=No tiene peticiones de vacaciones. -AddCP=Realizar una petición de vacaciones +MenuAddCP=Realizar una petición de días libres +NotActiveModCP=Debe activar el módulo Días libres retribuidos para ver esta página +NotConfigModCP=Debe configurar el módulo Días libres retribuidos para ver esta página. Para configurarlo, haga clic aquí. +NoCPforUser=No tiene peticiones de días libres. +AddCP=Realizar una petición de días libres Employe=Empleado DateDebCP=Fecha inicio DateFinCP=Fecha fin @@ -18,24 +18,24 @@ ApprovedCP=Aprobada CancelCP=Anulada RefuseCP=Rechazada ValidatorCP=Validador -ListeCP=Listado de vacaciones +ListeCP=Listado de días libres ReviewedByCP=Será revisada por DescCP=Descripción -SendRequestCP=Enviar la petición de vacaciones -DelayToRequestCP=Las peticiones de vacaciones deben realizarse al menos %s días antes. -MenuConfCP=Definir las vacaciones -UpdateAllCP=Actualizar las vacaciones -SoldeCPUser=Su saldo de vacaciones es de %s días. +SendRequestCP=Enviar la petición de días libres +DelayToRequestCP=Las peticiones de días libres deben realizarse al menos %s días antes. +MenuConfCP=Definir los días libres +UpdateAllCP=Actualizar los días libres +SoldeCPUser=Su saldo de días libres es de %s días. ErrorEndDateCP=Debe indicar una fecha de fin superior a la fecha de inicio. ErrorSQLCreateCP=Se ha producido un error de SQL durante la creación : -ErrorIDFicheCP=Se produjo un error, esta solicitud de vacaciones no existe. +ErrorIDFicheCP=Se produjo un error, esta solicitud de días libres no existe. ReturnCP=Volver a la página anterior -ErrorUserViewCP=No está autorizado a leer esta petición de vacaciones. -InfosCP=Información de la petición de vacaciones +ErrorUserViewCP=No está autorizado a leer esta petición de días libres. +InfosCP=Información de la petición de días libres InfosWorkflowCP=Información del workflow RequestByCP=Pedido por -TitreRequestCP=Ficha vacaciones -NbUseDaysCP=Número de días de vacaciones consumidos +TitreRequestCP=Ficha días libres +NbUseDaysCP=Número de días libres consumidos EditCP=Modificar DeleteCP=Eliminar ActionValidCP=Validar @@ -43,26 +43,26 @@ ActionRefuseCP=Rechazar ActionCancelCP=Anular StatutCP=Estado SendToValidationCP=Enviar validación -TitleDeleteCP=Eliminar la petición de vacaciones -ConfirmDeleteCP=¿Está seguro de querer eliminar esta petición de vacaciones? -ErrorCantDeleteCP=Error, no tiene permisos para eliminar esta petición de vacaciones. -CantCreateCP=No tiene permisos para realizar peticiones de vacaciones. -InvalidValidatorCP=Debe indicar un validador para su petición de vacaciones. +TitleDeleteCP=Eliminar la petición de días libres +ConfirmDeleteCP=¿Está seguro de querer eliminar esta petición de días libres? +ErrorCantDeleteCP=Error, no tiene permisos para eliminar esta petición de días libres. +CantCreateCP=No tiene permisos para realizar peticiones de días libres. +InvalidValidatorCP=Debe indicar un validador para su petición de días libres. UpdateButtonCP=Actualizar -CantUpdate=No puede actualizar esta petición de vacaciones. +CantUpdate=No puede actualizar esta petición de días libres. NoDateDebut=Debe indicar una fecha de inicio. NoDateFin=Debe indicar una fecha de fin. -ErrorDureeCP=Su petición de vacaciones no contiene ningún día hábil. -TitleValidCP=Aprobar la petición de vacaciones -ConfirmValidCP=¿Está seguro de querer validar esta petición de vacaciones? +ErrorDureeCP=Su petición de días libres no contiene ningún día hábil. +TitleValidCP=Aprobar la petición de días libres +ConfirmValidCP=¿Está seguro de querer validar esta petición de días libres? DateValidCP=Fecha de validación -TitleToValidCP=Enviar la petición de vacaciones -ConfirmToValidCP=¿Está seguro de querer enviar la petición de vacaciones? -TitleRefuseCP=Rechazar la petición de vacaciones -ConfirmRefuseCP=¿Está seguro de querer rechazar la petición de vacaciones? +TitleToValidCP=Enviar la petición de días libres +ConfirmToValidCP=¿Está seguro de querer enviar la petición de días libres? +TitleRefuseCP=Rechazar la petición de días libres +ConfirmRefuseCP=¿Está seguro de querer rechazar la petición de días libres? NoMotifRefuseCP=Debe seleccionar un motivo para rechazar esta petición. -TitleCancelCP=Cancelar la petición de vacaciones -ConfirmCancelCP=¿Está seguro de querer anular la petición de vacaciones? +TitleCancelCP=Cancelar la petición de días libres +ConfirmCancelCP=¿Está seguro de querer anular la petición de días libres? DetailRefusCP=Motivo del rechazo DateRefusCP=Fecha del rechazo DateCancelCP=Fecha de la anulación @@ -72,42 +72,42 @@ MotifCP=Motivo UserCP=Usuario ErrorAddEventToUserCP=Se ha producido un error en la asignación del permiso excepcional. AddEventToUserOkCP=Se ha añadido el permiso excepcional. -MenuLogCP=Ver los logs de vacaciones -LogCP=Logs de actualizaciones de vacaciones +MenuLogCP=Ver el historial de días libres +LogCP=Historial de actualizaciones de días libres ActionByCP=Realizado por UserUpdateCP=Para el usuario PrevSoldeCP=Saldo anterior NewSoldeCP=Nuevo saldo -alreadyCPexist=Ya se ha efectuado una petición de vacaciones para este periodo. +alreadyCPexist=Ya se ha efectuado una petición de días libres para este periodo. UserName=Nombre Apellidos Employee=Empleado FirstDayOfHoliday=Primer día libre LastDayOfHoliday=Último día libre HolidaysMonthlyUpdate=Actualización mensual ManualUpdate=Actualización manual -HolidaysCancelation=Anulación vacaciones +HolidaysCancelation=Anulación días libres ## Configuration du Module ## -ConfCP=Configuración del módulo de vacaciones +ConfCP=Configuración del módulo de días libres retribuidos DescOptionCP=Descripción de la opción ValueOptionCP=Valor -GroupToValidateCP=Grupo con posibilidad de aprobar las vacaciones +GroupToValidateCP=Grupo con posibilidad de aprobar los días libres ConfirmConfigCP=Validar la configuración -LastUpdateCP=Última actualización automática de vacaciones +LastUpdateCP=Última actualización automática de días libres UpdateConfCPOK=Actualización efectuada correctamente. ErrorUpdateConfCP=Se ha producido un error durante la actualización, vuélvalo a intentar. -AddCPforUsers=Añada los saldos de vacaciones de los usuarios haciendo clic aquí. -DelayForSubmitCP=Fecha límite para realizar peticiones de vacaciones +AddCPforUsers=Añada los saldos de días libres de los usuarios haciendo clic aquí. +DelayForSubmitCP=Fecha límite para realizar peticiones de días libres AlertapprobatortorDelayCP=Advertir al validador si la petición no corresponde a la fecha límite AlertValidatorDelayCP=Advertir al usuario validador si la petición no respeta el límite previsto -AlertValidorSoldeCP=Advertir al usuario validador si el usuario pide vacaciones superiores a su saldo -nbUserCP=Número de usuarios tomados en cuenta en el módulo vacaciones -nbHolidayDeductedCP=Número de días retribuídos a deducir por día de vacaciones -nbHolidayEveryMonthCP=Número de vacaciones añadidas por mes -Module27130Name= Gestion de las vacaciones +AlertValidorSoldeCP=Advertir al usuario validador si el usuario pide días libres superiores a su saldo +nbUserCP=Número de usuarios tomados en cuenta en el módulo días libres retribuidos +nbHolidayDeductedCP=Número de días retribuídos a deducir por día líbre +nbHolidayEveryMonthCP=Número de días libres añadidos por mes +Module27130Name= Gestión de los días libres Module27130Desc= Gestión de días libres -TitleOptionMainCP=Ajustes principales de vacaciones -TitleOptionEventCP=Ajustes de vacaciones enlazados a eventos +TitleOptionMainCP=Ajustes principales de días libres +TitleOptionEventCP=Ajustes de días libres enlazados a eventos ValidEventCP=Validar UpdateEventCP=Actualizar los eventos CreateEventCP=Crear @@ -125,25 +125,25 @@ TitleUpdateEventCP=Modificar o eliminar un permiso excepcional DeleteEventOptionCP=Eliminar UpdateEventOptionCP=Actualizar ErrorMailNotSend=Se ha producido un error en el envío del e-mail : -NoCPforMonth=Sin vacaciones este mes. +NoCPforMonth=Sin días libres este mes. nbJours=Número de días -TitleAdminCP=Configuración de las vacaciones +TitleAdminCP=Configuración de los días libres retribuidos #Messages Hello=Hola -HolidaysToValidate=Días retribuidos a validar -HolidaysToValidateBody=A continuación encontrará una solicitud de días retribuidos para validar -HolidaysToValidateDelay=Esta solicitud de días retribuidos tendrá lugar en un plazo de menos de %s días. -HolidaysToValidateAlertSolde=El usuario que ha realizado la solicitud de días retribuidos no dispone de suficientes días disponibles. -HolidaysValidated=Días retribuidos validados -HolidaysValidatedBody=Su solicitud de días retribuidos desde el %s al %s ha sido validada. -HolidaysRefused=Días retribuidos denegados -HolidaysRefusedBody=Su solicitud de días retribuidos desde el %s al %s ha sido denegada por el siguiente motivo : -HolidaysCanceled=Días retribuidos cancelados -HolidaysCanceledBody=Su solicitud de días retribuidos desde el %s al %s ha sido cancelada. -Permission20000=Leer sus propios días retribuidos -Permission20001=Crear/modificar sus días retribuidos -Permission20002=Crear/modificar días retribuidos para todos -Permission20003=Eliminar peticiones de días retribuidos -Permission20004=Configurar días retribuidos de usuarios -Permission20005=Consultar el historial de modificaciones de permisos retribuídos -Permission20006=Leer informe mensual de días retribuidos +HolidaysToValidate=Días libres retribuidos a validar +HolidaysToValidateBody=A continuación encontrará una solicitud de días libres retribuidos para validar +HolidaysToValidateDelay=Esta solicitud de días libres retribuidos tendrá lugar en un plazo de menos de %s días. +HolidaysToValidateAlertSolde=El usuario que ha realizado la solicitud de días libres retribuidos no dispone de suficientes días disponibles. +HolidaysValidated=Días libres retribuidos validados +HolidaysValidatedBody=Su solicitud de días libres retribuidos desde el %s al %s ha sido validada. +HolidaysRefused=Días libres retribuidos denegados +HolidaysRefusedBody=Su solicitud de días libres retribuidos desde el %s al %s ha sido denegada por el siguiente motivo : +HolidaysCanceled=Días libres retribuidos cancelados +HolidaysCanceledBody=Su solicitud de días libres retribuidos desde el %s al %s ha sido cancelada. +Permission20000=Leer sus propios días libres retribuidos +Permission20001=Crear/modificar sus días libres retribuidos +Permission20002=Crear/modificar días libres retribuidos para todos +Permission20003=Eliminar peticiones de días libres retribuidos +Permission20004=Configurar días libres retribuidos de usuarios +Permission20005=Consultar el historial de modificaciones de días libres retribuídos +Permission20006=Leer informe mensual de días libres retribuidos