diff --git a/htdocs/comm/action/fiche.php b/htdocs/comm/action/fiche.php index 333707a48fc..de130e1674a 100644 --- a/htdocs/comm/action/fiche.php +++ b/htdocs/comm/action/fiche.php @@ -37,6 +37,7 @@ $langs->load("commercial"); $langs->load("other"); $langs->load("bills"); $langs->load("orders"); +$langs->load("agenda"); // Securite acces client if ($user->societe_id > 0) @@ -46,6 +47,10 @@ if ($user->societe_id > 0) } if (isset($_GET["error"])) $error=$_GET["error"]; +$cactioncomm = new CActionComm($db); +$actioncomm = new ActionComm($db); +$contact = new Contact($db); + /* * Action creation de l'action @@ -55,7 +60,6 @@ if ($_POST["action"] == 'add_action') { if ($_POST["contactid"]) { - $contact = new Contact($db); $result=$contact->fetch($_POST["contactid"]); } @@ -71,6 +75,10 @@ if ($_POST["action"] == 'add_action') if ($_POST["apmin"] == -1) $_POST["apmin"]='0'; if ($_POST["adhour"] == -1) $_POST["adhour"]='0'; if ($_POST["admin"] == -1) $_POST["admin"]='0'; + if ($_POST["p2hour"] == -1) $_POST["p2hour"]='0'; + if ($_POST["p2min"] == -1) $_POST["p2min"]='0'; + if ($_POST["a2hour"] == -1) $_POST["a2hour"]='0'; + if ($_POST["a2min"] == -1) $_POST["a2min"]='0'; $datep=dolibarr_mktime($_POST["aphour"], $_POST["apmin"], 0, @@ -83,17 +91,103 @@ if ($_POST["action"] == 'add_action') $_POST["admonth"], $_POST["adday"], $_POST["adyear"]); + $datep2=dolibarr_mktime($_POST["p2hour"], + $_POST["p2min"], + 0, + $_POST["p2month"], + $_POST["p2day"], + $_POST["p2year"]); + $datea2=dolibarr_mktime($_POST["a2hour"], + $_POST["a2min"], + 0, + $_POST["a2month"], + $_POST["a2day"], + $_POST["a2year"]); // Si param incorrects, mktime renvoi false en PHP 5.1, -1 avant if (! ($datep > 0)) $datep=''; if (! ($datea > 0)) $datea=''; - + if (! ($datep2 > 0)) $datep2=''; + if (! ($datea2 > 0)) $datea2=''; + + // Initialisation objet cactioncomm if (! $_POST["actioncode"]) { $error=1; $_GET["action"] = 'create'; $mesg='
'.$langs->trans("ErrorFieldRequired",$langs->trans("Type")).'
'; } + else + { + $result=$cactioncomm->fetch($_POST["actioncode"]); + } + + // Initialisation objet actioncomm + $actioncomm->type_id = $cactioncomm->id; + $actioncomm->type_code = $cactioncomm->code; + $actioncomm->priority = isset($_POST["priority"])?$_POST["priority"]:0; + $actioncomm->label = trim($_POST["label"]); + if (! $_POST["label"]) + { + if ($_POST["actioncode"] == 'AC_RDV' && $contact->getFullName($langs)) + { + $actioncomm->label = $langs->trans("TaskRDVWith",$contact->getFullName($langs)); + } + else + { + if ($langs->trans("Action".$actioncomm->type_code) != "Action".$actioncomm->type_code) + { + $actioncomm->label = $langs->trans("Action".$actioncomm->type_code)."\n"; + } + } + } + $actioncomm->datep = $datep; + $actioncomm->date = $datea; + $actioncomm->datef = $datep2; + $actioncomm->dateend = $datea2; + if ($_POST["percentage"] < 100 && ! $actioncomm->datep) $actioncomm->datep=$actioncomm->date; + if ($actioncomm->type_code == 'AC_RDV') + { + // RDV + if ($actioncomm->date) + { + $actioncomm->percentage = 100; + } + else + { + $actioncomm->percentage = 0; + } + } + else + { + $actioncomm->percentage = isset($_POST["percentage"])?$_POST["percentage"]:0; + } + $actioncomm->duree=(($_POST["dureehour"] * 60) + $_POST["dureemin"]) * 60; + $usertodo=new User($db,$_POST["affectedto"]); + if ($_POST["affectedto"]) + { + $usertodo->fetch(); + } + $actioncomm->usertodo = $usertodo; + $userdone=new User($db,$_POST["doneby"]); + if ($_POST["doneby"]) + { + $userdone->fetch(); + } + $actioncomm->userdone = $userdone; + + $actioncomm->note = trim($_POST["note"]); + if (isset($_POST["contactid"])) $actioncomm->contact = $contact; + if (isset($_REQUEST["socid"]) && $_REQUEST["socid"] > 0) + { + $societe = new Societe($db); + $societe->fetch($_REQUEST["socid"]); + $actioncomm->societe = $societe; + } + if ($_POST["add_webcal"] == 'on' && $conf->webcal->enabled) $actioncomm->use_webcal=1; + if ($_POST["add_phenix"] == 'on' && $conf->phenix->enabled) $actioncomm->use_phenix=1; + + if ($datea && $_POST["percentage"] == 0) { $error=1; @@ -112,77 +206,7 @@ if ($_POST["action"] == 'add_action') { $db->begin(); - $cactioncomm = new CActionComm($db); - $cactioncomm->fetch($_POST["actioncode"]); - - // Initialisation objet actioncomm - $actioncomm = new ActionComm($db); - - $actioncomm->type_id = $cactioncomm->id; - $actioncomm->type_code = $cactioncomm->code; - $actioncomm->priority = isset($_POST["priority"])?$_POST["priority"]:0; - $actioncomm->label = trim($_POST["label"]); - if (! $_POST["label"]) - { - if ($_POST["actioncode"] == 'AC_RDV' && $contact->getFullName($langs)) - { - $actioncomm->label = $langs->trans("TaskRDVWith",$contact->getFullName($langs)); - } - else - { - if ($langs->trans("Action".$actioncomm->type_code) != "Action".$actioncomm->type_code) - { - $actioncomm->label = $langs->trans("Action".$actioncomm->type_code)."\n"; - } - } - } -// print $_POST["aphour"]." ".$_POST["apmin"]." ".$_POST["apday"]; - $actioncomm->datep = $datep; - $actioncomm->date = $datea; - if ($_POST["percentage"] < 100 && ! $actioncomm->datep) $actioncomm->datep=$actioncomm->date; - if ($actioncomm->type_code == 'AC_RDV') - { - // RDV - if ($actioncomm->date) - { - $actioncomm->percentage = 100; - } - else - { - $actioncomm->percentage = 0; - } - } - else - { - $actioncomm->percentage = isset($_POST["percentage"])?$_POST["percentage"]:0; - } - $actioncomm->duree=(($_POST["dureehour"] * 60) + $_POST["dureemin"]) * 60; - - $usertodo=new User($db,$_POST["affectedto"]); - if ($_POST["affectedto"]) - { - $usertodo->fetch(); - } - $actioncomm->usertodo = $usertodo; - $userdone=new User($db,$_POST["doneby"]); - if ($_POST["doneby"]) - { - $userdone->fetch(); - } - $actioncomm->userdone = $userdone; - - $actioncomm->note = trim($_POST["note"]); - if (isset($_POST["contactid"])) $actioncomm->contact = $contact; - if (isset($_REQUEST["socid"]) && $_REQUEST["socid"] > 0) - { - $societe = new Societe($db); - $societe->fetch($_REQUEST["socid"]); - $actioncomm->societe = $societe; - } - if ($_POST["add_webcal"] == 'on' && $conf->webcal->enabled) $actioncomm->use_webcal=1; - if ($_POST["add_phenix"] == 'on' && $conf->phenix->enabled) $actioncomm->use_phenix=1; - - // On cr�e l'action + // On cree l'action $idaction=$actioncomm->add($user); if ($idaction > 0) @@ -260,21 +284,43 @@ if ($_POST["action"] == 'update') $actioncomm = new Actioncomm($db); $actioncomm->fetch($_POST["id"]); - $actioncomm->datep = dolibarr_mktime($_POST["aphour"], + $datep=dolibarr_mktime($_POST["aphour"], $_POST["apmin"], 0, $_POST["apmonth"], $_POST["apday"], $_POST["apyear"]); - $actioncomm->date = dolibarr_mktime($_POST["adhour"], + $datea=dolibarr_mktime($_POST["adhour"], $_POST["admin"], 0, $_POST["admonth"], $_POST["adday"], $_POST["adyear"]); + $datep2=dolibarr_mktime($_POST["p2hour"], + $_POST["p2min"], + 0, + $_POST["p2month"], + $_POST["p2day"], + $_POST["p2year"]); + $datea2=dolibarr_mktime($_POST["a2hour"], + $_POST["a2min"], + 0, + $_POST["a2month"], + $_POST["a2day"], + $_POST["a2year"]); + // Si param incorrects, mktime renvoi false en PHP 5.1, -1 avant + if (! ($datep > 0)) $datep=''; + if (! ($datea > 0)) $datea=''; + if (! ($datep2 > 0)) $datep2=''; + if (! ($datea2 > 0)) $datea2=''; + //print $_POST["apmonth"].",".$_POST["apday"].",".$_POST["apyear"].",".$_POST["aphour"].",".$_POST["apmin"]."
\n"; //print $actioncomm->datep; $actioncomm->label = $_POST["label"]; + $actioncomm->datep = $datep; + $actioncomm->date = $datea; + $actioncomm->datef = $datep2; + $actioncomm->dateend = $datea2; $actioncomm->percentage = $_POST["percentage"]; $actioncomm->priority = $_POST["priority"]; $actioncomm->contact->id = $_POST["contactid"]; @@ -334,8 +380,6 @@ $html = new Form($db); if ($_GET["action"] == 'create') { - $caction = new CActioncomm($db); - if ($_GET["contactid"]) { $contact = new Contact($db); @@ -353,9 +397,9 @@ if ($_GET["action"] == 'create') if ($_GET["actioncode"] == 'AC_RDV') { print_titre ($langs->trans("AddActionRendezVous")); - print "
"; if ($mesg) print $mesg.'
'; + else print "
"; print ''."\n"; @@ -398,28 +442,30 @@ if ($_GET["action"] == 'create') $html->select_users($_REQUEST["doneby"],'doneby',1); print ''; - // Date planification - print ''.$langs->trans("DateActionPlanned").''; - if ($_GET["afaire"] == 1 || $_GET["afaire"] == 2) - { - $html->select_date(-1,'ap',1,1,1,"action"); - } - else - { - $html->select_date(-1,'ap',1,1,1,"action"); - } + // Date start planed + print ''.$langs->trans("DateActionPlannedStart").''; + if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->datea,'ap',1,1,0,"action"); + else if ($_REQUEST["afaire"] == 2) $html->select_date('','ap',1,1,1,"action"); + else $html->select_date('','ap',1,1,1,"action"); + print ''; + // Date end planed + print ''.$langs->trans("DateActionPlannedEnd").''; + if ($_REQUEST["afaire"] == 1) $html->select_date('','p2',1,1,1,"action"); + else if ($_REQUEST["afaire"] == 2) $html->select_date('','p2',1,1,1,"action"); + else $html->select_date('','p2',1,1,1,"action"); print ''; - // Date done - print ''.$langs->trans("DateActionDone").''; - if ($_GET["afaire"] == 1 || $_GET["afaire"] == 2) - { - $html->select_date(-1,'ad',1,1,1,"action"); - } - else - { - $html->select_date(-1,'ad',1,1,1,"action"); - } + // Date start done + print ''.$langs->trans("DateActionDoneStart").''; + if ($_REQUEST["afaire"] == 1) $html->select_date('','ad',1,1,1,"action"); + else if ($_REQUEST["afaire"] == 2) $html->select_date('','ad',1,1,0,"action"); + else $html->select_date('','ad',1,1,1,"action"); + print ''; + // Date end done + print ''.$langs->trans("DateActionDoneEnd").''; + if ($_REQUEST["afaire"] == 1) $html->select_date('','a2',1,1,1,"action"); + else if ($_REQUEST["afaire"] == 2) $html->select_date('','a2',1,1,0,"action"); + else $html->select_date('','a2',1,1,1,"action"); print ''; // Duration @@ -459,10 +505,10 @@ if ($_GET["action"] == 'create') else { print_titre ($langs->trans("AddAnAction")); - print "
"; if ($mesg) print $mesg.'
'; - + else print "
"; + print ''; // Type d'action actifs @@ -475,15 +521,15 @@ if ($_GET["action"] == 'create') } else { - $html->select_type_actions(0, "actioncode"); + $html->select_type_actions($actioncomm->type_code, "actioncode"); } print ''; - print ''; + print ''; // Societe, contact print ''; // Si la societe est imposee, on propose ces contacts - if ($_REQUEST["socid"]) + if ($_REQUEST["socid"] > 0) { print ''; // Realise par print ''; // Avancement - if ($_GET["afaire"] == 1) + if ($_REQUEST["afaire"] == 1) { print ''; print ''; print ''; } - elseif ($_GET["afaire"] == 2) + elseif ($_REQUEST["afaire"] == 2) { print ''; print ''; @@ -530,28 +576,30 @@ if ($_GET["action"] == 'create') print ''; } - // Date planification - print ''; + // Date end planed + print ''; - // Date done - print ''; + // Date end done + print ''; add_row_for_calendar_link(); @@ -834,7 +882,7 @@ function add_row_for_calendar_link() global $conf,$langs,$user; $nbtr=0; - // Lien avec calendrier si module activ� + // Lien avec calendrier si module active if ($conf->webcal->enabled) { if ($conf->global->PHPWEBCALENDAR_SYNCRO != 'never') diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php index 127c7a3a302..64d24130d85 100644 --- a/htdocs/comm/action/index.php +++ b/htdocs/comm/action/index.php @@ -112,11 +112,16 @@ $next = dol_get_next_month($month, $year); $next_year = $next['year']; $next_month = $next['month']; -$max_day_in_month = date("t",dolibarr_mktime(0,0,0,$month,1,$year)); $max_day_in_prev_month = date("t",dolibarr_mktime(0,0,0,$prev_month,1,$prev_year)); - +$max_day_in_month = date("t",dolibarr_mktime(0,0,0,$month,1,$year)); $day = -date("w",dolibarr_mktime(0,0,0,$month,1,$year))+2; if ($day > 1) $day -= 7; +$firstdaytoshow=dolibarr_mktime(0,0,0,$prev_month,$max_day_in_prev_month+$day,$prev_year); +$next_day=7-($max_day_in_month+1-$day)%7; +if ($next_day < 6) $next_day+=7; +$lastdaytoshow=dolibarr_mktime(0,0,0,$next_month,$next_day,$next_year); +//print dolibarr_print_date($firstdaytoshow,'day'); +//print dolibarr_print_date($lastdaytoshow,'day'); $title=$langs->trans("DoneAndToDoActions"); if ($status == 'done') $title=$langs->trans("DoneActions"); @@ -205,6 +210,7 @@ if ($filtera > 0 || $filtert > 0 || $filterd > 0) } if ($status == 'done') { $sql.= " AND a.percent = 100"; } if ($status == 'todo') { $sql.= " AND a.percent < 100"; } +// \TODO Add filters on dates //echo "$sql
"; $actionarray=array(); @@ -224,23 +230,31 @@ if ($resql) $action->libelle=$obj->label; $action->percentage=$obj->percent; + // Defined date_start_in_calendar and date_end_in_calendar property if ($action->percentage <= 0) { - $action->date_to_show_in_calendar=$action->datep; - // Add days until datep2 + $action->date_start_in_calendar=$action->datep; + if ($action->datef != '' && $action->datef >= $action->datep) $action->date_end_in_calendar=$action->datef; + else $action->date_end_in_calendar=$action->datep; } - else if ($action->percentage > 0) + else { - $action->date_to_show_in_calendar=$action->date; - // Add days until dateend - + $action->date_start_in_calendar=$action->date; + if ($action->dateend != '' && $action->dateend >= $action->date) $action->date_end_in_calendar=$action->dateend; + else $action->date_end_in_calendar=$action->date; + } + // Define ponctuel property + if ($action->date_start_in_calendar == $action->date_end_in_calendar) + { + $action->ponctuel=1; } - //var_dump($action); - $actionarray[]=$action; + // Add an entry in action array for each day + // \TODO + $daykey=$action->date_start_in_calendar; + $actionarray[$daykey]=$action; $i++; } - //echo $num; } else { @@ -323,15 +337,15 @@ function show_day_events($db, $day, $month, $year, $style, $actionarray) //$curtime = dolibarr_mktime (0, 0, 0, $month, $day, $year); $i=0; - foreach ($actionarray as $action) + foreach ($actionarray as $daykey => $action) { - $annee = date('Y',$action->date_to_show_in_calendar); - $mois = date('m',$action->date_to_show_in_calendar); - $jour = date('d',$action->date_to_show_in_calendar); + $annee = date('Y',$action->date_start_in_calendar); + $mois = date('m',$action->date_start_in_calendar); + $jour = date('d',$action->date_start_in_calendar); if ($day==$jour && $month==$mois && $year==$annee) { if ($i) print "
"; - print $action->getNomUrl(1,10)." ".$action->getLibStatut(3); + print $action->getNomUrl(1,9).$action->getLibStatut(3); $i++; } } diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php index 2ef2bb4d564..a266eee3145 100644 --- a/htdocs/html.form.class.php +++ b/htdocs/html.form.class.php @@ -572,7 +572,7 @@ class Form $arraylist[0]=' '; asort($arraylist); - $this->select_array($htmlname, $arraylist, 0); + $this->select_array($htmlname, $arraylist, $selected); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); } @@ -2728,7 +2728,7 @@ class Form \brief Affiche un select à partir d'un tableau \param htmlname Nom de la zone select \param array Tableau de key+valeur - \param id Key pré-sélectionnée + \param id Preselected key \param show_empty 1 si il faut ajouter une valeur vide dans la liste, 0 sinon \param key_in_label 1 pour afficher la key dans la valeur "[key] value" \param value_as_key 1 pour utiliser la valeur comme clé diff --git a/htdocs/includes/triggers/interface_modAgenda_ActionsAuto.class.php b/htdocs/includes/triggers/interface_modAgenda_ActionsAuto.class.php index dd5607e7e34..50ffb4095a6 100644 --- a/htdocs/includes/triggers/interface_modAgenda_ActionsAuto.class.php +++ b/htdocs/includes/triggers/interface_modAgenda_ActionsAuto.class.php @@ -120,6 +120,7 @@ class InterfaceActionsAuto { dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); $langs->load("other"); + $langs->load("agenda"); $object->actiontypecode='AC_OTH'; $object->actionmsg2=$langs->transnoentities("NewCompanyToDolibarr",$object->nom); @@ -138,6 +139,7 @@ class InterfaceActionsAuto { dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); $langs->load("contracts"); + $langs->load("agenda"); $object->actiontypecode='AC_OTH'; $object->actionmsg2=$langs->transnoentities("ContractValidatedInDolibarr",$object->ref); @@ -152,6 +154,7 @@ class InterfaceActionsAuto { dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); $langs->load("propal"); + $langs->load("agenda"); $object->actiontypecode='AC_OTH'; $object->actionmsg2=$langs->transnoentities("PropalValidatedInDolibarr",$object->ref); @@ -167,6 +170,7 @@ class InterfaceActionsAuto { dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); $langs->load("propal"); + $langs->load("agenda"); $ok=1; // Parameters $object->xxx defined by caller @@ -175,6 +179,7 @@ class InterfaceActionsAuto { dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); $langs->load("propal"); + $langs->load("agenda"); $object->actiontypecode='AC_OTH'; $object->actionmsg2=$langs->transnoentities("PropalClosedSignedInDolibarr",$object->ref); @@ -190,6 +195,7 @@ class InterfaceActionsAuto { dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); $langs->load("propal"); + $langs->load("agenda"); $object->actiontypecode='AC_OTH'; $object->actionmsg2=$langs->transnoentities("PropalClosedRefusedInDolibarr",$object->ref); @@ -205,7 +211,8 @@ class InterfaceActionsAuto { dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); $langs->load("orders"); - + $langs->load("agenda"); + $object->actiontypecode='AC_OTH'; $object->actionmsg2=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref); @@ -220,6 +227,7 @@ class InterfaceActionsAuto { dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); $langs->load("orders"); + $langs->load("agenda"); $ok=1; // Parameters $object->xxx defined by caller @@ -228,6 +236,7 @@ class InterfaceActionsAuto { dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); $langs->load("bills"); + $langs->load("agenda"); $object->actiontypecode='AC_OTH'; $object->actionmsg2=$langs->transnoentities("InvoiceValidatedInDolibarr",$object->ref); @@ -243,6 +252,7 @@ class InterfaceActionsAuto { dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); $langs->load("bills"); + $langs->load("agenda"); $ok=1; // Parameters $object->xxx defined by caller @@ -251,6 +261,7 @@ class InterfaceActionsAuto { dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); $langs->load("bills"); + $langs->load("agenda"); $object->actiontypecode='AC_OTH'; $object->actionmsg2=$langs->transnoentities("InvoicePayedInDolibarr",$object->ref); @@ -266,6 +277,7 @@ class InterfaceActionsAuto { dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); $langs->load("bills"); + $langs->load("agenda"); $object->actiontypecode='AC_OTH'; $object->actionmsg2=$langs->transnoentities("InvoiceCanceledInDolibarr",$object->ref); diff --git a/htdocs/langs/en_US/agenda.lang b/htdocs/langs/en_US/agenda.lang index 12fbcf517ee..71954385c32 100644 --- a/htdocs/langs/en_US/agenda.lang +++ b/htdocs/langs/en_US/agenda.lang @@ -25,4 +25,8 @@ ViewWithPredefinedFilters=View with predefined filters AutoActions=Automatic creation of actions AgendaAutoActionDesc=Define here events for which you want Dolibarr to create automatically an action in agenda. If nothing is checked (by default), only manual actions will be included in agenda. AgendaSetupOtherDesc=This page allows to configure other parameters of agenda module. -ActionsEvents=Events for which create an action \ No newline at end of file +ActionsEvents=Events for which create an action +PropalValidatedInDolibarr=Proposal validated +InvoiceValidatedInDolibarr=Invoice validated +OrderValidatedInDolibarr=Order validated +NewCompanyToDolibarr=Third party created diff --git a/htdocs/langs/fr_FR/agenda.lang b/htdocs/langs/fr_FR/agenda.lang index 2f7e4135251..61fa472b6d5 100644 --- a/htdocs/langs/fr_FR/agenda.lang +++ b/htdocs/langs/fr_FR/agenda.lang @@ -25,4 +25,12 @@ ViewWithPredefinedFilters=Vues avec filtres pr AutoActions=Création automatiques des actions AgendaAutoActionDesc=Définissez dans cet onglet les évènements pour lesquels dolibarr créera automatiquement une action dans l'agenda. Si aucune case n'est cochée (par défaut), seules les actions manuelles seront incluses dans l'agenda. AgendaSetupOtherDesc=Cette page permet de configurer les autres paramètres du module agenda. -ActionsEvents=Evènements pour lesquels creer une action \ No newline at end of file +ActionsEvents=Evènements pour lesquels creer une action +PropalValidatedInDolibarr=Proposition validée +InvoiceValidatedInDolibarr=Facture validée +OrderValidatedInDolibarr=Commande validée +NewCompanyToDolibarr=Tiers créé +DateActionPlannedStart=Date début réalisation prévue +DateActionPlannedEnd=Date fin réalisation prévue +DateActionDoneStart=Date début réalisation réelle +DateActionDoneEnd=Date fin réalisation réelle diff --git a/htdocs/langs/fr_FR/commercial.lang b/htdocs/langs/fr_FR/commercial.lang index c7a4a3edeb8..d9dbec5f4eb 100644 --- a/htdocs/langs/fr_FR/commercial.lang +++ b/htdocs/langs/fr_FR/commercial.lang @@ -63,7 +63,7 @@ ActionAskedBy=Action enregistr ActionAffectedTo=Action affectée à ActionDoneBy=Action faite par ActionUserAsk=Enregistré par -ErrorStatusCantBeZeroIfStarted=Si le champ 'Date de réalisation' est renseigné alors l'action est commencée voire finie, aussi le champ 'Etat' ne peut etre 0%%. +ErrorStatusCantBeZeroIfStarted=Si le champ 'Date début réalisation réelle' est renseigné alors l'action est commencée voire finie, aussi le champ 'Etat' ne peut etre 0%%. ActionAC_TEL=Appel téléphonique ActionAC_FAX=Envoi fax ActionAC_PROP=Envoi proposition par mail
'.$langs->trans("Title").'
'.$langs->trans("Title").'
'.$langs->trans("ActionOnCompany").''; - if ($_REQUEST["socid"]) + if ($_REQUEST["socid"] > 0) { $societe = new Societe($db); $societe->fetch($_REQUEST["socid"]); @@ -497,7 +543,7 @@ if ($_GET["action"] == 'create') print '
'.$langs->trans("ActionOnContact").''; $html->select_contacts($_REQUEST["socid"],'','contactid',1,1); @@ -506,22 +552,22 @@ if ($_GET["action"] == 'create') // Affecte a print '
'.$langs->trans("ActionAffectedTo").''; - $html->select_users($_REQUEST["affectedto"],'affectedto',1); + $html->select_users($_REQUEST["affectedto"]?$_REQUEST["affectedto"]:$actioncomm->usertodo,'affectedto',1); print '
'.$langs->trans("ActionDoneBy").''; - $html->select_users($_REQUEST["doneby"],'doneby',1); + $html->select_users($_REQUEST["doneby"]?$_REQUEST["doneby"]:$actioncomm->userdone,'doneby',1); print '
'.$langs->trans("Status").' / '.$langs->trans("Percentage").''.$langs->trans("StatusActionToDo").' / 0%
'.$langs->trans("Status").' / '.$langs->trans("Percentage").''.$langs->trans("StatusActionDone").' / 100%
'.$langs->trans("Status").' / '.$langs->trans("Percentage").'%
'.$langs->trans("DateActionPlanned").''; - if ($_GET["afaire"] == 1 || $_GET["afaire"] == 2) - { - $html->select_date('','ap',1,1,0,"action"); - } - else - { - $html->select_date('','ap',1,1,0,"action"); - } + // Date start planed + print '
'.$langs->trans("DateActionPlannedStart").''; + if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->datep,'ap',1,1,0,"action"); + else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->datep,'ap',1,1,1,"action"); + else $html->select_date($actioncomm->datep,'ap',1,1,1,"action"); + print '
'.$langs->trans("DateActionPlannedEnd").''; + if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->datef,'p2',1,1,1,"action"); + else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->datef,'p2',1,1,1,"action"); + else $html->select_date($actioncomm->datef,'p2',1,1,1,"action"); print '
'.$langs->trans("DateActionDone").''; - if ($_GET["afaire"] == 1 || $_GET["afaire"] == 2) - { - $html->select_date(-1,'ad',1,1,1,"action"); - } - elseif ($_GET["afaire"] != 1) - { - $html->select_date(-1,'ad',1,1,1,"action"); - } + // Date start done + print '
'.$langs->trans("DateActionDoneStart").''; + if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->date,'ad',1,1,1,"action"); + else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->date,'ad',1,1,0,"action"); + else $html->select_date($actioncomm->date,'ad',1,1,1,"action"); + print '
'.$langs->trans("DateActionDoneEnd").''; + if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->dateend,'a2',1,1,1,"action"); + else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->dateend,'a2',1,1,0,"action"); + else $html->select_date($actioncomm->dateend,'a2',1,1,1,"action"); print '