From ca6f631e36b698f41ac10e95ddb1c258d82662a1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 2 Feb 2011 13:29:54 +0000 Subject: [PATCH] New: Enhancement in actions list management. Can define an order. Add check during dictionnary add. --- htdocs/admin/dict.php | 24 +++++++++----- .../comm/action/class/cactioncomm.class.php | 17 ++++++---- htdocs/comm/action/fiche.php | 2 +- htdocs/core/class/html.formactions.class.php | 10 +++--- htdocs/install/check.php | 5 +-- .../install/mysql/data/llx_c_actioncomm.sql | 20 ++++++------ .../install/mysql/migration/3.0.0-3.1.0.sql | 13 ++++++++ .../install/mysql/tables/llx_c_actioncomm.sql | 5 +-- htdocs/install/upgrade2.php | 16 +++++++++- htdocs/langs/en_US/admin.lang | 2 +- htdocs/langs/en_US/commercial.lang | 12 +++---- htdocs/langs/en_US/projects.lang | 2 +- htdocs/langs/fr_FR/admin.lang | 2 +- htdocs/langs/fr_FR/agenda.lang | 20 ++++++------ htdocs/langs/fr_FR/commercial.lang | 32 +++++++++---------- htdocs/langs/fr_FR/projects.lang | 2 +- 16 files changed, 112 insertions(+), 72 deletions(-) create mode 100755 htdocs/install/mysql/migration/3.0.0-3.1.0.sql diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index fbe310362af..a74bad83abd 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -102,7 +102,7 @@ $tabsql[2] = "SELECT d.rowid as rowid, d.code_departement as code, d.nom as libe $tabsql[3] = "SELECT r.rowid as rowid, code_region as code, nom as libelle, r.fk_pays as pays_id, p.code as pays_code, p.libelle as pays, r.active FROM ".MAIN_DB_PREFIX."c_regions as r, ".MAIN_DB_PREFIX."c_pays as p WHERE r.fk_pays=p.rowid and p.active=1"; $tabsql[4] = "SELECT rowid as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_pays"; $tabsql[5] = "SELECT c.rowid as rowid, c.code as code, c.civilite AS libelle, c.active FROM ".MAIN_DB_PREFIX."c_civilite AS c"; -$tabsql[6] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.type, a.active FROM ".MAIN_DB_PREFIX."c_actioncomm AS a"; +$tabsql[6] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.type, a.active, a.module, a.position FROM ".MAIN_DB_PREFIX."c_actioncomm AS a"; $tabsql[7] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.deductible, p.code as pays_code, p.libelle as pays, a.fk_pays as pays_id, a.active FROM ".MAIN_DB_PREFIX."c_chargesociales AS a, ".MAIN_DB_PREFIX."c_pays as p WHERE a.fk_pays=p.rowid and p.active=1"; $tabsql[8] = "SELECT id as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_typent"; $tabsql[9] = "SELECT code, code_iso, label as libelle, active FROM ".MAIN_DB_PREFIX."c_currencies"; @@ -123,7 +123,7 @@ $tabsqlsort[2] ="pays ASC, code ASC"; $tabsqlsort[3] ="pays ASC, code ASC"; $tabsqlsort[4] ="code ASC"; $tabsqlsort[5] ="libelle ASC"; -$tabsqlsort[6] ="a.type ASC, a.code ASC"; +$tabsqlsort[6] ="a.type ASC, a.module, a.position, a.code ASC"; $tabsqlsort[7] ="pays ASC, code ASC, a.libelle ASC"; $tabsqlsort[8] ="libelle ASC"; $tabsqlsort[9] ="code ASC"; @@ -144,7 +144,7 @@ $tabfield[2] = "code,libelle,region_id,region,pays"; // "code,libelle,region,p $tabfield[3] = "code,libelle,pays_id,pays"; $tabfield[4] = "code,libelle"; $tabfield[5] = "code,libelle"; -$tabfield[6] = "code,libelle,type"; +$tabfield[6] = "code,libelle,type,position"; $tabfield[7] = "code,libelle,pays_id,pays,deductible"; $tabfield[8] = "code,libelle"; $tabfield[9] = "code,code_iso,libelle"; @@ -165,7 +165,7 @@ $tabfieldvalue[2] = "code,libelle,region"; // "code,libelle,region" $tabfieldvalue[3] = "code,libelle,pays"; $tabfieldvalue[4] = "code,libelle"; $tabfieldvalue[5] = "code,libelle"; -$tabfieldvalue[6] = "code,libelle,type"; +$tabfieldvalue[6] = "code,libelle,type,position"; $tabfieldvalue[7] = "code,libelle,pays,deductible"; $tabfieldvalue[8] = "code,libelle"; $tabfieldvalue[9] = "code,code_iso,libelle"; @@ -186,7 +186,7 @@ $tabfieldinsert[2] = "code_departement,nom,fk_region"; $tabfieldinsert[3] = "code_region,nom,fk_pays"; $tabfieldinsert[4] = "code,libelle"; $tabfieldinsert[5] = "code,civilite"; -$tabfieldinsert[6] = "code,libelle,type"; +$tabfieldinsert[6] = "code,libelle,type,position"; $tabfieldinsert[7] = "code,libelle,fk_pays,deductible"; $tabfieldinsert[8] = "code,libelle"; $tabfieldinsert[9] = "code,code_iso,label"; @@ -202,6 +202,8 @@ $tabfieldinsert[18]= "code,libelle"; $tabfieldinsert[19]= "code,libelle"; // Nom du rowid si le champ n'est pas de type autoincrement +// Example: "" if id field is "rowid" and has autoincrement on +// "nameoffield" if id field is not "rowid" or has not autoincrement on $tabrowid[1] = ""; $tabrowid[2] = ""; $tabrowid[3] = ""; @@ -277,18 +279,24 @@ if ($_POST["actionadd"] || $_POST["actionmodify"]) if (in_array('region_id',$listfield)) { continue; } // For region page, we do not require the country input } if ((! isset($_POST[$value]) || $_POST[$value]=='') - && $listfield[$f] != 'decalage') // Fields that are not mandatory + && $listfield[$f] != 'decalage' // Fields that are not mandatory + && $listfield[$f] != 'module') // Fields that are not mandatory { $ok=0; $fieldnamekey=$listfield[$f]; // We take translate key of field - if ($fieldnamekey == 'libelle') $fieldnamekey='Label'; - if ($fieldnamekey == 'nbjour') $fieldnamekey='NbOfDays'; + if ($fieldnamekey == 'libelle') $fieldnamekey='Label'; + if ($fieldnamekey == 'nbjour') $fieldnamekey='NbOfDays'; if ($fieldnamekey == 'decalage') $fieldnamekey='Offset'; + if ($fieldnamekey == 'module') $fieldnamekey='Module'; $msg.=$langs->trans("ErrorFieldRequired",$langs->transnoentities($fieldnamekey)).'
'; } } // Autres verif + if ($tabname[$_POST["id"]] == MAIN_DB_PREFIX."c_actioncomm" && isset($_POST["type"]) && $_POST["type"]=='system') { + $ok=0; + $msg.="Value 'system' for type is reserved. You can use 'user' as value to add your own record.
"; + } if (isset($_POST["code"]) && $_POST["code"]=='0') { $ok=0; $msg.="Code can't contains value 0
"; diff --git a/htdocs/comm/action/class/cactioncomm.class.php b/htdocs/comm/action/class/cactioncomm.class.php index 6b9faaaad14..393497721c2 100644 --- a/htdocs/comm/action/class/cactioncomm.class.php +++ b/htdocs/comm/action/class/cactioncomm.class.php @@ -95,11 +95,11 @@ class CActionComm { } } - /* - * \brief Renvoi la liste des types d'actions existant - * \param active 1 ou 0 pour un filtre sur l'etat actif ou non ('' par defaut = pas de filtre) - * \return array Tableau des types d'actions actifs si ok, <0 si erreur - */ + /** + * Return list of event types + * @param active 1 or 0 to filter on event state active or not ('' bu default = no filter) + * @return array Array of all event types if OK, <0 if KO + */ function liste_array($active='',$idorcode='id') { global $langs,$conf; @@ -114,6 +114,7 @@ class CActionComm { { $sql.=" WHERE active=".$active; } + $sql.= " ORDER BY module, position"; dol_syslog("CActionComm::liste_array sql=".$sql); $resql=$this->db->query($sql); @@ -132,12 +133,14 @@ class CActionComm { if ($obj->module == 'invoice' && ! $conf->facture->enabled) $qualified=0; if ($obj->module == 'order' && ! $conf->commande->enabled) $qualified=0; if ($obj->module == 'propal' && ! $conf->propal->enabled) $qualified=0; + if ($obj->module == 'invoice_supplier' && ! $conf->fournisseur->enabled) $qualified=0; + if ($obj->module == 'order_supplier' && ! $conf->fournisseur->enabled) $qualified=0; } if ($qualified) { $transcode=$langs->trans("Action".$obj->code); - $repid[$obj->id] = ($transcode!="Action".$obj->code?$transcode:$obj->libelle); - $repcode[$obj->code] = ($transcode!="Action".$obj->code?$transcode:$obj->libelle); + $repid[$obj->id] = ($transcode!="Action".$obj->code?$transcode:$langs->trans($obj->libelle)); + $repcode[$obj->code] = ($transcode!="Action".$obj->code?$transcode:$langs->trans($obj->libelle)); } $i++; } diff --git a/htdocs/comm/action/fiche.php b/htdocs/comm/action/fiche.php index 8a545e3bab5..0186e44e429 100644 --- a/htdocs/comm/action/fiche.php +++ b/htdocs/comm/action/fiche.php @@ -23,7 +23,7 @@ /** * \file htdocs/comm/action/fiche.php * \ingroup agenda - * \brief Page for action card + * \brief Page for event card * \version $Id$ */ diff --git a/htdocs/core/class/html.formactions.class.php b/htdocs/core/class/html.formactions.class.php index c9f3e717f45..b3b1cc8ec47 100644 --- a/htdocs/core/class/html.formactions.class.php +++ b/htdocs/core/class/html.formactions.class.php @@ -163,9 +163,9 @@ class FormActions /** - * \brief Retourne la liste des types de comptes financiers - * \param selected Type pre-selectionne - * \param htmlname Nom champ formulaire + * Output list of type of event + * @param selected Type pre-selectionne + * @param htmlname Nom champ formulaire */ function select_type_actions($selected='',$htmlname='actioncode') { @@ -177,8 +177,8 @@ class FormActions $form=new Form($this->db); $arraylist=$caction->liste_array(1,'code'); - $arraylist[0]=' '; - asort($arraylist); + array_unshift($arraylist,' '); // Add empty line at start + //asort($arraylist); print $form->selectarray($htmlname, $arraylist, $selected); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); diff --git a/htdocs/install/check.php b/htdocs/install/check.php index b9b63eb0297..5b66d0b5734 100644 --- a/htdocs/install/check.php +++ b/htdocs/install/check.php @@ -377,8 +377,9 @@ else array('from'=>'2.6.0', 'to'=>'2.7.0'), array('from'=>'2.7.0', 'to'=>'2.8.0'), array('from'=>'2.8.0', 'to'=>'2.9.0'), - array('from'=>'2.9.0', 'to'=>'3.0.0') - ); + array('from'=>'2.9.0', 'to'=>'3.0.0'), + array('from'=>'3.0.0', 'to'=>'3.1.0') + ); $count=0; foreach ($migrationscript as $migarray) diff --git a/htdocs/install/mysql/data/llx_c_actioncomm.sql b/htdocs/install/mysql/data/llx_c_actioncomm.sql index ca44fcc5224..0f5342cdfb8 100644 --- a/htdocs/install/mysql/data/llx_c_actioncomm.sql +++ b/htdocs/install/mysql/data/llx_c_actioncomm.sql @@ -33,13 +33,13 @@ -- delete from llx_c_actioncomm where id in (1,2,3,4,5,8,9,50); -insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 1, 'AC_TEL', 'system', 'Phone call' ,NULL); -insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 2, 'AC_FAX', 'system', 'Fax send' ,NULL); -insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 3, 'AC_PROP', 'system', 'Send commercial proposal by email' ,'propal'); -insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 4, 'AC_EMAIL','system', 'Send Email' ,NULL); -insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 5, 'AC_RDV', 'system', 'Rendez-vous' ,NULL); -insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 8, 'AC_COM', 'system', 'Send customer order by email' ,'order'); -insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 9, 'AC_FAC', 'system', 'Send customer invoice by email' ,'invoice'); -insert into llx_c_actioncomm (id, code, type, libelle, module) values (30, 'AC_SUP_ORD', 'system', 'Send supplier order by email' ,'order_supplier'); -insert into llx_c_actioncomm (id, code, type, libelle, module) values (31, 'AC_SUP_INV', 'system', 'Send supplier invoice by email' ,'invoice_supplier'); -insert into llx_c_actioncomm (id, code, type, libelle, module) values (50, 'AC_OTH', 'system', 'Other' ,NULL); +insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 1, 'AC_TEL', 'system', 'Phone call' ,NULL, 2); +insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 2, 'AC_FAX', 'system', 'Send Fax' ,NULL, 3); +insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 3, 'AC_PROP', 'system', 'Send commercial proposal by email','propal', 10); +insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 4, 'AC_EMAIL', 'system', 'Send Email' ,NULL, 4); +insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 5, 'AC_RDV', 'system', 'Rendez-vous' ,NULL, 1); +insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 8, 'AC_COM', 'system', 'Send customer order by email' ,'order', 8); +insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 9, 'AC_FAC', 'system', 'Send customer invoice by email' ,'invoice', 6); +insert into llx_c_actioncomm (id, code, type, libelle, module, position) values (30, 'AC_SUP_ORD', 'system', 'Send supplier order by email' ,'order_supplier', 9); +insert into llx_c_actioncomm (id, code, type, libelle, module, position) values (31, 'AC_SUP_INV', 'system', 'Send supplier invoice by email' ,'invoice_supplier', 7); +insert into llx_c_actioncomm (id, code, type, libelle, module, position) values (50, 'AC_OTH', 'system', 'Other' ,NULL, 5); diff --git a/htdocs/install/mysql/migration/3.0.0-3.1.0.sql b/htdocs/install/mysql/migration/3.0.0-3.1.0.sql new file mode 100755 index 00000000000..3d2109baa14 --- /dev/null +++ b/htdocs/install/mysql/migration/3.0.0-3.1.0.sql @@ -0,0 +1,13 @@ +-- +-- $Id$ +-- +-- Be carefull to requests order. +-- This file must be loaded by calling /install/index.php page +-- when current version is 2.8.0 or higher. +-- +-- To add a column: ALTER TABLE llx_table ADD COLUMN newcol varchar(60) NOT NULL DEFAULT '0' AFTER existingcol; +-- To rename a column: ALTER TABLE llx_table CHANGE COLUMN oldname newname varchar(60); +-- To change type of field: ALTER TABLE llx_table MODIFY name varchar(60); +-- + +ALTER TABLE llx_c_actioncomm add COLUMN position integer NOT NULL DEFAULT 0; diff --git a/htdocs/install/mysql/tables/llx_c_actioncomm.sql b/htdocs/install/mysql/tables/llx_c_actioncomm.sql index c2756cc34a6..d5493c0bffd 100644 --- a/htdocs/install/mysql/tables/llx_c_actioncomm.sql +++ b/htdocs/install/mysql/tables/llx_c_actioncomm.sql @@ -26,6 +26,7 @@ create table llx_c_actioncomm type varchar(10) DEFAULT 'system' NOT NULL, libelle varchar(48) NOT NULL, module varchar(16) DEFAULT NULL, - active tinyint DEFAULT 1 NOT NULL, - todo tinyint + active tinyint DEFAULT 1 NOT NULL, + todo tinyint, + position integer NOT NULL DEFAULT 0 )type=innodb; diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index 05cbe6d29f3..9c50e9cdf4a 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -308,7 +308,21 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) print $langs->trans("MigrationFinished"); } - // On commit dans tous les cas. + // Script for VX (X<3.1) -> V3.1 + $afterversionarray=explode('.','3.0.9'); + $beforeversionarray=explode('.','3.1.9'); + if (versioncompare($versiontoarray,$afterversionarray) >= 0 && versioncompare($versiontoarray,$beforeversionarray) <= 0) + { + // Reload modules + migrate_reload_modules($db,$langs,$conf); + + // Reload menus + migrate_reload_menu($db,$langs,$conf,$versionto); + + print $langs->trans("MigrationFinished"); + } + + // On commit dans tous les cas. // La procedure etant concue pour pouvoir passer plusieurs fois quelquesoit la situation. $db->commit(); $db->close(); diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 9b668c66bbf..b0b5a9804f2 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -616,7 +616,7 @@ DictionnaryRegion=Regions DictionnaryCountry=Countries DictionnaryCurrency=Currencies DictionnaryCivility=Civility title -DictionnaryActions=Actions list +DictionnaryActions=Type of agenda events DictionnarySocialContributions=Social contributions types DictionnaryVAT=VAT Rates or Sales Tax Rates DictionnaryPaymentConditions=Payment terms diff --git a/htdocs/langs/en_US/commercial.lang b/htdocs/langs/en_US/commercial.lang index 69690932042..b2f07a5cf35 100644 --- a/htdocs/langs/en_US/commercial.lang +++ b/htdocs/langs/en_US/commercial.lang @@ -38,12 +38,12 @@ ListOfCustomers=List of customers LastDoneTasks=Last %s completed tasks LastRecordedTasks=Last recorded tasks LastActionsToDo=Last %s oldest actions not completed -DoneAndToDoActionsFor=Completed and To do tasks for %s -DoneAndToDoActions=Completed and To do tasks -DoneActions=Completed actions -DoneActionsFor=Completed actions for %s -ToDoActions=Incomplete actions -ToDoActionsFor=Incomplete actions for %s +DoneAndToDoActionsFor=Completed and To do events for %s +DoneAndToDoActions=Completed and To do events +DoneActions=Completed events +DoneActionsFor=Completed events for %s +ToDoActions=Incomplete events +ToDoActionsFor=Incomplete events for %s SendPropalRef=Send commercial proposal %s SendOrderRef=Send order %s StatusActionToDo=To do diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang index bea6366a180..6aedbdfff1f 100755 --- a/htdocs/langs/en_US/projects.lang +++ b/htdocs/langs/en_US/projects.lang @@ -55,7 +55,7 @@ ListSupplierInvoicesAssociatedProject=List of supplier's invoices associated wit ListContractAssociatedProject=List of contracts associated with the project ListFichinterAssociatedProject=List of interventions associated with the project ListTripAssociatedProject=List of trips and expenses associated with the project -ListActionsAssociatedProject=List of actions associated with the project +ListActionsAssociatedProject=List of events associated with the project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 964a6447e10..78c8ad6d384 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -624,7 +624,7 @@ DictionnaryRegion= Régions DictionnaryCountry= Pays DictionnaryCurrency= Monnaies DictionnaryCivility= Titres de civilité -DictionnaryActions= Liste des actions +DictionnaryActions= Liste des types d'événements de l'agenda DictionnarySocialContributions= Types de charges sociales DictionnaryVAT= Taux de TVA (ou de taxes de ventes US) DictionnaryPaymentConditions= Conditions de règlement diff --git a/htdocs/langs/fr_FR/agenda.lang b/htdocs/langs/fr_FR/agenda.lang index 63d95493d80..cc7da125447 100644 --- a/htdocs/langs/fr_FR/agenda.lang +++ b/htdocs/langs/fr_FR/agenda.lang @@ -12,17 +12,17 @@ Events=Evénements ListOfActions=Liste des événements EventOnFullDay=Evénement sur la journée Location=Lieu -SearchAnAction=Rechercher une action/tâche -MenuToDoActions=Les actions incomplètes -MenuDoneActions=Les actions terminées -MenuToDoMyActions=Mes actions incomplètes -MenuDoneMyActions=Mes actions terminées +SearchAnAction=Rechercher un événement/tâche +MenuToDoActions=Les événem. incomplets +MenuDoneActions=Les événem. terminés +MenuToDoMyActions=Mes événem. incomplets +MenuDoneMyActions=Mes événem. terminés ListOfEvents=Liste des événements Dolibarr -ActionsAskedBy=Actions enregistrées par -ActionsToDoBy=Actions affectées à -ActionsDoneBy=Actions réalisées par -AllMyActions=Toutes mes actions -AllActions=Toutes les actions +ActionsAskedBy=Evénements enregistrées par +ActionsToDoBy=Evénements affectées à +ActionsDoneBy=Evénements réalisés par +AllMyActions=Tous mes événements +AllActions=Tous les événements ViewList=Voir liste ViewCal=Voir calendrier ViewWithPredefinedFilters=Vues avec filtres prédéfinis diff --git a/htdocs/langs/fr_FR/commercial.lang b/htdocs/langs/fr_FR/commercial.lang index 02691e018da..048f328e099 100644 --- a/htdocs/langs/fr_FR/commercial.lang +++ b/htdocs/langs/fr_FR/commercial.lang @@ -8,22 +8,22 @@ Customer=Client Customers=Clients Prospect=Prospect Prospects=Prospects -DeleteAction=Effacer une action/tâche -NewAction=Nouvelle action -AddAction=Créer action -AddAnAction=Créer une action +DeleteAction=Effacer un événement/tâche +NewAction=Nouvel événement +AddAction=Créer événement +AddAnAction=Créer un événement AddActionRendezVous=Créer un Rendez-Vous Rendez-Vous=Rendez-Vous -ConfirmDeleteAction=Êtes-vous sûr de vouloir effacer cet action ? -CardAction=Fiche action +ConfirmDeleteAction=Êtes-vous sûr de vouloir effacer cet événement ? +CardAction=Fiche événement PercentDone=Pourcentage réalisé -ActionOnCompany=Action concernant la société -ActionOnContact=Action concernant le contact +ActionOnCompany=Evénement concernant la société +ActionOnContact=Evénement concernant le contact TaskRDV=Rendez-vous TaskRDVWith=Rendez-vous avec %s ShowTask=Afficher tâche -ShowAction=Afficher action -ActionsReport=Rapport des actions +ShowAction=Afficher événement +ActionsReport=Rapport des événements SalesRepresentative=Commercial SalesRepresentatives=Commerciaux SalesRepresentativeFollowUp=Commercial (suivi) @@ -38,12 +38,12 @@ ListOfCustomers=Liste des clients LastDoneTasks=Les %s dernières actions effectuées LastActionsToDo=Les %s plus anciennes actions incomplètes LastRecordedTasks=Dernières actions enregistrées -DoneActions=Liste des actions réalisées -DoneActionsFor=Liste des actions réalisées pour %s -ToDoActions=Liste des actions incomplètes -ToDoActionsFor=Liste des actions incomplètes pour %s -DoneAndToDoActionsFor=Liste des actions réalisées ou à faire pour %s -DoneAndToDoActions=Liste des actions réalisées ou à faire +DoneActions=Liste des événements réalisés +DoneActionsFor=Liste des événements réalisés pour %s +ToDoActions=Liste des événements incomplets +ToDoActionsFor=Liste des événements incomplets pour %s +DoneAndToDoActionsFor=Liste des événements réalisés ou à faire pour %s +DoneAndToDoActions=Liste des événements réalisés ou à faire SendPropalRef=Envoi proposition commerciale %s SendOrderRef=Envoi commande %s StatusActionToDo=À faire diff --git a/htdocs/langs/fr_FR/projects.lang b/htdocs/langs/fr_FR/projects.lang index 26afe2ff6a9..6a1f3872673 100755 --- a/htdocs/langs/fr_FR/projects.lang +++ b/htdocs/langs/fr_FR/projects.lang @@ -55,7 +55,7 @@ ListSupplierInvoicesAssociatedProject=Liste des factures fournisseur associées ListContractAssociatedProject=Liste des contrats associés au projet ListFichinterAssociatedProject=Liste des interventions associées au projet ListTripAssociatedProject=Liste des notes de frais associés au projet -ListActionsAssociatedProject=Liste des actions associées au projet +ListActionsAssociatedProject=Liste des événements associés au projet ActivityOnProjectThisWeek=Activité sur les projets cette semaine ActivityOnProjectThisMonth=Activité sur les projets ce mois ActivityOnProjectThisYear=Activité sur les projets cette année