Uniformisation du code

This commit is contained in:
Laurent Destailleur 2008-04-24 20:59:29 +00:00
parent a4c3b86d9f
commit 4ef6a9d6ae
17 changed files with 168 additions and 247 deletions

View File

@ -115,7 +115,7 @@ while ($i < GEN_NUMBER_FACTURE && $result >= 0)
$result=$facture->create($user); $result=$facture->create($user);
if ($result >= 0) if ($result >= 0)
{ {
$result=$facture->set_valid($facture->id,$user,$socid); $result=$facture->set_valid($user,$socid);
if ($result) print " OK"; if ($result) print " OK";
else else
{ {

View File

@ -50,11 +50,12 @@ class ActionComm
var $datep; // Date action planifie debut (datep) var $datep; // Date action planifie debut (datep)
var $datef; // Date action planifie fin (datep2) var $datef; // Date action planifie fin (datep2)
var $date; // Date action realise debut (datea)
var $dateend; // Date action realise fin (datea2)
var $durationp = -1; var $durationp = -1;
var $durationa = -1; //var $date; // Date action realise debut (datea) // deprecated
//var $dateend; // Date action realise fin (datea2) // deprecated
var $durationa = -1; // deprecated
var $priority; var $priority;
var $punctual = 1;
var $usertodo; // Object user that must do action var $usertodo; // Object user that must do action
var $userdone; // Object user that did action var $userdone; // Object user that did action
@ -98,6 +99,7 @@ class ActionComm
$this->note=trim($this->note); $this->note=trim($this->note);
if (! $this->percentage) $this->percentage = 0; if (! $this->percentage) $this->percentage = 0;
if (! $this->priority) $this->priority = 0; if (! $this->priority) $this->priority = 0;
if (! $this->punctual) $this->punctual = 0;
if ($this->percentage > 100) $this->percentage = 100; if ($this->percentage > 100) $this->percentage = 100;
if ($this->percentage == 100 && ! $this->dateend) $this->dateend = $this->date; if ($this->percentage == 100 && ! $this->dateend) $this->dateend = $this->date;
if ($this->datep && $this->datef) $this->durationp=($this->datef - $this->datep); if ($this->datep && $this->datef) $this->durationp=($this->datef - $this->datep);
@ -145,7 +147,7 @@ class ActionComm
$sql.= "fk_user_author,"; $sql.= "fk_user_author,";
$sql.= "fk_user_action,"; $sql.= "fk_user_action,";
$sql.= "fk_user_done,"; $sql.= "fk_user_done,";
$sql.= "label,percent,priority,"; $sql.= "label,percent,priority,punctual,";
$sql.= "fk_facture,propalrowid,fk_commande)"; $sql.= "fk_facture,propalrowid,fk_commande)";
$sql.= " VALUES ("; $sql.= " VALUES (";
$sql.= "'".$this->db->idate($now)."',"; $sql.= "'".$this->db->idate($now)."',";
@ -160,7 +162,7 @@ class ActionComm
$sql.= "'".$user->id."',"; $sql.= "'".$user->id."',";
$sql.= ($this->usertodo->id > 0?"'".$this->usertodo->id."'":"null").","; $sql.= ($this->usertodo->id > 0?"'".$this->usertodo->id."'":"null").",";
$sql.= ($this->userdone->id > 0?"'".$this->userdone->id."'":"null").","; $sql.= ($this->userdone->id > 0?"'".$this->userdone->id."'":"null").",";
$sql.= "'".addslashes($this->label)."','".$this->percentage."','".$this->priority."',"; $sql.= "'".addslashes($this->label)."','".$this->percentage."','".$this->priority."','".$this->punctual."',";
$sql.= ($this->facid?$this->facid:"null").","; $sql.= ($this->facid?$this->facid:"null").",";
$sql.= ($this->propalrowid?$this->propalrowid:"null").","; $sql.= ($this->propalrowid?$this->propalrowid:"null").",";
$sql.= ($this->orderrowid?$this->orderrowid:"null"); $sql.= ($this->orderrowid?$this->orderrowid:"null");

View File

@ -17,7 +17,7 @@
*/ */
/** /**
\file htdocs/admin/agenda_actions.php \file htdocs/admin/agenda.php
\ingroup agenda \ingroup agenda
\brief Autocreate actions for agenda module setup page \brief Autocreate actions for agenda module setup page
\version $Id$ \version $Id$
@ -49,6 +49,8 @@ $eventstolog=array(
array('id'=>'BILL_PAYED', 'test'=>$conf->facture->enabled), array('id'=>'BILL_PAYED', 'test'=>$conf->facture->enabled),
array('id'=>'BILL_CANCELED', 'test'=>$conf->facture->enabled), array('id'=>'BILL_CANCELED', 'test'=>$conf->facture->enabled),
array('id'=>'BILL_SENTBYMAIL', 'test'=>$conf->facture->enabled), array('id'=>'BILL_SENTBYMAIL', 'test'=>$conf->facture->enabled),
array('id'=>'ORDER_SUPPLIER_VALIDATE','test'=>$conf->fournisseur->enabled),
array('id'=>'BILL_SUPPLIER_VALIDATE', 'test'=>$conf->fournisseur->enabled),
// array('id'=>'PAYMENT_CUSTOMER_CREATE','test'=>$conf->facture->enabled), // array('id'=>'PAYMENT_CUSTOMER_CREATE','test'=>$conf->facture->enabled),
// array('id'=>'PAYMENT_SUPPLIER_CREATE','test'=>$conf->fournisseur->enabled), // array('id'=>'PAYMENT_SUPPLIER_CREATE','test'=>$conf->fournisseur->enabled),
// array('id'=>'MEMBER_VALIDATE', 'test'=>$conf->adherent->enabled), // array('id'=>'MEMBER_VALIDATE', 'test'=>$conf->adherent->enabled),

View File

@ -624,13 +624,10 @@ if ($_GET["id"])
$html->select_array("contactid", $act->societe->contact_array(), $act->contact->id, 1); $html->select_array("contactid", $act->societe->contact_array(), $act->contact->id, 1);
print '</td></tr>'; print '</td></tr>';
// Priorite print '</table><br><table class="border" width="100%">';
print '<tr><td nowrap>'.$langs->trans("Priority").'</td><td colspan="3">';
print '<input type="text" name="priority" value="'.$act->priority.'" size="5">';
print '</td></tr>';
// Input by // Input by
print '<tr><td nowrap>'.$langs->trans("ActionAskedBy").'</td><td colspan="3">'; print '<tr><td width="30%" nowrap>'.$langs->trans("ActionAskedBy").'</td><td colspan="3">';
print $act->author->getNomUrl(1); print $act->author->getNomUrl(1);
print '</td></tr>'; print '</td></tr>';
@ -644,8 +641,10 @@ if ($_GET["id"])
$html->select_users($act->userdone->id,'doneby',1); $html->select_users($act->userdone->id,'doneby',1);
print '</td></tr>'; print '</td></tr>';
print '</table><br><table class="border" width="100%">';
// Date start // Date start
print '<tr><td nowrap="nowrap">'.$langs->trans("DateActionStart").'</td><td colspan="3">'; print '<tr><td width="30%" nowrap="nowrap">'.$langs->trans("DateActionStart").'</td><td colspan="3">';
if ($_REQUEST["afaire"] == 1) $html->select_date($act->datep,'ap',1,1,0,"action"); if ($_REQUEST["afaire"] == 1) $html->select_date($act->datep,'ap',1,1,0,"action");
else if ($_REQUEST["afaire"] == 2) $html->select_date($act->datep,'ap',1,1,1,"action"); else if ($_REQUEST["afaire"] == 2) $html->select_date($act->datep,'ap',1,1,1,"action");
else $html->select_date($act->datep,'ap',1,1,1,"action"); else $html->select_date($act->datep,'ap',1,1,1,"action");
@ -659,6 +658,11 @@ if ($_GET["id"])
if ($act->percentage > 0 && $act->percentage < 100 && $act->datef && $act->datef < (time() - $conf->global->MAIN_DELAY_ACTIONS_TODO)) print img_warning($langs->trans("Late")); if ($act->percentage > 0 && $act->percentage < 100 && $act->datef && $act->datef < (time() - $conf->global->MAIN_DELAY_ACTIONS_TODO)) print img_warning($langs->trans("Late"));
print '</td></tr>'; print '</td></tr>';
// Priorite
print '<tr><td nowrap>'.$langs->trans("Priority").'</td><td colspan="3">';
print '<input type="text" name="priority" value="'.$act->priority.'" size="5">';
print '</td></tr>';
// Status // Status
print '<tr><td nowrap>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="3"><input name="percentage" value="'.(isset($_REQUEST["percentage"])?$_REQUEST["percentage"]:$act->percentage).'" size="4">%</td></tr>'; print '<tr><td nowrap>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="3"><input name="percentage" value="'.(isset($_REQUEST["percentage"])?$_REQUEST["percentage"]:$act->percentage).'" size="4">%</td></tr>';
@ -675,7 +679,7 @@ if ($_GET["id"])
{ {
// Editeur wysiwyg // Editeur wysiwyg
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
$doleditor=new DolEditor('note',$act->note,280,'dolibarr_notes','In',true); $doleditor=new DolEditor('note',$act->note,240,'dolibarr_notes','In',true);
$doleditor->Create(); $doleditor->Create();
} }
else else
@ -720,13 +724,10 @@ if ($_GET["id"])
print '</td></tr>'; print '</td></tr>';
// Priorite print '</table><br><table class="border" width="100%">';
print '<tr><td nowrap>'.$langs->trans("Priority").'</td><td colspan="3">';
print $act->priority;
print '</td></tr>';
// Input by // Input by
print '<tr><td nowrap>'.$langs->trans("ActionAskedBy").'</td><td colspan="3">'; print '<tr><td width="30%" nowrap>'.$langs->trans("ActionAskedBy").'</td><td colspan="3">';
print $act->author->getNomUrl(1); print $act->author->getNomUrl(1);
print '</td></tr>'; print '</td></tr>';
@ -740,8 +741,10 @@ if ($_GET["id"])
if ($act->userdone->id > 0) print $act->userdone->getNomUrl(1); if ($act->userdone->id > 0) print $act->userdone->getNomUrl(1);
print '</td></tr>'; print '</td></tr>';
print '</table><br><table class="border" width="100%">';
// Date debut // Date debut
print '<tr><td>'.$langs->trans("DateActionStart").'</td><td colspan="3">'; print '<tr><td width="30%">'.$langs->trans("DateActionStart").'</td><td colspan="3">';
print dolibarr_print_date($act->datep,'dayhour'); print dolibarr_print_date($act->datep,'dayhour');
if ($act->percentage == 0 && $act->datep && $act->datep < (time() - $conf->global->MAIN_DELAY_ACTIONS_TODO)) print img_warning($langs->trans("Late")); if ($act->percentage == 0 && $act->datep && $act->datep < (time() - $conf->global->MAIN_DELAY_ACTIONS_TODO)) print img_warning($langs->trans("Late"));
print '</td></tr>'; print '</td></tr>';
@ -752,6 +755,11 @@ if ($_GET["id"])
if ($act->percentage > 0 && $act->percentage < 100 && $act->datef && $act->datef < (time() - $conf->global->MAIN_DELAY_ACTIONS_TODO)) print img_warning($langs->trans("Late")); if ($act->percentage > 0 && $act->percentage < 100 && $act->datef && $act->datef < (time() - $conf->global->MAIN_DELAY_ACTIONS_TODO)) print img_warning($langs->trans("Late"));
print '</td></tr>'; print '</td></tr>';
// Priorite
print '<tr><td nowrap>'.$langs->trans("Priority").'</td><td colspan="3">';
print $act->priority;
print '</td></tr>';
// Statut // Statut
print '<tr><td nowrap>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="3">'; print '<tr><td nowrap>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="3">';
print $act->getLibStatut(4); print $act->getLibStatut(4);

View File

@ -469,7 +469,7 @@ if ($_GET['action'] == 'modif' && $user->rights->propale->creer)
*/ */
$propal = new Propal($db); $propal = new Propal($db);
$propal->fetch($_GET['propalid']); $propal->fetch($_GET['propalid']);
$propal->set_draft($user->id); $propal->set_draft($user);
} }
if ($_POST['action'] == "setabsolutediscount" && $user->rights->propale->creer) if ($_POST['action'] == "setabsolutediscount" && $user->rights->propale->creer)
@ -1703,53 +1703,10 @@ if ($_GET['propalid'] > 0)
print '</td><td valign="top" width="50%">'; print '</td><td valign="top" width="50%">';
/* // List of actions on element
* Liste des actions propres a la propal include_once(DOL_DOCUMENT_ROOT.'/html.formactions.class.php');
*/ $formactions=new FormActions($db);
if ($conf->agenda->enabled && $user->rights->agenda->myactions->create) $somethingshown=$formactions->showactions($propal,'propal',$socid);
{
$sql = 'SELECT id, '.$db->pdate('a.datea'). ' as da, label, note, fk_user_author' ;
$sql .= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a';
$sql .= ' WHERE a.propalrowid = '.$propal->id ;
if ($socid) $sql .= ' AND a.fk_soc = '.$socid;
$resql = $db->query($sql);
if ($resql)
{
$num = $db->num_rows($resql);
if ($num)
{
print_titre($langs->trans('ActionsOnPropal'));
$i = 0;
$total = 0;
$var=true;
print '<table class="border" width="100%">';
print '<tr '.$bc[$var].'><td>'.$langs->trans('Ref').'</td><td>'.$langs->trans('Date').'</td><td>'.$langs->trans('Action').'</td><td>'.$langs->trans('By').'</td></tr>';
print "\n";
while ($i < $num)
{
$objp = $db->fetch_object($resql);
$var=!$var;
print '<tr '.$bc[$var].'>';
print '<td><a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?id='.$objp->id.'">'.img_object($langs->trans('ShowTask'),'task').' '.$objp->id.'</a></td>';
print '<td>'.dolibarr_print_date($objp->da)."</td>\n";
print '<td>'.stripslashes($objp->label).'</td>';
$authoract = new User($db);
$authoract->id = $objp->fk_user_author;
$authoract->fetch('');
print '<td>'.$authoract->login.'</td>';
print "</tr>\n";
$i++;
}
print '</table>';
}
}
else
{
dolibarr_print_error($db);
}
}
print '</td></tr></table>'; print '</td></tr></table>';

View File

@ -317,16 +317,17 @@ class Commande extends CommonObject
return -1; return -1;
} }
/** /**
* * \brief Set draft status
* * \param user Object user that modify
*/ * \param int <0 if KO, >0 if OK
function set_draft($user) */
{ function set_draft($user)
global $conf; {
global $conf,$langs;
$sql = "UPDATE ".MAIN_DB_PREFIX."commande SET fk_statut = 0"; $sql = "UPDATE ".MAIN_DB_PREFIX."commande SET fk_statut = 0";
$sql .= " WHERE rowid = $this->id;"; $sql .= " WHERE rowid = ".$this->id;
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {

View File

@ -444,19 +444,19 @@ if ($_POST['action'] == 'updateligne' && $user->rights->commande->creer && $_POS
if ($_REQUEST['action'] == 'confirm_validate' && $_REQUEST['confirm'] == 'yes' && $user->rights->commande->valider) if ($_REQUEST['action'] == 'confirm_validate' && $_REQUEST['confirm'] == 'yes' && $user->rights->commande->valider)
{ {
$commande = new Commande($db); $commande = new Commande($db);
$commande->fetch($_GET['id']); $commande->fetch($_GET['id']);
$soc = new Societe($db);
$soc->fetch($commande->socid); $result=$commande->valid($user);
if ($_REQUEST['lang_id']) if ($result >= 0)
{ {
$outputlangs = new Translate("",$conf); if ($_REQUEST['lang_id'])
$outputlangs->setDefaultLang($_REQUEST['lang_id']); {
$outputlangs = new Translate("",$conf);
$outputlangs->setDefaultLang($_REQUEST['lang_id']);
}
commande_pdf_create($db, $commande->id, $commande->modelpdf, $outputlangs);
} }
commande_pdf_create($db, $commande->id, $commande->modelpdf, $outputlangs);
$result=$commande->valid($user);
Header ('Location: '.$_SERVER["PHP_SELF"].'?id='.$_GET['id']);
exit;
} }
if ($_REQUEST['action'] == 'confirm_close' && $_REQUEST['confirm'] == 'yes' && $user->rights->commande->creer) if ($_REQUEST['action'] == 'confirm_close' && $_REQUEST['confirm'] == 'yes' && $user->rights->commande->creer)
@ -615,22 +615,16 @@ if ($_POST['action'] == 'send')
if ($_POST['action'] == 'send') if ($_POST['action'] == 'send')
{ {
$subject = $_POST['subject']; if (strlen($_POST['subject'])) $subject=$_POST['subject'];
else $subject = $langs->transnoentities('Order').' '.$commande->ref;
if($subject == '')
{
$subject = $langs->transnoentities('Order').' '.$commande->ref;
}
$actiontypecode='AC_COM'; $actiontypecode='AC_COM';
$actionmsg = $langs->transnoentities('MailSentBy').' '.$from.' '.$langs->transnoentities('To').' '.$sendto.".\n"; $actionmsg = $langs->transnoentities('MailSentBy').' '.$from.' '.$langs->transnoentities('To').' '.$sendto.".\n";
if ($message) if ($message)
{ {
$actionmsg.=$langs->transnoentities('MailTopic').": ".$subject."\n";
$actionmsg.=$langs->transnoentities('TextUsedInTheMessageBody').":\n"; $actionmsg.=$langs->transnoentities('TextUsedInTheMessageBody').":\n";
$actionmsg.=$message; $actionmsg.=$message;
} }
$actionmsg2=$langs->transnoentities('Action'.$actiontypecode); $actionmsg2=$langs->transnoentities('Action'.$actiontypecode);
} }
@ -1864,54 +1858,10 @@ else
} }
print '</td><td valign="top" width="50%">'; print '</td><td valign="top" width="50%">';
/* // List of actions on element
* Liste des actions propres a la commande include_once(DOL_DOCUMENT_ROOT.'/html.formactions.class.php');
*/ $formactions=new FormActions($db);
if ($conf->agenda->enabled && $user->rights->agenda->myactions->create) $somethingshown=$formactions->showactions($commande,'order',$socid);
{
$sql = 'SELECT id, '.$db->pdate('a.datea'). ' as da, label, note, fk_user_author' ;
$sql .= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a';
$sql .= ' WHERE a.fk_commande = '.$commande->id ;
if ($socid) $sql .= ' AND a.fk_soc = '.$socid;
$resql = $db->query($sql);
if ($resql)
{
$num = $db->num_rows($resql);
if ($num)
{
//print '<br>';
print_titre($langs->trans('ActionsOnOrder'));
$i = 0;
$total = 0;
$var=true;
print '<table class="border" width="100%">';
print '<tr '.$bc[$var].'><td>'.$langs->trans('Ref').'</td><td>'.$langs->trans('Date').'</td><td>'.$langs->trans('Action').'</td><td>'.$langs->trans('By').'</td></tr>';
print "\n";
while ($i < $num)
{
$objp = $db->fetch_object($resql);
$var=!$var;
print '<tr '.$bc[$var].'>';
print '<td><a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?id='.$objp->id.'">'.img_object($langs->trans('ShowTask'),'task').' '.$objp->id.'</a></td>';
print '<td>'.dolibarr_print_date($objp->da,'day')."</td>\n";
print '<td>'.stripslashes($objp->label).'</td>';
$authoract = new User($db);
$authoract->id = $objp->fk_user_author;
$authoract->fetch('');
print '<td>'.$authoract->login.'</td>';
print "</tr>\n";
$i++;
}
print '</table>';
}
}
else
{
dolibarr_print_error($db);
}
}
print '</td></tr></table>'; print '</td></tr></table>';

View File

@ -239,7 +239,7 @@ if ($_POST['action'] == 'confirm_valid' && $_POST['confirm'] == 'yes' && $user->
$fac->fetch($_GET['facid']); $fac->fetch($_GET['facid']);
$fac->fetch_client(); $fac->fetch_client();
$result = $fac->set_valid($fac->id, $user); $result = $fac->set_valid($user);
if ($result >= 0) if ($result >= 0)
{ {
if ($_REQUEST['lang_id']) if ($_REQUEST['lang_id'])
@ -2954,54 +2954,11 @@ else
print '</td><td valign="top" width="50%">'; print '</td><td valign="top" width="50%">';
/* // List of actions on element
* Liste des actions propres à la facture include_once(DOL_DOCUMENT_ROOT.'/html.formactions.class.php');
* Action 9 and 10 are implicits actions. Do not protect this section according $formactions=new FormActions($db);
* to agenda module permissions. $somethingshown=$formactions->showactions($fac,'invoice',$socid);
*/
$sql = 'SELECT a.id, '.$db->pdate('a.datea').' as da, a.label, a.note,';
$sql.= ' u.login';
$sql.= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a, '.MAIN_DB_PREFIX.'user as u';
$sql.= ' WHERE a.fk_user_author = u.rowid';
$sql.= ' AND a.fk_action in (9,10)';
$sql.= ' AND a.fk_soc = '.$fac->socid ;
$sql.= ' AND a.fk_facture = '.$fac->id;
dolibarr_syslog("compta/facture.php sql=".$sql);
$resql = $db->query($sql);
if ($resql)
{
$num = $db->num_rows($resql);
if ($num)
{
print '<br>';
print_titre($langs->trans('ActionsOnBill'));
$i = 0; $total = 0;
print '<table class="border" width="100%">';
print '<tr '.$bc[$var].'><td>'.$langs->trans('Ref').'</td><td>'.$langs->trans('Date').'</td><td>'.$langs->trans('Action').'</td><td>'.$langs->trans('By').'</td></tr>';
print "\n";
$var=True;
while ($i < $num)
{
$objp = $db->fetch_object($resql);
$var=!$var;
print '<tr '.$bc[$var].'>';
print '<td><a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?id='.$objp->id.'">'.img_object($langs->trans('ShowTask'),'task').' '.$objp->id.'</a></td>';
print '<td>'.dolibarr_print_date($objp->da,'day').'</td>';
print '<td>'.$objp->label.'</td>';
print '<td>'.$objp->login.'</td>';
print '</tr>';
$i++;
}
print '</table>';
}
}
else
{
dolibarr_print_error($db);
}
print '</td></tr></table>'; print '</td></tr></table>';

View File

@ -987,13 +987,12 @@ class Facture extends CommonObject
/** /**
* \brief Tag la facture comme validée + appel trigger BILL_VALIDATE * \brief Tag la facture comme validée + appel trigger BILL_VALIDATE
* \param rowid Id de la facture à valider
* \param user Utilisateur qui valide la facture * \param user Utilisateur qui valide la facture
* \param soc Ne sert plus \\TODO A virer * \param soc Ne sert plus \\TODO A virer
* \param force_number Référence à forcer de la facture * \param force_number Référence à forcer de la facture
* \return int <0 si ko, >0 si ok * \return int <0 si ko, >0 si ok
*/ */
function set_valid($rowid, $user, $soc='', $force_number='') function set_valid($user, $soc='', $force_number='')
{ {
global $conf,$langs; global $conf,$langs;
@ -1027,7 +1026,7 @@ class Facture extends CommonObject
// Controle que facture source non deja remplacee par une autre // Controle que facture source non deja remplacee par une autre
$idreplacement=$facreplaced->getIdReplacingInvoice('validated'); $idreplacement=$facreplaced->getIdReplacingInvoice('validated');
if ($idreplacement && $idreplacement != $rowid) if ($idreplacement && $idreplacement != $this->id)
{ {
$facreplacement=new Facture($this->db); $facreplacement=new Facture($this->db);
$facreplacement->fetch($idreplacement); $facreplacement->fetch($idreplacement);
@ -1075,7 +1074,7 @@ class Facture extends CommonObject
$sql.= ', datef='.$this->db->idate($this->date); $sql.= ', datef='.$this->db->idate($this->date);
$sql.= ', date_lim_reglement='.$this->db->idate($datelim); $sql.= ', date_lim_reglement='.$this->db->idate($datelim);
} }
$sql.= ' WHERE rowid = '.$rowid; $sql.= ' WHERE rowid = '.$this->id;
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
{ {
@ -1192,15 +1191,17 @@ class Facture extends CommonObject
/** /**
* \brief Set draft status * \brief Set draft status
* \param userid Id user setting * \param user Object user that modify
* \param int <0 if KO, >0 if OK
*/ */
function set_draft($userid) function set_draft($user)
{ {
dolibarr_syslog("Facture::set_draft rowid=".$this->id, LOG_DEBUG); global $conf,$langs;
$sql = "UPDATE ".MAIN_DB_PREFIX."facture SET fk_statut = 0"; $sql = "UPDATE ".MAIN_DB_PREFIX."facture SET fk_statut = 0";
$sql.= " WHERE rowid = ".$this->id; $sql.= " WHERE rowid = ".$this->id;
dolibarr_syslog("Facture::set_draft sql=".$sql, LOG_DEBUG);
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
return 1; return 1;

View File

@ -217,17 +217,19 @@ if ($_POST['action'] == 'confirm_deleteproductline' && $_POST['confirm'] == 'yes
if ($_POST['action'] == 'confirm_valid' && $_POST['confirm'] == 'yes' && $user->rights->fournisseur->commande->valider) if ($_POST['action'] == 'confirm_valid' && $_POST['confirm'] == 'yes' && $user->rights->fournisseur->commande->valider)
{ {
$commande = new CommandeFournisseur($db); $commande = new CommandeFournisseur($db);
$commande->fetch($_GET['id']); $commande->fetch($_GET['id']);
$soc = new Societe($db);
$soc->fetch($commande->socid); $result = $commande->valid($user);
$result = $commande->valid($user); if ($result >= 0)
if ($result >= 0) {
{ if ($_REQUEST['lang_id'])
supplier_order_pdf_create($db, $commande->id, $commande->modelpdf, $outputlangs); {
Header("Location: fiche.php?id=".$_GET["id"]); $outputlangs = new Translate("",$conf);
exit; $outputlangs->setDefaultLang($_REQUEST['lang_id']);
} }
supplier_order_pdf_create($db, $commande->id, $commande->modelpdf, $outputlangs);
}
} }
if ($_POST['action'] == 'confirm_approve' && $_POST["confirm"] == 'yes' && $user->rights->fournisseur->commande->approuver) if ($_POST['action'] == 'confirm_approve' && $_POST["confirm"] == 'yes' && $user->rights->fournisseur->commande->approuver)
@ -235,11 +237,6 @@ if ($_POST['action'] == 'confirm_approve' && $_POST["confirm"] == 'yes' && $user
$commande = new CommandeFournisseur($db); $commande = new CommandeFournisseur($db);
$commande->fetch($_GET['id']); $commande->fetch($_GET['id']);
$result = $commande->approve($user); $result = $commande->approve($user);
if ($result >= 0)
{
Header("Location: fiche.php?id=".$_GET["id"]);
exit;
}
} }
if ($_POST['action'] == 'confirm_refuse' && $_POST['confirm'] == 'yes' && $user->rights->fournisseur->commande->approuver) if ($_POST['action'] == 'confirm_refuse' && $_POST['confirm'] == 'yes' && $user->rights->fournisseur->commande->approuver)
@ -247,11 +244,6 @@ if ($_POST['action'] == 'confirm_refuse' && $_POST['confirm'] == 'yes' && $user-
$commande = new CommandeFournisseur($db); $commande = new CommandeFournisseur($db);
$commande->fetch($_GET['id']); $commande->fetch($_GET['id']);
$result = $commande->refuse($user); $result = $commande->refuse($user);
if ($result >= 0)
{
Header("Location: fiche.php?id=".$_GET["id"]);
exit;
}
} }
if ($_POST['action'] == 'confirm_commande' && $_POST['confirm'] == 'yes' && $user->rights->fournisseur->commande->commander) if ($_POST['action'] == 'confirm_commande' && $_POST['confirm'] == 'yes' && $user->rights->fournisseur->commande->commander)
@ -259,8 +251,6 @@ if ($_POST['action'] == 'confirm_commande' && $_POST['confirm'] == 'yes' && $use
$commande = new CommandeFournisseur($db); $commande = new CommandeFournisseur($db);
$commande->fetch($_GET["id"]); $commande->fetch($_GET["id"]);
$result = $commande->commande($user, $_GET["datecommande"], $_GET["methode"]); $result = $commande->commande($user, $_GET["datecommande"], $_GET["methode"]);
Header("Location: fiche.php?id=".$_GET["id"]);
exit;
} }

View File

@ -41,7 +41,7 @@ $langs->load('bills');
$langs->load('suppliers'); $langs->load('suppliers');
$langs->load('companies'); $langs->load('companies');
// S<EFBFBD>curit<EFBFBD> acc<63>s client // Security check
if ($user->societe_id > 0) if ($user->societe_id > 0)
{ {
$action = ''; $action = '';
@ -57,9 +57,7 @@ if ($_POST['action'] == 'confirm_valid' && $_POST['confirm'] == 'yes' && $user->
{ {
$facturefourn=new FactureFournisseur($db); $facturefourn=new FactureFournisseur($db);
$facturefourn->fetch($_GET['facid']); $facturefourn->fetch($_GET['facid']);
$facturefourn->set_valid($user); $result = $facturefourn->set_valid($user);
Header('Location: fiche.php?facid='.$_GET['facid']);
exit;
} }
if ($_POST['action'] == 'confirm_delete' && $_POST['confirm'] == 'yes') if ($_POST['action'] == 'confirm_delete' && $_POST['confirm'] == 'yes')

View File

@ -82,6 +82,7 @@ class CommandeFournisseur extends Commande
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_methode_commande_fournisseur as cm ON cm.rowid = c.fk_methode_commande"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_methode_commande_fournisseur as cm ON cm.rowid = c.fk_methode_commande";
$sql .= " WHERE c.rowid = ".$id; $sql .= " WHERE c.rowid = ".$id;
dolibarr_syslog("CommandeFournisseur::fetch sql=".$sql,LOG_DEBUG);
$resql = $this->db->query($sql) ; $resql = $this->db->query($sql) ;
if ($resql) if ($resql)
{ {

View File

@ -382,17 +382,34 @@ class FactureFournisseur extends Facture
*/ */
function set_valid($user) function set_valid($user)
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn"; global $conf,$langs;
$this->db->begin();
$sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn";
$sql.= " SET fk_statut = 1, fk_user_valid = ".$user->id; $sql.= " SET fk_statut = 1, fk_user_valid = ".$user->id;
$sql.= " WHERE rowid = ".$this->id; $sql.= " WHERE rowid = ".$this->id;
dolibarr_syslog("FactureFournisseur::set_valid sql=".$sql,LOG_DEBUG);
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
if (! $resql) if ($resql)
{
// Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('BILL_SUPPLIER_VALIDATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// Fin appel triggers
$this->db->commit();
return 1;
}
else
{ {
$this->error=$this->db->error(); $this->error=$this->db->error();
dolibarr_print_error($this->db); $this->db->rollback();
return -1; return -1;
} }
return 1;
} }

View File

@ -289,8 +289,38 @@ class InterfaceActionsAuto
$object->orderrowid=$object->propalrowid=0; $object->orderrowid=$object->propalrowid=0;
$ok=1; $ok=1;
} }
elseif ($action == 'ORDER_SUPPLIER_VALIDATE')
{
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);
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
$object->sendtoid=0;
$object->orderrowid=0; // Supplier order not yet supported
$object->propalrowid=$object->facid=0;
$ok=1;
}
elseif ($action == 'BILL_SUPPLIER_VALIDATE')
{
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);
$object->actionmsg=$langs->transnoentities("InvoiceValidatedInDolibarr",$object->ref);
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
$object->sendtoid=0;
$object->facid=0; // Supplier invoice not yet supported
$object->orderrowid=$object->propalrowid=0;
$ok=1;
}
// If not found // If not found
@ -305,6 +335,8 @@ class InterfaceActionsAuto
// Add entry in event table // Add entry in event table
if ($ok) if ($ok)
{ {
$now=time();
// Insertion action // Insertion action
require_once(DOL_DOCUMENT_ROOT.'/contact.class.php'); require_once(DOL_DOCUMENT_ROOT.'/contact.class.php');
require_once(DOL_DOCUMENT_ROOT.'/actioncomm.class.php'); require_once(DOL_DOCUMENT_ROOT.'/actioncomm.class.php');
@ -312,7 +344,10 @@ class InterfaceActionsAuto
$actioncomm->type_code = $object->actiontypecode; $actioncomm->type_code = $object->actiontypecode;
$actioncomm->label = $object->actionmsg2; $actioncomm->label = $object->actionmsg2;
$actioncomm->note = $object->actionmsg; $actioncomm->note = $object->actionmsg;
$actioncomm->date = time(); // L'action est faite maintenant $actioncomm->datep = $now;
$actioncomm->datef = $now;
$actioncomm->durationp = 0;
$actioncomm->punctual = 1;
$actioncomm->percentage = 100; $actioncomm->percentage = 100;
$actioncomm->contact = new Contact($this->db,$object->sendtoid); $actioncomm->contact = new Contact($this->db,$object->sendtoid);
$actioncomm->societe = new Societe($this->db,$object->socid); $actioncomm->societe = new Societe($this->db,$object->socid);
@ -331,7 +366,7 @@ class InterfaceActionsAuto
$error ="Failed to insert : ".$actioncomm->error." "; $error ="Failed to insert : ".$actioncomm->error." ";
$this->error=$error; $this->error=$error;
//dolibarr_syslog("interface_webcal.class.php: ".$this->error); dolibarr_syslog("interface_modAgenda_ActionsAuto.class.php: ".$this->error);
return -1; return -1;
} }
} }

View File

@ -1130,23 +1130,25 @@ class Propal extends CommonObject
} }
/** /**
* * \brief Set draft status
* * \param user Object user that modify
*/ * \param int <0 if KO, >0 if OK
function set_draft($userid) */
function set_draft($user)
{ {
global $conf,$langs;
$sql = "UPDATE ".MAIN_DB_PREFIX."propal SET fk_statut = 0"; $sql = "UPDATE ".MAIN_DB_PREFIX."propal SET fk_statut = 0";
$sql.= " WHERE rowid = ".$this->id;
$sql .= " WHERE rowid = $this->id;"; if ($this->db->query($sql))
if ($this->db->query($sql) )
{ {
return 1; return 1;
} }
else else
{ {
dolibarr_print_error($this->db); return -1;
} }
} }

View File

@ -678,7 +678,7 @@ class FacturationEmission {
$y = substr($year, -1); $y = substr($year, -1);
$m = substr("00".$month, -2); $m = substr("00".$month, -2);
if ( $fac->set_valid($facid, $user, $soc) ) if ( $fac->set_valid($user, $soc) )
{ {
$valid_ok = 1; $valid_ok = 1;
} }

View File

@ -664,12 +664,12 @@ function facture_contrat($db, $user, $contrat_id, $factel_ids, $datetime, &$fact
if (!$error && !$cancel_facture) if (!$error && !$cancel_facture)
{ {
if ($verbose) dolibarr_syslog("Validation de la facture : $facid"); if ($verbose) dolibarr_syslog("Validation de la facture : $fac->id");
$y = substr($year, -1); $y = substr($year, -1);
$m = substr("00".$month, -2); $m = substr("00".$month, -2);
if ( $fac->set_valid($facid, $user, $soc) ) if ( $fac->set_valid($user, $soc) )
{ {
$valid_ok = 1; $valid_ok = 1;
} }