diff --git a/ChangeLog b/ChangeLog
index c72f312e918..da09d71d189 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,7 +21,8 @@ For users:
- New: Add option MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE.
- New: Add warning if supplier payment is higher that due amount.
- New: Increase length of url into bookmark module.
-- New: Add an admin page to make a mass init of barcode values for all products.
+- New: Add an admin page to make a mass init of barcode values for all products.
+- New: Automatic events for sending mails showing info about mail linked objects.
TODO
- New: Predefined product and free product use same form.
diff --git a/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php b/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php
index 6ab80b6ad88..0bb1b6c12b2 100644
--- a/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php
+++ b/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php
@@ -618,6 +618,15 @@ class InterfaceActionsAuto
if ($ok)
{
$now=dol_now();
+
+ if(isset($_SESSION['listofnames']))
+ {
+ $attachs=$_SESSION['listofnames'];
+ if($attachs && strpos($action,'SENTBYMAIL'))
+ {
+ $object->actionmsg.="\n".$langs->transnoentities("AttachedFiles").': '.$attachs;
+ }
+ }
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
diff --git a/htdocs/langs/es_ES/admin.lang b/htdocs/langs/es_ES/admin.lang
index eb2364cfc4f..d4a501e76a8 100644
--- a/htdocs/langs/es_ES/admin.lang
+++ b/htdocs/langs/es_ES/admin.lang
@@ -287,7 +287,7 @@ CurrentVersion=Versión actual de Dolibarr
CallUpdatePage=Llamar a la página de actualización de la estructura y datos de la base de datos %s.
LastStableVersion=Última versión estable disponible
GenericMaskCodes=Puede introducir cualquier máscara numérica. En esta máscara, puede utilizar las siguientes etiquetas:
{000000} corresponde a un número que se incrementa en cada uno de %s. Introduzca tantos ceros como longitud desee mostrar. El contador se completará a partir de ceros por la izquierda con el fin de tener tantos ceros como la máscara.
{000000+000} b> Igual que el anterior, con una compensación correspondiente al número a la derecha del signo + se aplica a partir del primer %s.
{000000@x} igual que el anterior, pero el contador se restablece a cero cuando se llega a x meses (x entre 1 y 12). Si esta opción se utiliza y x es de 2 o superior, entonces la secuencia {yy}{mm} o {yyyy}{mm} también es necesaria.
{dd} días (01 a 31).
{mm} mes (01 a 12).
{yy}, {yyyy} ou {y} año en 2, 4 ó 1 cifra.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+GenericMaskCodes2={cccc} el código de cliente en n caracteres
{cccc000} el código de cliente en n caracteres es seguido por un contador propio al cliente sin offset, completado con ceros hasta completar la máscara, y volviendo a cero al mismo tiempo que el contador global.
{tttt}El código del tipo de la empresa en n caracteres (ver diccionarios-tipos de empresas).
GenericMaskCodes3=Cualquier otro carácter en la máscara se quedará sin cambios.
No se permiten espacios
GenericMaskCodes4a=Ejemplo en la 99 ª %s del tercero La Empresa realizada el 31/03/2007:
GenericMaskCodes4b=Ejemplo sobre un tercero creado el 31/03/2007:
diff --git a/htdocs/langs/es_ES/bills.lang b/htdocs/langs/es_ES/bills.lang
index 02b72f87d30..bfcd2875271 100644
--- a/htdocs/langs/es_ES/bills.lang
+++ b/htdocs/langs/es_ES/bills.lang
@@ -359,7 +359,7 @@ IntracommunityVATNumber=Número de IVA intracomunitario
PaymentByChequeOrderedTo=Pago mediante cheque nominativo a %s enviado a
PaymentByChequeOrderedToShort=Pago mediante cheque nominativo a
SendTo=enviado a
-PaymentByTransferOnThisBankAccount=Pago mediante trasferencia sobre la cuenta bancaria siguiente
+PaymentByTransferOnThisBankAccount=Pago mediante transferencia a la cuenta bancaria siguiente
VATIsNotUsedForInvoice=* IVA no aplicable art-293B del CGI
LawApplicationPart1=Por aplicación de la ley 80.335 de 12/05/80
LawApplicationPart2=las mercancías permanecen en propiedad de
diff --git a/htdocs/langs/es_ES/exports.lang b/htdocs/langs/es_ES/exports.lang
index 644ddaf34f9..8724ae4695e 100644
--- a/htdocs/langs/es_ES/exports.lang
+++ b/htdocs/langs/es_ES/exports.lang
@@ -102,14 +102,14 @@ NbOfLinesImported=Número de líneas correctamente importadas: %s.
DataComeFromNoWhere=El valor a insertar no corresponde a ningún campo del archivo origen.
DataComeFromFileFieldNb=El valor a insertar se corresponde al campo número %s del archivo origen.
DataComeFromIdFoundFromRef=El valor dado por el campo %s del archivo origen será utilizado para encontrar el ID del objeto padre a usar (el objeto %s con la referencia del archivo origen debe existir en Dolibarr).
-# DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find id of parent object to use (So the code from source file must exists into dictionary %s). Note that if you know id, you can also use it into source file instead of code. Import should work in both cases.
+DataComeFromIdFoundFromCodeId=El código del campo número %s del archivo de origen se utilizará para encontrar el id del objeto padre a usar (el código del archivo de origen debe existir en el diccionario %s). Tenga en cuenta que si conoce el id, puede usarlo en lugar del código en el archivo de origen. La importación funcionará en los 2 casos.
DataIsInsertedInto=Los datos del archivo de origen se insertarán en el siguiente campo:
DataIDSourceIsInsertedInto=El ID del objeto padre encontrado a partir del dato origen, se insertará en el siguiente campo:
DataCodeIDSourceIsInsertedInto=El id de la línea padre encontrada a partir del código, se insertará en el siguiente campo:
SourceRequired=Datos de origen obligatorios
SourceExample=Ejemplo de datos de origen posibles
ExampleAnyRefFoundIntoElement=Todas las referencias encontradas para los elementos %s
-# ExampleAnyCodeOrIdFoundIntoDictionary=Any code (or id) found into dictionary %s
+ExampleAnyCodeOrIdFoundIntoDictionary=Cualquier código (o identificador) encontrado en el diccionario %s
CSVFormatDesc=Archivo con formato Valores separados por coma (.csv).
Es un fichero con formato de texto en el que los campos son separados por el carácter [ %s ]. Si el separador se encuentra en el contenido de un campo, El campo debe de estar acotado por el carácter [ %s ]. El carácter de escape para incluir un carácter de entorno en un dato es [ %s ].
Excel95FormatDesc=Archivo con formato Excel (.xls)
Este es el formato nativo de Excel 95 (BIFF5).
Excel2007FormatDesc=Archivo con formato Excel (.xlsx)
Este es el formato nativo de Excel 2007 (SpreadsheetML).
diff --git a/htdocs/langs/es_ES/products.lang b/htdocs/langs/es_ES/products.lang
index e078d6f09a3..9ea7de651c9 100644
--- a/htdocs/langs/es_ES/products.lang
+++ b/htdocs/langs/es_ES/products.lang
@@ -173,8 +173,8 @@ CustomCode=Código aduanero
CountryOrigin=País de origen
HiddenIntoCombo=Oculto en las listas
Nature=Naturaleza
-ProductCodeModel=Modelo de código de producto
-ServiceCodeModel=Modelo de código de servicio
+ProductCodeModel=Modelo de ref. de producto
+ServiceCodeModel=Modelo de ref. de servicio
AddThisProductCard=Crear ficha producto
HelpAddThisProductCard=Esta opción permite crear o clonar una ficha de producto en caso de que no exista
AddThisServiceCard=Crear ficha servicio
diff --git a/htdocs/langs/es_ES/stocks.lang b/htdocs/langs/es_ES/stocks.lang
index 7bd294aea08..638b3faed6c 100644
--- a/htdocs/langs/es_ES/stocks.lang
+++ b/htdocs/langs/es_ES/stocks.lang
@@ -94,14 +94,20 @@ DesiredStock=Stock deseado
StockToBuy=A pedir
Replenishment=Reaprovisionamiento
ReplenishmentOrders=Ordenes de reaprovisionamiento
-UseVirtualStock=Usar stock virtual en lugar de stock físico
+VirtualDiffersFromPhysical=De acuerdo con las opciones de incremento/decremento de stock, el stock físico y el stock virtual (físico + pedidos actuales) puede diferir
+UseVirtualStockByDefault=Usar stock virtual por defecto, en lugar de stock físico, para la funcionalidad de aprovisionamiento
+UseVirtualStock=Usar stock virtual
+UsePhysicalStock=Usar stock físico
+CurentSelectionMode=Modo de selección actual
+CurentlyUsingVirtualStock=Stock virtual
+CurentlyUsingPhysicalStock=Stock físico
RuleForStockReplenishment=Regla para el reaprovisionamiento de stock
SelectProductWithNotNullQty=Seleccie al menos un producto con una cantidad distinta de cero y un proveedor
AlertOnly= Sólo alertas
WarehouseForStockDecrease=Para el decremento de stock se usará el almacén %s
WarehouseForStockIncrease=Para el incremento de stock se usará el almacén %s
ForThisWarehouse=Para este almacén
-ReplenishmentStatusDesc=Este listado le permite ver productos con un stock inferior a la cantidad mínima deseada (o valor de alerta si el checkbok "Sólo alertas" está activado) y le sugiere crear los pedidos a proveedores para completar la diferencia.
+ReplenishmentStatusDesc=Esta es la lista de todos los productos con un stock menor que el stock deseado (o menor que el valor de alerta si el checkbox "sólo alertas" está marcado) y que sugiere crear pedidos de proveedor para rellenar la diferencia.
ReplenishmentOrdersDesc=Este es el listado de pedidos a proveedores en curso
Replenishments=Reaprovisionamiento
NbOfProductBeforePeriod=Cantidad del producto %s en stock antes del periodo seleccionado (< %s)