diff --git a/htdocs/societe/notify/fiche.php b/htdocs/societe/notify/fiche.php
index 4222a4dacab..e5d42b5cafd 100644
--- a/htdocs/societe/notify/fiche.php
+++ b/htdocs/societe/notify/fiche.php
@@ -52,6 +52,8 @@ $pagenext = $page + 1;
if (! $sortorder) $sortorder="ASC";
if (! $sortfield) $sortfield="c.name";
+$now=dol_now();
+
/*
* Actions
@@ -60,33 +62,61 @@ if (! $sortfield) $sortfield="c.name";
// Add a notification
if ($action == 'add')
{
- $sql = "DELETE FROM ".MAIN_DB_PREFIX."notify_def";
- $sql .= " WHERE fk_soc=".$socid." AND fk_contact=".$_POST["contactid"]." AND fk_action=".$_POST["actionid"];
- if ($db->query($sql))
- {
- $sql = "INSERT INTO ".MAIN_DB_PREFIX."notify_def (datec,fk_soc, fk_contact, fk_action)";
- $sql .= " VALUES (".$db->idate(mktime()).",".$socid.",".$_POST["contactid"].",".$_POST["actionid"].")";
+ $error=0;
- if ($db->query($sql))
- {
+ if (empty($contactid))
+ {
+ $mesg='
'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Contact")).'
';
+ $error++;
+ }
+ if ($actionid <= 0)
+ {
+ $mesg=''.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Action")).'
';
+ $error++;
+ }
- }
- else
- {
- dol_print_error($db);
- }
- }
- else
- {
- dol_print_error($db);
- }
+ if (! $error)
+ {
+ $db->begin();
+
+ $sql = "DELETE FROM ".MAIN_DB_PREFIX."notify_def";
+ $sql .= " WHERE fk_soc=".$socid." AND fk_contact=".$contactid." AND fk_action=".$actionid;
+ if ($db->query($sql))
+ {
+ $sql = "INSERT INTO ".MAIN_DB_PREFIX."notify_def (datec,fk_soc, fk_contact, fk_action)";
+ $sql .= " VALUES ('".$db->idate($now)."',".$socid.",".$contactid.",".$actionid.")";
+
+ if ($db->query($sql))
+ {
+
+ }
+ else
+ {
+ $error++;
+ dol_print_error($db);
+ }
+ }
+ else
+ {
+ dol_print_error($db);
+ }
+
+ if (! $error)
+ {
+ $db->commit();
+ }
+ else
+ {
+ $db->rollback();
+ }
+ }
}
// Remove a notification
if ($action == 'delete')
{
- $sql = "DELETE FROM ".MAIN_DB_PREFIX."notify_def where rowid=".$_GET["actid"].";";
- $db->query($sql);
+ $sql = "DELETE FROM ".MAIN_DB_PREFIX."notify_def where rowid=".$_GET["actid"].";";
+ $db->query($sql);
}
@@ -104,75 +134,100 @@ $result=$soc->fetch($socid);
if ($result > 0)
{
- $html = new Form($db);
- $langs->load("other");
+ $html = new Form($db);
+ $langs->load("other");
- $head = societe_prepare_head($soc);
+ $head = societe_prepare_head($soc);
- dol_fiche_head($head, 'notify', $langs->trans("ThirdParty"),0,'company');
+ dol_fiche_head($head, 'notify', $langs->trans("ThirdParty"),0,'company');
- print '';
+ print '';
- print '| '.$langs->trans("ThirdPartyName").' | ';
- print $form->showrefnav($soc,'socid','',($user->societe_id?0:1),'rowid','nom');
- print ' |
';
+ print '| '.$langs->trans("ThirdPartyName").' | ';
+ print $form->showrefnav($soc,'socid','',($user->societe_id?0:1),'rowid','nom');
+ print ' |
';
- print '| '.$langs->trans("NbOfActiveNotifications").' | ';
- print '';
- $sql = "SELECT COUNT(n.rowid) as nb";
- $sql.= " FROM ".MAIN_DB_PREFIX."notify_def as n";
- $sql.= " WHERE fk_soc = ".$soc->id;
- $resql=$db->query($sql);
- if ($resql)
- {
- $num = $db->num_rows($resql);
- $i = 0;
- while ($i < $num)
- {
- $obj = $db->fetch_object($resql);
- $nb=$obj->nb;
- $i++;
- }
- }
- else {
- dol_print_error($db);
- }
- print $nb;
- print ' |
';
- print '
';
+ // Prefix
+ if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
+ {
+ print '| '.$langs->trans('Prefix').' | '.$object->prefix_comm.' |
';
+ }
- print '';
+ if ($object->client)
+ {
+ print '| ';
+ print $langs->trans('CustomerCode').' | ';
+ print $object->code_client;
+ if ($object->check_codeclient() <> 0) print ' ('.$langs->trans("WrongCustomerCode").')';
+ print ' |
';
+ }
+
+ if ($object->fournisseur)
+ {
+ print '| ';
+ print $langs->trans('SupplierCode').' | ';
+ print $object->code_fournisseur;
+ if ($object->check_codefournisseur() <> 0) print ' ('.$langs->trans("WrongSupplierCode").')';
+ print ' |
';
+ }
+
+ print '| '.$langs->trans("NbOfActiveNotifications").' | ';
+ print '';
+ $sql = "SELECT COUNT(n.rowid) as nb";
+ $sql.= " FROM ".MAIN_DB_PREFIX."notify_def as n";
+ $sql.= " WHERE fk_soc = ".$soc->id;
+ $resql=$db->query($sql);
+ if ($resql)
+ {
+ $num = $db->num_rows($resql);
+ $i = 0;
+ while ($i < $num)
+ {
+ $obj = $db->fetch_object($resql);
+ $nb=$obj->nb;
+ $i++;
+ }
+ }
+ else {
+ dol_print_error($db);
+ }
+ print $nb;
+ print ' |
';
+ print '
';
+
+ print '';
- // Help
- print $langs->trans("NotificationsDesc").'
';
+ // Help
+ print $langs->trans("NotificationsDesc").'
';
- print "\n";
+ print "\n";
- // Add notification form
- print_fiche_titre($langs->trans("AddNewNotification"),'','');
+ // Add notification form
+ print_fiche_titre($langs->trans("AddNewNotification"),'','');
- print '';
- print '
';
+ print '';
+ print '
';
+ dol_htmloutput_mesg($mesg);
- // List of active notifications
- print_fiche_titre($langs->trans("ListOfActiveNotifications"),'','');
- $var=true;
+ // List of active notifications
+ print_fiche_titre($langs->trans("ListOfActiveNotifications"),'','');
+ $var=true;
- // Line with titles
- print '';
- print '';
- print_liste_field_titre($langs->trans("Contact"),"fiche.php","c.name",'',$param,'"width="45%"',$sortfield,$sortorder);
- print_liste_field_titre($langs->trans("Action"),"fiche.php","a.titre",'',$param,'"width="35%"',$sortfield,$sortorder);
+ // Line with titles
+ print '';
+ print '';
+ print_liste_field_titre($langs->trans("Contact"),"fiche.php","c.name",'',$param,'"width="45%"',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("Action"),"fiche.php","a.titre",'',$param,'"width="35%"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Type"),"fiche.php","",'',$param,'"width="10%"',$sortfield,$sortorder);
- print_liste_field_titre('','','');
- print '
';
+ print_liste_field_titre('','','');
+ print '';
- // List of notifications for contacts
- $sql = "SELECT n.rowid, n.type,";
- $sql.= " a.code, a.label,";
+ // List of notifications for contacts
+ $sql = "SELECT n.rowid, n.type,";
+ $sql.= " a.code, a.label,";
$sql.= " c.rowid as contactid, c.name, c.firstname, c.email";
- $sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,";
- $sql.= " ".MAIN_DB_PREFIX."notify_def as n,";
- $sql.= " ".MAIN_DB_PREFIX."socpeople c";
- $sql.= " WHERE a.rowid = n.fk_action";
- $sql.= " AND c.rowid = n.fk_contact";
- $sql.= " AND c.fk_soc = ".$soc->id;
+ $sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,";
+ $sql.= " ".MAIN_DB_PREFIX."notify_def as n,";
+ $sql.= " ".MAIN_DB_PREFIX."socpeople c";
+ $sql.= " WHERE a.rowid = n.fk_action";
+ $sql.= " AND c.rowid = n.fk_contact";
+ $sql.= " AND c.fk_soc = ".$soc->id;
- $resql=$db->query($sql);
- if ($resql)
- {
- $num = $db->num_rows($resql);
- $i = 0;
+ $resql=$db->query($sql);
+ if ($resql)
+ {
+ $num = $db->num_rows($resql);
+ $i = 0;
- $contactstatic=new Contact($db);
+ $contactstatic=new Contact($db);
- while ($i < $num)
- {
- $var = !$var;
+ while ($i < $num)
+ {
+ $var = !$var;
- $obj = $db->fetch_object($resql);
+ $obj = $db->fetch_object($resql);
- $contactstatic->id=$obj->contactid;
- $contactstatic->name=$obj->name;
- $contactstatic->firstname=$obj->firstname;
- print '| '.$contactstatic->getNomUrl(1);
- if ($obj->type == 'email')
- {
- if (isValidEmail($obj->email))
- {
- print ' <'.$obj->email.'>';
- }
- else
- {
- $langs->load("errors");
- print ' '.img_warning().' '.$langs->trans("ErrorBadEMail",$obj->email);
- }
- }
- print ' | ';
- print '';
- $label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
- print $label;
- print ' | ';
+ $contactstatic->id=$obj->contactid;
+ $contactstatic->name=$obj->name;
+ $contactstatic->firstname=$obj->firstname;
+ print '
| '.$contactstatic->getNomUrl(1);
+ if ($obj->type == 'email')
+ {
+ if (isValidEmail($obj->email))
+ {
+ print ' <'.$obj->email.'>';
+ }
+ else
+ {
+ $langs->load("errors");
+ print ' '.img_warning().' '.$langs->trans("ErrorBadEMail",$obj->email);
+ }
+ }
+ print ' | ';
+ print '';
+ $label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
+ print $label;
+ print ' | ';
print '';
if ($obj->type == 'email') print $langs->trans("Email");
if ($obj->type == 'sms') print $langs->trans("SMS");
print ' | ';
print ''.img_delete().' | ';
- print '
';
- $i++;
- }
- $db->free($resql);
- }
- else
- {
- dol_print_error($db);
- }
+ print '';
+ $i++;
+ }
+ $db->free($resql);
+ }
+ else
+ {
+ dol_print_error($db);
+ }
- print '
';
- print '
';
+ print '
';
+ print '
';
- // List of notifications done
- print_fiche_titre($langs->trans("ListOfNotificationsDone"),'','');
- $var=true;
+ // List of notifications done
+ print_fiche_titre($langs->trans("ListOfNotificationsDone"),'','');
+ $var=true;
- // Line with titles
- print '';
- print '';
- print_liste_field_titre($langs->trans("Contact"),"fiche.php","c.name",'',"&socid=$socid",'',$sortfield,$sortorder);
- print_liste_field_titre($langs->trans("Action"),"fiche.php","a.titre",'',"&socid=$socid",'',$sortfield,$sortorder);
- print_liste_field_titre($langs->trans("Date"),"fiche.php","a.titre",'',"&socid=$socid",'align="right"',$sortfield,$sortorder);
- print '
';
+ // Line with titles
+ print '';
+ print '';
+ print_liste_field_titre($langs->trans("Contact"),"fiche.php","c.name",'',"&socid=$socid",'',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("Action"),"fiche.php","a.titre",'',"&socid=$socid",'',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("Date"),"fiche.php","a.titre",'',"&socid=$socid",'align="right"',$sortfield,$sortorder);
+ print '
';
- // List
- $sql = "SELECT n.rowid, n.daten, n.email, n.objet_type, n.objet_id,";
- $sql.= " c.rowid as id, c.name, c.firstname, c.email,";
- $sql.= " a.code, a.label";
- $sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,";
- $sql.= " ".MAIN_DB_PREFIX."notify as n, ";
+ // List
+ $sql = "SELECT n.rowid, n.daten, n.email, n.objet_type, n.objet_id,";
+ $sql.= " c.rowid as id, c.name, c.firstname, c.email,";
+ $sql.= " a.code, a.label";
+ $sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,";
+ $sql.= " ".MAIN_DB_PREFIX."notify as n, ";
$sql.= " ".MAIN_DB_PREFIX."socpeople as c";
$sql.= " WHERE a.rowid = n.fk_action";
$sql.= " AND c.rowid = n.fk_contact";
$sql.= " AND c.fk_soc = ".$soc->id;
- $resql=$db->query($sql);
- if ($resql)
- {
- $num = $db->num_rows($resql);
- $i = 0;
+ $resql=$db->query($sql);
+ if ($resql)
+ {
+ $num = $db->num_rows($resql);
+ $i = 0;
- $contactstatic=new Contact($db);
+ $contactstatic=new Contact($db);
- while ($i < $num)
- {
- $var = !$var;
+ while ($i < $num)
+ {
+ $var = !$var;
- $obj = $db->fetch_object($resql);
+ $obj = $db->fetch_object($resql);
- $contactstatic->id=$obj->id;
- $contactstatic->name=$obj->name;
- $contactstatic->firstname=$obj->firstname;
- print '| '.$contactstatic->getNomUrl(1);
- print $obj->email?' <'.$obj->email.'>':$langs->trans("NoMail");
- print ' | ';
- print '';
- $label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
- print $label;
- print ' | ';
- // TODO Add link to object here
- // print
- print''.dol_print_date($db->jdate($obj->daten), 'dayhour').' | ';
- print '
';
- $i++;
- }
- $db->free($resql);
- }
- else
- {
- dol_print_error($db);
- }
+ $contactstatic->id=$obj->id;
+ $contactstatic->name=$obj->name;
+ $contactstatic->firstname=$obj->firstname;
+ print '| '.$contactstatic->getNomUrl(1);
+ print $obj->email?' <'.$obj->email.'>':$langs->trans("NoMail");
+ print ' | ';
+ print '';
+ $label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
+ print $label;
+ print ' | ';
+ // TODO Add link to object here
+ // print
+ print''.dol_print_date($db->jdate($obj->daten), 'dayhour').' | ';
+ print '
';
+ $i++;
+ }
+ $db->free($resql);
+ }
+ else
+ {
+ dol_print_error($db);
+ }
- print '
';
+ print '
';
}
else dol_print_error('','RecordNotFound');