diff --git a/htdocs/core/modules/modProjet.class.php b/htdocs/core/modules/modProjet.class.php index fb7fa20533b..e606a2db5a5 100644 --- a/htdocs/core/modules/modProjet.class.php +++ b/htdocs/core/modules/modProjet.class.php @@ -187,8 +187,8 @@ class modProjet extends DolibarrModules $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','s.fk_pays'=>'Country', 's.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode', - 'p.rowid'=>"ProjectId",'p.ref'=>"ProjectRef",'p.datec'=>"DateCreation",'p.dateo'=>"DateDebutProjet",'p.datee'=>"DateFinProjet",'p.fk_statut'=>'ProjectStatus','p.description'=>"projectNote", - 'pt.rowid'=>'RefTask','pt.dateo'=>"TaskDateo",'pt.datee'=>"TaskDatee",'pt.duration_effective'=>"DurationEffective",'pt.planned_workload'=>"DurationPlanned",'pt.progress'=>"Progress",'pt.description'=>"TaskDesc", + 'p.rowid'=>"ProjectId",'p.ref'=>"RefProject",'p.datec'=>"DateCreation",'p.dateo'=>"DateStart",'p.datee'=>"DateEnd",'p.fk_statut'=>'Status','p.description'=>"Description", + 'pt.rowid'=>'RefTask','pt.dateo'=>"TaskDateStart",'pt.datee'=>"TaskDateEnd",'pt.duration_effective'=>"DurationEffective",'pt.planned_workload'=>"PlannedWorkload",'pt.progress'=>"Progress",'pt.description'=>"TaskDescription", 'ptt.task_date'=>'TaskTimeDate','ptt.task_duration'=>"TimesSpent",'ptt.fk_user'=>"TaskTimeUser",'ptt.note'=>"TaskTimeNote"); $this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','s.fk_pays'=>'List:c_pays:libelle', @@ -197,10 +197,10 @@ class modProjet extends DolibarrModules 'pt.dateo'=>"Date",'pt.datee'=>"Date",'pt.duration_effective'=>"Duree",'pt.planned_workload'=>"Number",'pt.progress'=>"Number",'pt.description'=>"Text", 'ptt.task_date'=>'Date','ptt.task_duration'=>"Duree",'ptt.fk_user'=>"List:user:Name",'ptt.note'=>"Text"); - $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','s.fk_pays'=>'company', - 's.tel'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company', - 'f.rowid'=>"project",'f.ref'=>"project",'f.datec'=>"project",'f.duree'=>"project",'f.fk_statut'=>"project",'f.description'=>"project", - 'pt.rowid'=>'task','pt.dateo'=>"task",'pt.datee'=>"task",'pt.duration_effective'=>"task",'pt.planned_workload'=>"task",'pt.progress'=>"task",'pt.description'=>"task", + $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','s.fk_pays'=>'company', + 's.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company', + 'p.rowid'=>"project",'p.ref'=>"project",'p.datec'=>"project",'p.dateo'=>"project",'p.datee'=>"project",'p.duree'=>"project",'p.fk_statut'=>"project",'p.description'=>"project", + 'pt.rowid'=>'projecttask','pt.dateo'=>"projecttask",'pt.datee'=>"projecttask",'pt.duration_effective'=>"projecttask",'pt.planned_workload'=>"projecttask",'pt.progress'=>"projecttask",'pt.description'=>"projecttask", 'ptt.task_date'=>'task_time','ptt.task_duration'=>"task_time",'ptt.fk_user'=>"task_time",'ptt.note'=>"task_time"); diff --git a/htdocs/core/modules/modUser.class.php b/htdocs/core/modules/modUser.class.php index 257f37c5411..e0be7ece744 100644 --- a/htdocs/core/modules/modUser.class.php +++ b/htdocs/core/modules/modUser.class.php @@ -209,7 +209,7 @@ class modUser extends DolibarrModules $this->export_code[$r]=$this->rights_class.'_'.$r; $this->export_label[$r]='Liste des utilisateurs Dolibarr et attributs'; $this->export_permission[$r]=array(array("user","user","export")); - $this->export_fields_array[$r]=array('u.rowid'=>"Id",'u.login'=>"Login",'u.lastname'=>"Lastname",'u.firstname'=>"Firstname",'u.office_phone'=>'Telephone','u.office_fax'=>'Fax','u.email'=>'EMail','u.datec'=>"DateCreation",'u.tms'=>"DateLastModification",'u.admin'=>"Admin",'u.statut'=>'Status','u.note'=>"Note",'u.datelastlogin'=>'LastConnexion','u.datepreviouslogin'=>'PreviousConnexion','u.fk_socpeople'=>"IdContact",'u.fk_societe'=>"IdCompany",'u.fk_member'=>"MemberId"); + $this->export_fields_array[$r]=array('u.rowid'=>"Id",'u.login'=>"Login",'u.lastname'=>"Lastname",'u.firstname'=>"Firstname",'u.office_phone'=>'Phone','u.office_fax'=>'Fax','u.email'=>'EMail','u.datec'=>"DateCreation",'u.tms'=>"DateLastModification",'u.admin'=>"Administrator",'u.statut'=>'Status','u.note'=>"Note",'u.datelastlogin'=>'LastConnexion','u.datepreviouslogin'=>'PreviousConnexion','u.fk_socpeople'=>"IdContact",'u.fk_societe'=>"IdCompany",'u.fk_member'=>"MemberId"); $this->export_TypeFields_array[$r]=array('u.login'=>"Text",'u.lastname'=>"Text",'u.firstname'=>"Text",'u.office_phone'=>'Text','u.office_fax'=>'Text','u.email'=>'Text','u.datec'=>"Date",'u.tms'=>"Date",'u.admin'=>"Boolean",'u.statut'=>'Status','u.note'=>"Text",'u.datelastlogin'=>'Date','u.datepreviouslogin'=>'Date','u.fk_societe'=>"List:societe:nom:rowid",'u.fk_member'=>"List:adherent:nom"); $this->export_entities_array[$r]=array('u.rowid'=>"user",'u.login'=>"user",'u.lastname'=>"user",'u.firstname'=>"user",'u.office_phone'=>'user','u.office_fax'=>'user','u.email'=>'user','u.datec'=>"user",'u.tms'=>"user",'u.admin'=>"user",'u.statut'=>'user','u.note'=>"user",'u.datelastlogin'=>'user','u.datepreviouslogin'=>'user','u.fk_socpeople'=>"contact",'u.fk_societe'=>"company",'u.fk_member'=>"member"); diff --git a/htdocs/exports/class/export.class.php b/htdocs/exports/class/export.class.php index 39225d26d6e..42299a755b5 100644 --- a/htdocs/exports/class/export.class.php +++ b/htdocs/exports/class/export.class.php @@ -430,30 +430,25 @@ class Export * * @param string $TypeField Type of Field to filter * @return string html string of the input field ex : "" - * TODO replace by translation */ function genDocFilter($TypeField) { + global $langs; + $szMsg=''; $InfoFieldList = explode(":", $TypeField); // build the input field on depend of the type of file switch ($InfoFieldList[0]) { case 'Text': - $szMsg="% permet de remplacer un ou plusieurs caractères dans la chaine"; + $szMsg= $langs->trans('ExportStringFilter'); break; case 'Date': - $szMsg ="'AAAA' 'AAAAMM' 'AAAAMMJJ' : filtre sur une année/mois/jour
"; - $szMsg.="'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filtre sur une plage d'année/mois/jour
"; - $szMsg.="'>AAAA' '>AAAAMM' '>AAAAMMJJ' filtre sur les année/mois/jour suivants
"; - $szMsg.="'‹AAAA' '‹AAAAMM' '‹AAAAMMJJ' filtre sur les année/mois/jour précédent
"; + $szMsg = $langs->trans('ExportDateFilter'); break; case 'Duree': break; case 'Numeric': - $szMsg ="'NNNNN' filtre sur une valeur
"; - $szMsg.="'NNNNN+NNNNN' filtre sur une plage de valeur
"; - $szMsg.="'‹NNNNN' filtre sur les valeurs inférieurs
"; - $szMsg.="'>NNNNN' filtre sur les valeurs supérieurs
"; + $szMsg = $langs->trans('ExportNumericFilter'); break; case 'Boolean': break; diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index aefe5490802..9d8c59f8eaa 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -91,7 +91,10 @@ $entitytolang = array( 'other' => 'Other', 'trip' => 'TripsAndExpenses', 'shipment' => 'Shipments', - 'shipment_line'=> 'ShipmentLine' + 'shipment_line'=> 'ShipmentLine', + 'project' => 'Projects', + 'projecttask' => 'Tasks', + 'task_time' => 'TaskTimeSpent' ); $array_selected=isset($_SESSION["export_selected_fields"])?$_SESSION["export_selected_fields"]:array(); diff --git a/htdocs/langs/en_US/exports.lang b/htdocs/langs/en_US/exports.lang index f1defa94c36..38d25738a64 100644 --- a/htdocs/langs/en_US/exports.lang +++ b/htdocs/langs/en_US/exports.lang @@ -123,6 +123,10 @@ BankCode=Bank code DeskCode=Desk code BankAccountNumber=Account number BankAccountNumberKey=Key +SpecialCode=Special code +ExportStringFilter=%% allows replacing one or more characters in the text +ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=If you want to filter on some values, just input values here. FilterableFields=Champs Filtrables diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang index ba0b6b6dcd2..c6355cdec95 100644 --- a/htdocs/langs/en_US/projects.lang +++ b/htdocs/langs/en_US/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +RefProject=Ref. project +ProjectId=Project Id Project=Project Projects=Projects SharedProject=Everybody @@ -30,11 +32,18 @@ TimeSpent=Time spent TimesSpent=Time spent RefTask=Ref. task LabelTask=Label task +TaskTimeSpent=Time spent on tasks +TaskTimeUser=Task time user +TaskTimeNote=Task time note +TaskTimeDate=Task time date NewTimeSpent=New time spent MyTimeSpent=My time spent MyTasks=My tasks Tasks=Tasks Task=Task +TaskDateStart=Task start date +TaskDateEnd=Task end date +TaskDescription=Task description NewTask=New task AddTask=Add task AddDuration=Add duration diff --git a/htdocs/langs/es_ES/exports.lang b/htdocs/langs/es_ES/exports.lang index 61517a81dc5..a04d2977479 100644 --- a/htdocs/langs/es_ES/exports.lang +++ b/htdocs/langs/es_ES/exports.lang @@ -123,6 +123,10 @@ BankCode=Código banco DeskCode=Código oficina BankAccountNumber=Número cuenta BankAccountNumberKey=Dígito Control +SpecialCode=Código especial +ExportStringFilter=%% permite reemplazar uno o más caracteres en el texto +ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filtra por un año/mes/día
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filtra entre un rango de años/meses/días
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filtra por los siguientes años/meses/días
'‹AAAA' '‹AAAAMM' '‹AAAAMMJJ': filtra por los anteriores años/meses/días +ExportNumericFilter='NNNNN' filtra por un valor
'NNNNN+NNNNN' filtra entre un rango de valores
'‹NNNNN' filtra por valores inferiores
'>NNNNN' filtra por valores superiores ## filters SelectFilterFields=Si quiere aplicar un filtro sobre algunos valores, introdúzcalos aquí. FilterableFields=Campos filtrables diff --git a/htdocs/langs/es_ES/projects.lang b/htdocs/langs/es_ES/projects.lang index 1df7fd8d92a..04e5723e9f2 100644 --- a/htdocs/langs/es_ES/projects.lang +++ b/htdocs/langs/es_ES/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +RefProject=Ref. proyecto +ProjectId=Id proyecto Project=Proyecto Projects=Proyectos SharedProject=Proyecto compartido @@ -30,11 +32,18 @@ TimeSpent=Tiempo dedicado TimesSpent=Tiempos dedicados RefTask=Ref. tarea LabelTask=Etiqueta tarea +TaskTimeSpent=Tiempo dedicado a tareas +TaskTimeUser=Usuario de tiempo dedicado +TaskTimeNote=Nota de tiempo dedicado +TaskTimeDate=Fecha de tiempo dedicado NewTimeSpent=Nuevo tiempo dedicado MyTimeSpent=Mi tiempo dedicado MyTasks=Mis tareas Tasks=Tareas Task=Tarea +TaskDateStart=Fecha inicio tarea +TaskDateEnd=Fecha fin tarea +TaskDescription=Descripción de tarea NewTask=Nueva tarea AddTask=Añadir tarea AddDuration=Indicar duración diff --git a/htdocs/langs/fr_FR/exports.lang b/htdocs/langs/fr_FR/exports.lang index f16e90a5399..5dd55e14781 100644 --- a/htdocs/langs/fr_FR/exports.lang +++ b/htdocs/langs/fr_FR/exports.lang @@ -123,6 +123,9 @@ BankCode=Code banque DeskCode=Code guichet BankAccountNumber=Numéro de compte BankAccountNumberKey=Clé RIB +ExportStringFilter=%% permet de remplacer un ou plusieurs caractères dans la chaine +ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filtre sur une année/mois/jour
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filtre sur une plage d'année/mois/jour
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filtre sur les année/mois/jour suivants
'>AAAA' '>AAAAMM' '>AAAAMMJJ' filtre sur les année/mois/jour précédent +ExportNumericFilter='NNNNN' filtre sur une valeur
'NNNNN+NNNNN' filtre sur une plage de valeur
'>NNNNN' filtre sur les valeurs inférieurs
'>NNNNN' filtre sur les valeurs supérieurs ## filters SelectFilterFields=Si vous voulez filtrer sur certaines valeurs, saisissez ces valeurs. FilterableFields=Champs filtrables diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 4f00cef5f9f..f4ba0197e47 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -313,6 +313,7 @@ class Societe extends CommonObject $contact->zip = $this->zip; $contact->town = $this->town; $contact->phone_pro = $this->phone; + $contact->state_id = $this->state_id; $result = $contact->create($user); if ($result < 0) { $this->error = $contact->error; diff --git a/htdocs/theme/eldy/img/object_task_time.png b/htdocs/theme/eldy/img/object_task_time.png new file mode 100644 index 00000000000..8cda1f3f220 Binary files /dev/null and b/htdocs/theme/eldy/img/object_task_time.png differ