diff --git a/htdocs/comm/mailing/card.php b/htdocs/comm/mailing/card.php
index aeaf19f8471..21e26814119 100644
--- a/htdocs/comm/mailing/card.php
+++ b/htdocs/comm/mailing/card.php
@@ -602,6 +602,29 @@ if (empty($reshook))
}
}
+ // Action confirmation validation
+ if ($action == 'confirm_settodraft' && $confirm == 'yes')
+ {
+ if ($object->id > 0)
+ {
+ $result = $object->setStatut(0);
+ if ($result > 0)
+ {
+ //setEventMessages($langs->trans("MailingSuccessfullyValidated"), null, 'mesgs');
+ header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id);
+ exit;
+ }
+ else
+ {
+ setEventMessages($object->error, $object->errors, 'errors');
+ }
+ }
+ else
+ {
+ dol_print_error($db);
+ }
+ }
+
// Resend
if ($action == 'confirm_reset' && $confirm == 'yes')
{
@@ -727,7 +750,12 @@ else
dol_fiche_head($head, 'card', $langs->trans("Mailing"), 0, 'email');
- // Confirmation de la validation du mailing
+ // Confirmation back to draft
+ if ($action == 'settodraft')
+ {
+ print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id,$langs->trans("SetToDraft"),$langs->trans("ConfirmUnvalidateEmailing"),"confirm_settodraft",'','',1);
+ }
+ // Confirmation validation of mailing
if ($action == 'valid')
{
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id,$langs->trans("ValidMailing"),$langs->trans("ConfirmValidMailing"),"confirm_valid",'','',1);
@@ -900,10 +928,15 @@ else
* Boutons d'action
*/
- if (GETPOST("cancel") || $confirm=='no' || $action == '' || in_array($action,array('valid','delete','sendall','clone')))
+ if (GETPOST("cancel") || $confirm=='no' || $action == '' || in_array($action,array('settodraft', 'valid','delete','sendall','clone')))
{
print "\n\n
\n";
+ if (($object->statut == 1) && ($user->rights->mailing->valider || $object->fk_user_valid == $user->id))
+ {
+ print '
'.$langs->trans("SetToDraft").'';
+ }
+
if (($object->statut == 0 || $object->statut == 1) && $user->rights->mailing->creer)
{
print '
'.$langs->trans("EditMailing").'';
@@ -1212,7 +1245,7 @@ else
print '
';
// Editeur wysiwyg
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
- $doleditor=new DolEditor('body',$object->body,'',320,'dolibarr_mailings','',true,true,$conf->global->FCKEDITOR_ENABLE_MAILING,20,'90%');
+ $doleditor=new DolEditor('body',$object->body,'',600,'dolibarr_mailings','',true,true,$conf->global->FCKEDITOR_ENABLE_MAILING,20,'90%');
$doleditor->Create();
print '
';
diff --git a/htdocs/comm/mailing/cibles.php b/htdocs/comm/mailing/cibles.php
index 0d096f1ecef..e104db4dcda 100644
--- a/htdocs/comm/mailing/cibles.php
+++ b/htdocs/comm/mailing/cibles.php
@@ -231,7 +231,7 @@ if ($object->fetch($id) >= 0)
$var=!$var;
- $allowaddtarget=($object->statut == 0 || $object->statut == 1);
+ $allowaddtarget=($object->statut == 0);
// Show email selectors
if ($allowaddtarget && $user->rights->mailing->creer)
diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php
index 7b48240a72b..6340facf31a 100644
--- a/htdocs/core/class/commonobject.class.php
+++ b/htdocs/core/class/commonobject.class.php
@@ -2771,6 +2771,7 @@ abstract class CommonObject
$this->db->begin();
$fieldstatus="fk_statut";
+ if ($elementTable == 'mailing') $fieldstatus="statut";
if ($elementTable == 'user') $fieldstatus="statut";
if ($elementTable == 'expensereport') $fieldstatus="fk_statut";
if ($elementTable == 'commande_fournisseur_dispatch') $fieldstatus="status";
diff --git a/htdocs/langs/en_US/mails.lang b/htdocs/langs/en_US/mails.lang
index 879f4469478..c337b6e1119 100644
--- a/htdocs/langs/en_US/mails.lang
+++ b/htdocs/langs/en_US/mails.lang
@@ -74,6 +74,7 @@ ResultOfMailSending=Result of mass EMail sending
NbSelected=Nb selected
NbIgnored=Nb ignored
NbSent=Nb sent
+ConfirmUnvalidateEmailing=Are you sure you want to change email
%s to draft status?
MailingModuleDescContactsWithThirdpartyFilter=Contact with customer filters
MailingModuleDescContactsByCompanyCategory=Contacts by third party category
MailingModuleDescContactsByCategory=Contacts by categories