Bonjour à tous,
Nous utilisons beaucoup la fonctionnalité d’envoi de mail en masse (massactions depuis la liste).
Je découvre qu’il manque quelques fonctionnalités utiles :
Dans le fichier /core/actions_massactions.inc.php
J’ai ajouté dans le bloc // Initialisation donnees
$objectobj2->email_subject = $subjectreplaced;
Ainsi le champ email_subject (actioncomm) est implémenté en base.
Ce qui me permet de travailler sur le sujet de mail envoyé.
Dans mon module, je me sers donc des triggers en rapport au sujet de mail.
Par exemple, je fais un insertExtraFields().
Mais le problème est que je ne récupère par $object->id avec cette fonctionnalité d’envoi en masse.
Par contre, je le récupère bien quand j’envoie le mail depuis la fiche…
Si quelqu’un avait une idée.
Merci à tous.
Bruce
Solution :
Je vous mets ma fonction doMassActions
public function doMassActions($parameters, &$object, &$action, $hookmanager)
{
global $conf, $user, $langs, $db;
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php';
require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php';
$error = 0; // Error counter
if (in_array($parameters['currentcontext'], array('supplierorderlist')))
{
foreach($parameters['toselect'] as $objectid)
{
$listofactions=ActionComm::getActions($db, $object->socid, $objectid, 'order_supplier','','','');
foreach($listofactions as $actions)
{
$label=$actions->getNomUrl(0,38);
}
if (stripos($label, 'Rappel commande') !== FALSE)
{
$objectcf2 = new CommandeFournisseur($db);
$objectcf2->fetch($objectid);
$objectcf2->array_options['options_date_relance'] = dol_now();
$objectcf2->insertExtraFields();
}
}
}
}
Ainsi, on peut adapter selon les sujet des mails