Merge remote-tracking branch 'Upstream/develop' into develop-search

This commit is contained in:
aspangaro 2014-11-06 20:06:08 +01:00
commit 64a9c2dba0
13 changed files with 120 additions and 90 deletions

View File

@ -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 ../..

View File

@ -1,6 +1,7 @@
<?php
/* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
*
* 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);

0
htdocs/install/mysql/migration/3.5.0-3.6.0.sql Normal file → Executable file
View File

1
htdocs/install/mysql/migration/3.6.0-3.7.0.sql Normal file → Executable file
View File

@ -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;

0
htdocs/install/mysql/migration/repair.sql Normal file → Executable file
View File

View File

@ -1,6 +1,7 @@
-- ===================================================================
-- Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
-- Copyright (C) 2009 Laurent Destailleur <eldy@users.sourceforge.net>
-- Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
--
-- 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)

23
htdocs/install/upgrade.php Normal file → Executable file
View File

@ -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 '<h3>'.$langs->trans("DatabaseMigration").'</h3>';
if (! $versionfrom && ! $versionto)
{
print '<div class="error">Parameter versionfrom or versionto missing. Upgrade is launched from page install/index.php (like a first install) instead of install/upgrade.php</div>';
exit;
}
print '<table cellspacing="0" cellpadding="1" border="0" width="100%">';
$error=0;

15
htdocs/install/upgrade2.php Normal file → Executable file
View File

@ -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);

View File

@ -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
@ -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ú

View File

@ -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, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;">haga clic aquí</a>.
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, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;">haga clic aquí</a>.
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 <b>%s días</b> antes.
MenuConfCP=Definir las vacaciones
UpdateAllCP=Actualizar las vacaciones
SoldeCPUser=Su saldo de vacaciones es de <b>%s días</b>.
SendRequestCP=Enviar la petición de días libres
DelayToRequestCP=Las peticiones de días libres deben realizarse al menos <b>%s días</b> antes.
MenuConfCP=Definir los días libres
UpdateAllCP=Actualizar los días libres
SoldeCPUser=Su saldo de días libres es de <b>%s días</b>.
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 <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">haciendo clic aquí</a>.
DelayForSubmitCP=Fecha límite para realizar peticiones de vacaciones
AddCPforUsers=Añada los saldos de días libres de los usuarios <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">haciendo clic aquí</a>.
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

View File

@ -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

View File

@ -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

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2010-2014 Juanjo Menent <jmenent@2byte.es>
*
* 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 '</tr>';
// 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,";