diff --git a/ChangeLog b/ChangeLog index 1c4bbc9f6ef..2f430302b4d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -35,13 +35,13 @@ For users: - New: Support unique field for extrafields. - New: Extra fields supports more types (int, string, double, date, datetime). - New: Can correct stock of a warehouse from warehouse card. -- New: [ task #185 ]: Can input amount when correcting stock to recalculate PMP. -- New: [ task #454 ]: Add "No category" into filters on category. +- New: [ task #185 ] Can input amount when correcting stock to recalculate PMP. +- New: [ task #454 ] Add "No category" into filters on category. - New: Auto check box on page to edit interface options of user. - New: More surface control on stock correction page. - New: Add great britain provinces. - New: [ task #494 ] Send an email to foundation when a new member has auto-subscribed. -- New: [ task #326 ]: Add a numbering module to suggest automatically a product ref. +- New: [ task #326 ] Add a numbering module to suggest automatically a product ref. - New: Add conditional substitution IF/ELSEIF/ENDIF for ODT templates. - New: Add unit foot2, inch2, foot3 and inch3 for surface and volumes. - New: Can select thirdparties into emailing targets, even if module category is not enabled. @@ -61,9 +61,8 @@ For users: - New: Add new import options: Third parties bank details, warehouses and stocks, categories and suppliers prices - New: English bank account need a bank code (called sort code) to identify an account. - New: Can choose menu entry to show with external site module. -- New: Add hidden option MAIN_PDF_MARGIN_LEFT, MAIN_PDF_MARGIN_RIGHT, MAIN_PDF_MARGIN_TOP, MAIN_PDF_MARGIN_BOTTOM - to force margins of generated PDF. -- New: [ task #314 ] Can define if prof id are mandatory or not. +- New: Add hidden option MAIN_PDF_MARGIN_LEFT, MAIN_PDF_MARGIN_RIGHT, MAIN_PDF_MARGIN_TOP, MAIN_PDF_MARGIN_BOTTOM to force margins of generated PDF. +- New: [ task #314 ] Can define if prof id are mandatory or not. - New: Add button on order card to create intervention from services. - New: Add search box to find products by supplier reference. - New: Add option MAIN_HELPCENTER_LINKTOUSE to define target link "I need help" onto logon page. @@ -76,11 +75,15 @@ New experimental modules: - New: Add commissions management module. -- Fix: [ bug #499 ]: Supplier order input method not translated +- Fix: [ bug #499 ] Supplier order input method not translated - Fix: No images into product description lines as PDF generation does not work with this. - Fix: Errors weren't being shown in customer's & supplier's orders - Fix: Lastname wasn't being recorded in xinputuser emailing module. +- Fix: [ bug #653 ] Error while creating agenda additional attributes +- Fix: [ bug #654 ] Event rapport PDF showing ActionAC_OTH_AUTO +- Fix: [ bug #658 ] Search on bank do not work for description +- Fix: [ bug #659 ] Comment in recurrent invoices is not stored For developers: - New: Add webservice for thirdparty creation and list. @@ -103,7 +106,12 @@ For developers: - New: We can use a dynamic value ($conf->global->XXX for example) into titles of menus. - Qual: Renamed SUPPLIER_INVOICE_BUILDDOC trigger to BILL_SUPPLIER_BUILDDOC - Qual: Renamed INVOICE_SUPPLIER_DELETE trigger to BILL_SUPPLIER_DELETE -- Qual: Renamed SUPLLIER_ORDER_BUILDDOC trigger to ORDER_SUPPLIER_BUILDDOC +- Qual: Renamed SUPLIER_ORDER_BUILDDOC trigger to ORDER_SUPPLIER_BUILDDOC +- Qual: Renamed CONTRACTLINE_DELETE trigger to CONTRACT_LINE_DELETE +- Qual: Renamed all ficheinter.class.php triggers so that they start with 'FICHINTER_' +- Fix: [ bug #655 ] ORDER_REOPEN trigger incorrectly named +- Fix: [ bug #656 ] Contracts trigger CONTRACT_MODIFY incorrectly named +- Fix: [ bug #657 ] Usergroup class' GROUP_DELETE trigger incorrectly named For translators: - New: Update language files (de, tr, pt, ca, es, en, fr). diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index 3f77c58d7ed..62d5d2c7808 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -371,7 +371,8 @@ if ($id == 11) 'propal' => $langs->trans('Proposal'), 'facture' => $langs->trans('Bill'), 'facture_fourn' => $langs->trans('SupplierBill'), - 'fichinter' => $langs->trans('InterventionCard') + 'fichinter' => $langs->trans('InterventionCard'), + 'agenda' => $langs->trans('Agenda') ); if (! empty($conf->global->MAIN_SUPPORT_CONTACT_TYPE_FOR_THIRDPARTIES)) $elementList["societe"] = $langs->trans('ThirdParty'); $sourceList = array( @@ -1247,7 +1248,7 @@ function fieldList($fieldlist,$obj='',$tabname='') $align="left"; if (in_array($fieldlist[$field],array('taux','localtax1','localtax2'))) $align="right"; // Fields aligned on right print ''; - print ''; + print ''; print ''; } elseif ($fieldlist[$field] == 'libelle_facture') { diff --git a/htdocs/admin/notification.php b/htdocs/admin/notification.php index 821da019a73..53515b1835f 100644 --- a/htdocs/admin/notification.php +++ b/htdocs/admin/notification.php @@ -28,6 +28,9 @@ require_once DOL_DOCUMENT_ROOT.'/core/triggers/interface_50_modNotification_Noti $langs->load("admin"); $langs->load("other"); +$langs->load("orders"); +$langs->load("propal"); +$langs->load("bills"); // Security check if (!$user->admin) @@ -109,8 +112,14 @@ foreach($listofnotifiedevents as $notifiedevent) { $var=!$var; $label=$langs->trans("Notify_".$notifiedevent['code']); //!=$langs->trans("Notify_".$notifiedevent['code'])?$langs->trans("Notify_".$notifiedevent['code']):$notifiedevent['label']; + + if ($notifiedevent['elementtype'] == 'order_supplier') $elementLabel = $langs->trans('SupplierOrder'); + elseif ($notifiedevent['elementtype'] == 'propal') $elementLabel = $langs->trans('Proposal'); + elseif ($notifiedevent['elementtype'] == 'facture') $elementLabel = $langs->trans('Bill'); + elseif ($notifiedevent['elementtype'] == 'commande') $elementLabel = $langs->trans('Order'); + print ''; - print ''.$notifiedevent['elementtype'].''; + print ''.$elementLabel.''; print ''.$notifiedevent['code'].''; print ''.$label.''; print ''; diff --git a/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN b/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN index 3b598a98865..a1fd9bba53a 100755 --- a/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN +++ b/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN @@ -108,7 +108,7 @@ class InterfaceDemo // Data and type of action are stored into $object and $action // Users - if ($action == 'USER_LOGIN') + if ($action == 'USER_LOGIN') { dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); } @@ -322,10 +322,6 @@ class InterfaceDemo { dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); } - elseif ($action == 'CONTRACT_MODIFY') - { - dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); - } elseif ($action == 'CONTRACT_ACTIVATE') { dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); @@ -404,19 +400,19 @@ class InterfaceDemo } // Interventions - elseif ($action == 'FICHEINTER_CREATE') + elseif ($action == 'FICHINTER_CREATE') { dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); } - elseif ($action == 'FICHEINTER_MODIFY') + elseif ($action == 'FICHINTER_MODIFY') { dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); } - elseif ($action == 'FICHEINTER_VALIDATE') + elseif ($action == 'FICHINTER_VALIDATE') { dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); } - elseif ($action == 'FICHEINTER_DELETE') + elseif ($action == 'FICHINTER_DELETE') { dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); } diff --git a/htdocs/ftp/admin/ftpclient.php b/htdocs/ftp/admin/ftpclient.php index 6c304c783cb..b7d322398ea 100644 --- a/htdocs/ftp/admin/ftpclient.php +++ b/htdocs/ftp/admin/ftpclient.php @@ -77,7 +77,7 @@ if ($action == 'add' || GETPOST('modify','alpha')) $ftp_port = "FTP_PORT_" . $entry; $ftp_user = "FTP_USER_" . $entry; $ftp_password = "FTP_PASSWORD_" . $entry; - $ftp_passive = "FTP_PASSIVE_" . $entry; + $ftp_passive = "FTP_PASSIVE_" . $entry; $db->begin(); @@ -86,7 +86,7 @@ if ($action == 'add' || GETPOST('modify','alpha')) if ($result2) $result3=dolibarr_set_const($db, "FTP_USER_" . $entry,GETPOST($ftp_user,'alpha'),'chaine',0,'',$conf->entity); if ($result3) $result4=dolibarr_set_const($db, "FTP_PASSWORD_" . $entry,GETPOST($ftp_password,'alpha'),'chaine',0,'',$conf->entity); if ($result4) $result5=dolibarr_set_const($db, "FTP_NAME_" . $entry,GETPOST($ftp_name,'alpha'),'chaine',0,'',$conf->entity); - if ($result5) $result6=dolibarr_set_const($db, "FTP_PASSIVE_" . $entry,GETPOST($ftp_passive,'alpha'),'chaine',0,'',$conf->entity); + if ($result5) $result6=dolibarr_set_const($db, "FTP_PASSIVE_" . $entry,GETPOST($ftp_passive,'alpha'),'chaine',0,'',$conf->entity); if ($result1 && $result2 && $result3 && $result4 && $result5 && $result6) { @@ -114,7 +114,7 @@ if (GETPOST('delete','alpha')) if ($result2) $result3=dolibarr_del_const($db,"FTP_USER_" . $entry,$conf->entity); if ($result3) $result4=dolibarr_del_const($db,"FTP_PASSWORD_" . $entry,$conf->entity); if ($result4) $result5=dolibarr_del_const($db,"FTP_NAME_" . $entry,$conf->entity); - if ($result4) $result6=dolibarr_del_const($db,"FTP_PASSIVE_" . $entry,$conf->entity); + if ($result4) $result6=dolibarr_del_const($db,"FTP_PASSIVE_" . $entry,$conf->entity); if ($result1 && $result2 && $result3 && $result4 && $result5 && $result6) { @@ -192,7 +192,7 @@ else print ''; print ''; - print ''.$langs->trans("Passive").''; + print ''.$langs->trans("FTPPassiveMode").''; $defaultpassive=GETPOST("FTP_PASSIVE_" . ($lastftpentry+1)); if (! isset($_POST["FTP_PASSIVE_" . ($lastftpentry+1)])) $defaultpassive=empty($conf->global->FTP_SUGGEST_PASSIVE_BYDEFAULT)?0:1; print ''.$form->selectyesno('FTP_PASSIVE_'.($lastftpentry+1), $defaultpassive, 2).''; @@ -278,7 +278,7 @@ else $var=!$var; print ""; print "".$langs->trans("Passive").""; - print ''.$form->selectyesno('FTP_PASSIVE_'.$idrss, @constant("FTP_PASSIVE_" . $idrss), 1).''; + print ''.$form->selectyesno('FTP_PASSIVE_'.$idrss, @constant("FTP_PASSIVE_" . $idrss), 1).''; print ""; print ""; diff --git a/htdocs/install/mysql/migration/3.2.0-3.3.0.sql b/htdocs/install/mysql/migration/3.2.0-3.3.0.sql index 3a0f6b9cd29..b3353d1b526 100755 --- a/htdocs/install/mysql/migration/3.2.0-3.3.0.sql +++ b/htdocs/install/mysql/migration/3.2.0-3.3.0.sql @@ -907,3 +907,4 @@ ALTER TABLE llx_element_lock DROP COLUMN fk_user_modif; ALTER TABLE llx_element_lock DROP COLUMN status; DELETE FROM llx_c_action_trigger WHERE elementtype='withdraw'; +UPDATE llx_c_action_trigger SET code='FICHINTER_VALIDATE' WHERE code='FICHEINTER_VALIDATE'; diff --git a/htdocs/langs/en_US/ftp.lang b/htdocs/langs/en_US/ftp.lang index 65b11a7a129..e8e70447185 100644 --- a/htdocs/langs/en_US/ftp.lang +++ b/htdocs/langs/en_US/ftp.lang @@ -9,4 +9,5 @@ FTPFeatureNotSupportedByYourPHP=Your PHP does not support FTP functions FailedToConnectToFTPServer=Failed to connect to FTP server (server %s, port %s) FailedToConnectToFTPServerWithCredentials=Failed to login to FTP server with defined login/password FTPFailedToRemoveFile=Failed to remove file %s. -FTPFailedToRemoveDir=Failed to remove directory %s (Check permissions and that directory is empty). \ No newline at end of file +FTPFailedToRemoveDir=Failed to remove directory %s (Check permissions and that directory is empty). +FTPPassiveMode=Passive mode \ No newline at end of file diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 9696eb55e79..dc2ee6b225e 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -107,6 +107,7 @@ Activated=Activated Closed=Closed Closed2=Closed Enabled=Enabled +Deprecated=Deprecated Disable=Disable Disabled=Disabled Add=Add diff --git a/htdocs/langs/en_US/paypal.lang b/htdocs/langs/en_US/paypal.lang index 1049658abf2..f06ce5f6309 100644 --- a/htdocs/langs/en_US/paypal.lang +++ b/htdocs/langs/en_US/paypal.lang @@ -10,6 +10,8 @@ PAYPAL_API_USER=API username PAYPAL_API_PASSWORD=API password PAYPAL_API_SIGNATURE=API signature PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Offer payment "integral" (Credit card+Paypal) or "Paypal" only +PaypalModeIntegral=Integral +PaypalModeOnlyPaypal=PayPal only PAYPAL_CSS_URL=Optionnal Url of CSS style sheet on payment page ThisIsTransactionId=This is id of transaction: %s PAYPAL_ADD_PAYMENT_URL=Add the url of Paypal payment when you send a document by mail diff --git a/htdocs/langs/es_ES/admin.lang b/htdocs/langs/es_ES/admin.lang index c14ebde7308..a62aa93fc80 100644 --- a/htdocs/langs/es_ES/admin.lang +++ b/htdocs/langs/es_ES/admin.lang @@ -1179,7 +1179,7 @@ LDAPFieldSidExample=Ejemplo : objectsid LDAPFieldEndLastSubscription=Fecha finalización como miembro LDAPParametersAreStillHardCoded=Los parámetros LDAP son codificados en duro (en la clase contact) LDAPSetupNotComplete=Configuración LDAP incompleta (a completar en las otras pestañas) -LDAPNoUserOrPasswordProvidedAccessIsReadOnly=Administrador o contraseña no inindicados. Los accesos LDAP serán anónimos y en solo lectura. +LDAPNoUserOrPasswordProvidedAccessIsReadOnly=Administrador o contraseña no indicados. Los accesos LDAP serán anónimos y en solo lectura. LDAPDescContact=Esta página permite definir el nombre de los atributos del árbol LDAP para cada información de los contactos Dolibarr. LDAPDescUsers=Esta página permite definir el nombre de los atributos del árbol LDAP para cada información de los usuarios Dolibarr. LDAPDescGroups=Esta página permite definir el nombre de los atributos del árbol LDAP para cada información de los grupos usuarios Dolibarr. diff --git a/htdocs/langs/es_ES/agenda.lang b/htdocs/langs/es_ES/agenda.lang index 70dcc71f09c..1b881cf96be 100644 --- a/htdocs/langs/es_ES/agenda.lang +++ b/htdocs/langs/es_ES/agenda.lang @@ -75,3 +75,7 @@ ExtSitesNbOfAgenda=Número de calendarios AgendaExtNb=Calendario nº %s ExtSiteUrlAgenda=Url de acceso al archivo .ical ExtSiteNoLabel=Sin descripción + +# Type contacts +TypeContact_agenda_internal_GUEST=Invitado +TypeContact_agenda_external_GUEST=Invitado diff --git a/htdocs/langs/es_ES/ftp.lang b/htdocs/langs/es_ES/ftp.lang index 4409603b337..75173ad5338 100644 --- a/htdocs/langs/es_ES/ftp.lang +++ b/htdocs/langs/es_ES/ftp.lang @@ -9,4 +9,5 @@ FTPFeatureNotSupportedByYourPHP=Su PHP no soporta las funciones FTP FailedToConnectToFTPServer=No se pudo conectar con el servidor FTP (servidor: %s, puerto %s) FailedToConnectToFTPServerWithCredentials=No se pudo conectar con el login/contraseña FTP configurados FTPFailedToRemoveFile=No se pudo eliminar el archivo %s. -FTPFailedToRemoveDir=No se pudo eliminar el directorio %s (Compruebe los permisos y que el directorio está vacío). \ No newline at end of file +FTPFailedToRemoveDir=No se pudo eliminar el directorio %s (Compruebe los permisos y que el directorio está vacío). +FTPPassiveMode=Modo pasivo \ No newline at end of file diff --git a/htdocs/langs/es_ES/main.lang b/htdocs/langs/es_ES/main.lang index 4f337f1f0a8..dbafcb393b2 100644 --- a/htdocs/langs/es_ES/main.lang +++ b/htdocs/langs/es_ES/main.lang @@ -107,6 +107,7 @@ Closed2=Cerrado Enabled=Activado Disable=Desactivar Disabled=Desactivado +Deprecated=Obsoleto Create=Crear Add=Añadir AddLink=Enlazar diff --git a/htdocs/langs/es_ES/paypal.lang b/htdocs/langs/es_ES/paypal.lang index d1fc5aefb97..9a4cb77ee55 100644 --- a/htdocs/langs/es_ES/paypal.lang +++ b/htdocs/langs/es_ES/paypal.lang @@ -10,6 +10,8 @@ PAYPAL_API_USER=Nombre usuario API PAYPAL_API_PASSWORD=Contraseña usuario API PAYPAL_API_SIGNATURE=Firma API PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Proponer pago integral (Tarjeta+Paypal) o sólo Paypal +PaypalModeIntegral=Integral +PaypalModeOnlyPaypal=Sólo PayPal PAYPAL_CSS_URL=Url opcional de la hoja de estilo CSS de la página de pago ThisIsTransactionId=Identificador de la transacción: %s PAYPAL_ADD_PAYMENT_URL=Añadir la url del pago Paypal al enviar un documento por e-mail diff --git a/htdocs/langs/fr_FR/ftp.lang b/htdocs/langs/fr_FR/ftp.lang index dca72e7e8dd..e92d32b7ab8 100644 --- a/htdocs/langs/fr_FR/ftp.lang +++ b/htdocs/langs/fr_FR/ftp.lang @@ -9,4 +9,5 @@ FTPFeatureNotSupportedByYourPHP=Votre PHP ne supporte pas les fonctions FTP FailedToConnectToFTPServer=Échec de connexion au serveur FTP (serveur: %s, port %s) FailedToConnectToFTPServerWithCredentials=Échec de login avec le login/mot de passe FTP configuré FTPFailedToRemoveFile=Échec suppression fichier %s. -FTPFailedToRemoveDir=Échec suppression répertoire %s (Vérifiez les permissions et que le répertoire soit vide). \ No newline at end of file +FTPFailedToRemoveDir=Échec suppression répertoire %s (Vérifiez les permissions et que le répertoire soit vide). +FTPPassiveMode=Mode passif \ No newline at end of file diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index 94abdab4da2..e402a8cd1fe 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -107,6 +107,7 @@ Closed2=Fermé Enabled=Actif Disable=Désactiver Disabled=Désactivé +Deprecated=Obsolète Create=Créer Add=Ajouter AddLink=Lier diff --git a/htdocs/langs/fr_FR/paypal.lang b/htdocs/langs/fr_FR/paypal.lang index b1d627163e3..74d8a76804a 100644 --- a/htdocs/langs/fr_FR/paypal.lang +++ b/htdocs/langs/fr_FR/paypal.lang @@ -10,6 +10,8 @@ PAYPAL_API_USER=Nom utilisateur API PAYPAL_API_PASSWORD=Mot de passe utilisateur API PAYPAL_API_SIGNATURE=Signature API PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Proposer le paiement intégral (Carte+Paypal) ou Paypal seul +PaypalModeIntegral=Intégral +PaypalModeOnlyPaypal=PayPal seul PAYPAL_CSS_URL=Url optionnelle de la feuille de style CSS de la page de paiement ThisIsTransactionId=Voici l'identifiant de la transaction: %s PAYPAL_ADD_PAYMENT_URL=Ajouter l'url de paiement Paypal lors de l'envoi d'un document par mail diff --git a/htdocs/paypal/admin/paypal.php b/htdocs/paypal/admin/paypal.php index d7336391bfc..93d23f42ac8 100644 --- a/htdocs/paypal/admin/paypal.php +++ b/htdocs/paypal/admin/paypal.php @@ -157,7 +157,7 @@ print "\n"; $var=!$var; print ''; print $langs->trans("PAYPAL_API_INTEGRAL_OR_PAYPALONLY").''; -print $form->selectarray("PAYPAL_API_INTEGRAL_OR_PAYPALONLY",array('integral'=>'Integral','paypalonly'=>'Paypal only'),$conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY); +print $form->selectarray("PAYPAL_API_INTEGRAL_OR_PAYPALONLY",array('integral'=> $langs->trans('PaypalModeIntegral'),'paypalonly'=> $langs->trans('PaypalModeOnlyPaypal')),$conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY); print ''; /*$var=!$var;