From a718947b3d3064a6c3fea5c40ca4c3d4cee95bc5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Oct 2010 16:49:26 +0000 Subject: [PATCH] Fix: Detailed informations of email actions was lost --- htdocs/compta/facture.php | 10 +- htdocs/compta/facture/class/facture.class.php | 11 +- .../interface_modAgenda_ActionsAuto.class.php | 124 ++++++++++-------- htdocs/societe/class/societe.class.php | 7 +- 4 files changed, 84 insertions(+), 68 deletions(-) diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 88212760c4d..8ec133bf206 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -1127,6 +1127,8 @@ if (($_POST['action'] == 'send' || $_POST['action'] == 'relance') && ! $_POST['a { $langs->load('mails'); + $actiontypecode='';$subject='';$actionmsg='';$actionmsg2=''; + $result=$object->fetch($facid); $result=$object->fetch_thirdparty(); @@ -1180,7 +1182,7 @@ if (($_POST['action'] == 'send' || $_POST['action'] == 'relance') && ! $_POST['a $actionmsg.=$langs->transnoentities('TextUsedInTheMessageBody').":\n"; $actionmsg.=$message; } - $actionmsg2=$langs->transnoentities('Action'.$actiontypecode); + //$actionmsg2=$langs->transnoentities('Action'.$actiontypecode); } if ($_POST['action'] == 'relance') { @@ -1193,7 +1195,7 @@ if (($_POST['action'] == 'send' || $_POST['action'] == 'relance') && ! $_POST['a $actionmsg.=$langs->transnoentities('TextUsedInTheMessageBody').":\n"; $actionmsg.=$message; } - $actionmsg2=$langs->transnoentities('Action'.$actiontypecode); + //$actionmsg2=$langs->transnoentities('Action'.$actiontypecode); } // Create form object @@ -1224,8 +1226,8 @@ if (($_POST['action'] == 'send' || $_POST['action'] == 'relance') && ! $_POST['a // Initialisation donnees $object->sendtoid=$sendtoid; $object->actiontypecode=$actiontypecode; - $object->actionmsg = $actionmsg; - $object->actionmsg2= $actionmsg2; + $object->actionmsg = $actionmsg; // Long text + $object->actionmsg2= $actionmsg2; // Short text $object->facid=$object->id; // Appel des triggers diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index d2356f4069e..bcc558ae8f7 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -1831,8 +1831,7 @@ class Facture extends CommonObject // Check parameters if ($type < 0) return -1; - // Calcul du total TTC et de la TVA pour la ligne a partir de - // qty, pu, remise_percent et txtva + // Calculate total with, without tax and tax from qty, pu, remise_percent and txtva // TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker // la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva. $tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits); @@ -1845,7 +1844,7 @@ class Facture extends CommonObject $pu_tva = $tabprice[4]; $pu_ttc = $tabprice[5]; - // Anciens indicateurs: $price, $remise (a ne plus utiliser) + // Old properties: $price, $remise (deprecated) $price = $pu; $remise = 0; if ($remise_percent > 0) @@ -1855,7 +1854,7 @@ class Facture extends CommonObject } $price = price2num($price); - // Mise a jour ligne en base + // Update line into database $this->line=new FactureLigne($this->db); $this->line->rowid=$rowid; $this->line->fetch($rowid); @@ -3310,8 +3309,8 @@ class FactureLigne /** - * \brief Update line in database - * \return int <0 if KO, >0 if OK + * Update line into database + * @return int <0 if KO, >0 if OK */ function update() { diff --git a/htdocs/includes/triggers/interface_modAgenda_ActionsAuto.class.php b/htdocs/includes/triggers/interface_modAgenda_ActionsAuto.class.php index affd3a2a03d..047162a3b09 100644 --- a/htdocs/includes/triggers/interface_modAgenda_ActionsAuto.class.php +++ b/htdocs/includes/triggers/interface_modAgenda_ActionsAuto.class.php @@ -86,14 +86,26 @@ class InterfaceActionsAuto } /** - * \brief Fonction appelee lors du declenchement d'un evenement Dolibarr. - * D'autres fonctions run_trigger peuvent etre presentes dans includes/triggers - * \param action Code de l'evenement - * \param object Objet concerne - * \param user Objet user - * \param langs Objet langs - * \param conf Objet conf - * \return int <0 si ko, 0 si aucune action faite, >0 si ok + * Function called when a Dolibarrr business event is done. + * All functions run_trigger are triggered if file is inside directory includes/triggers + * + * Following properties must be filled: + * $object->actiontypecode (translation action code: AC_OTH, ...) + * $object->actionmsg (note, long text) + * $object->actionmsg2 (label, short text) + * $object->sendtoid (id of contact) + * $object->socid + * Optionnal: + * $object->facid + * $object->propalrowid + * $object->orderrowid + * + * @param action Event code (COMPANY_CREATE, PROPAL_VALIDATE, ...) + * @param object Object action is done on + * @param user Object user + * @param langs Object langs + * @param conf Object conf + * @return int <0 if KO, 0 if no action are done, >0 if OK */ function run_trigger($action,$object,$user,$langs,$conf) { @@ -101,17 +113,6 @@ class InterfaceActionsAuto //dol_syslog("xxxxxxxxxxx".$key); if (empty($conf->global->$key)) return 0; // Log events not enabled for this action - // Following properties must be filled: - // $object->actiontypecode; - // $object->actionmsg (note, long text) - // $object->actionmsg2 (label, short text) - // $object->sendtoid - // $object->socid - // Optionnal: - // $object->facid - // $object->propalrowid - // $object->orderrowid - $ok=0; // Actions @@ -122,7 +123,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("NewCompanyToDolibarr",$object->nom); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("NewCompanyToDolibarr",$object->nom); $object->actionmsg=$langs->transnoentities("NewCompanyToDolibarr",$object->nom); if ($object->prefix) $object->actionmsg.=" (".$object->prefix.")"; //$this->desc.="\n".$langs->transnoentities("Customer").': '.yn($object->client); @@ -142,7 +143,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("ContractValidatedInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("ContractValidatedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("ContractValidatedInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; @@ -157,7 +158,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("PropalValidatedInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("PropalValidatedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("PropalValidatedInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; @@ -173,9 +174,12 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_EMAIL'; - $object->actionmsg2=$langs->transnoentities("ProposalSentByEMail",$object->ref); - $object->actionmsg=$langs->transnoentities("ProposalSentByEMail",$object->ref); - $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("ProposalSentByEMail",$object->ref); + if (empty($object->actionmsg)) + { + $object->actionmsg=$langs->transnoentities("ProposalSentByEMail",$object->ref); + $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; + } $object->sendtoid=0; $object->propalrowid=$object->id; @@ -189,7 +193,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("PropalClosedSignedInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("PropalClosedSignedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("PropalClosedSignedInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; @@ -205,7 +209,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("PropalClosedRefusedInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("PropalClosedRefusedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("PropalClosedRefusedInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; @@ -221,7 +225,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; @@ -237,9 +241,12 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_EMAIL'; - $object->actionmsg2=$langs->transnoentities("OrderSentByEMail",$object->ref); - $object->actionmsg=$langs->transnoentities("OrderSentByEMail",$object->ref); - $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("OrderSentByEMail",$object->ref); + if (empty($object->actionmsg)) + { + $object->actionmsg=$langs->transnoentities("OrderSentByEMail",$object->ref); + $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; + } $object->sendtoid=0; $object->facid=$object->id; @@ -256,7 +263,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("InvoiceValidatedInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoiceValidatedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("InvoiceValidatedInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; @@ -273,9 +280,12 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_EMAIL'; - $object->actionmsg2=$langs->transnoentities("InvoiceSentByEMail",$object->ref); - $object->actionmsg=$langs->transnoentities("InvoiceSentByEMail",$object->ref); - $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoiceSentByEMail",$object->ref); + if (empty($object->actionmsg)) + { + $object->actionmsg=$langs->transnoentities("InvoiceSentByEMail",$object->ref); + $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; + } $object->facid=$object->id; $object->orderrowid=$object->propalrowid=0; @@ -291,7 +301,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; @@ -308,7 +318,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("InvoiceCanceledInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoiceCanceledInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("InvoiceCanceledInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; @@ -325,7 +335,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("InterventionValidatedInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InterventionValidatedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("InterventionValidatedInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; @@ -339,7 +349,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; @@ -357,9 +367,12 @@ class InterfaceActionsAuto $langs->load("orders"); $object->actiontypecode='AC_EMAIL'; - $object->actionmsg2=$langs->transnoentities("SupplierOrderSentByEMail",$object->ref); - $object->actionmsg=$langs->transnoentities("SupplierOrderSentByEMail",$object->ref); - $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("SupplierOrderSentByEMail",$object->ref); + if (empty($object->actionmsg)) + { + $object->actionmsg=$langs->transnoentities("SupplierOrderSentByEMail",$object->ref); + $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; + } $object->sendtoid=0; $object->supplierorderrowid=$object->id; @@ -374,7 +387,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("InvoiceValidatedInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoiceValidatedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("InvoiceValidatedInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; @@ -392,9 +405,12 @@ class InterfaceActionsAuto $langs->load("orders"); $object->actiontypecode='AC_EMAIL'; - $object->actionmsg2=$langs->transnoentities("SupplierInvoiceSentByEMail",$object->ref); - $object->actionmsg=$langs->transnoentities("SupplierInvoiceSentByEMail",$object->ref); - $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("SupplierInvoiceSentByEMail",$object->ref); + if (empty($object->actionmsg)) + { + $object->actionmsg=$langs->transnoentities("SupplierInvoiceSentByEMail",$object->ref); + $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; + } $object->sendtoid=0; $object->supplierorderrowid=$object->id; @@ -409,7 +425,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; @@ -426,7 +442,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("InvoiceCanceledInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoiceCanceledInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("InvoiceCanceledInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; @@ -445,7 +461,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("MemberValidatedInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("MemberValidatedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("MemberValidatedInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Member").': '.$object->getFullName($langs); $object->actionmsg.="\n".$langs->transnoentities("Type").': '.$object->type; @@ -463,7 +479,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("MemberSubscriptionAddedInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("MemberSubscriptionAddedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("MemberSubscriptionAddedInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Member").': '.$object->getFullName($langs); $object->actionmsg.="\n".$langs->transnoentities("Type").': '.$object->type; @@ -487,7 +503,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("MemberResiliatedInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("MemberResiliatedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("MemberResiliatedInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Member").': '.$object->getFullName($langs); $object->actionmsg.="\n".$langs->transnoentities("Type").': '.$object->type; @@ -505,7 +521,7 @@ class InterfaceActionsAuto $langs->load("agenda"); $object->actiontypecode='AC_OTH'; - $object->actionmsg2=$langs->transnoentities("MemberDeletedInDolibarr",$object->ref); + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("MemberDeletedInDolibarr",$object->ref); $object->actionmsg=$langs->transnoentities("MemberDeletedInDolibarr",$object->ref); $object->actionmsg.="\n".$langs->transnoentities("Member").': '.$object->getFullName($langs); $object->actionmsg.="\n".$langs->transnoentities("Type").': '.$object->type; @@ -517,13 +533,13 @@ class InterfaceActionsAuto } // If not found -/* + /* else { dol_syslog("Trigger '".$this->name."' for action '$action' was ran by ".__FILE__." but no handler found for this action."); return 0; } -*/ + */ // Add entry in event table if ($ok) diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 56a97f18490..fa465b15098 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -1419,13 +1419,12 @@ class Societe extends CommonObject } /** - * \brief Renvoie l'email d'un contact depuis son id - * \param rowid id du contact - * \return string email du contact + * Return email of contact from its id + * @param rowid id of contact + * @return string email of contact */ function contact_get_email($rowid) { - $sql = "SELECT rowid, email, name, firstname FROM ".MAIN_DB_PREFIX."socpeople WHERE rowid = '".$rowid."'"; $resql=$this->db->query($sql);