Qual: Factorize duplicate code
This commit is contained in:
parent
f9d4f6de52
commit
fe62f493e0
@ -40,6 +40,8 @@ class Commande extends CommonObject
|
|||||||
var $error;
|
var $error;
|
||||||
var $element='commande';
|
var $element='commande';
|
||||||
var $table_element='commande';
|
var $table_element='commande';
|
||||||
|
var $table_element_line = 'commandedet';
|
||||||
|
var $fk_element = 'fk_commande';
|
||||||
|
|
||||||
var $id ;
|
var $id ;
|
||||||
|
|
||||||
@ -789,129 +791,6 @@ class Commande extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Stocke un numéro de rang pour toutes les lignes de
|
|
||||||
* detail d'une commande qui n'en ont pas.
|
|
||||||
*/
|
|
||||||
function line_order()
|
|
||||||
{
|
|
||||||
$sql = 'SELECT count(rowid) FROM '.MAIN_DB_PREFIX.'commandedet';
|
|
||||||
$sql .= ' WHERE fk_commande='.$this->id;
|
|
||||||
$sql .= ' AND rang = 0';
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$nl = $row[0];
|
|
||||||
}
|
|
||||||
if ($nl > 0)
|
|
||||||
{
|
|
||||||
$sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.'commandedet';
|
|
||||||
$sql .= ' WHERE fk_commande='.$this->id;
|
|
||||||
$sql .= ' ORDER BY rang ASC, rowid ASC';
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$num = $this->db->num_rows($resql);
|
|
||||||
$i = 0;
|
|
||||||
while ($i < $num)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$li[$i] = $row[0];
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for ($i = 0 ; $i < sizeof($li) ; $i++)
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'commandedet SET rang = '.($i+1);
|
|
||||||
$sql .= ' WHERE rowid = '.$li[$i];
|
|
||||||
if (!$this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dolibarr_syslog($this->db->error());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function line_up($rowid)
|
|
||||||
{
|
|
||||||
$this->line_order();
|
|
||||||
|
|
||||||
/* Lecture du rang de la ligne */
|
|
||||||
$sql = 'SELECT rang FROM '.MAIN_DB_PREFIX.'commandedet';
|
|
||||||
$sql .= ' WHERE rowid ='.$rowid;
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$rang = $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($rang > 1 )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'commandedet SET rang = '.$rang ;
|
|
||||||
$sql .= ' WHERE fk_commande = '.$this->id;
|
|
||||||
$sql .= ' AND rang = '.($rang - 1);
|
|
||||||
if ($this->db->query($sql) )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'commandedet SET rang = '.($rang - 1);
|
|
||||||
$sql .= ' WHERE rowid = '.$rowid;
|
|
||||||
if (! $this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function line_down($rowid)
|
|
||||||
{
|
|
||||||
$this->line_order();
|
|
||||||
|
|
||||||
/* Lecture du rang de la ligne */
|
|
||||||
$sql = 'SELECT rang FROM '.MAIN_DB_PREFIX.'commandedet';
|
|
||||||
$sql .= ' WHERE rowid ='.$rowid;
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$rang = $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Lecture du rang max de la facture */
|
|
||||||
$sql = 'SELECT max(rang) FROM '.MAIN_DB_PREFIX.'commandedet';
|
|
||||||
$sql .= ' WHERE fk_commande ='.$this->id;
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$max = $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($rang < $max )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'commandedet SET rang = '.$rang;
|
|
||||||
$sql .= ' WHERE fk_commande = '.$this->id;
|
|
||||||
$sql .= ' AND rang = '.($rang+1);
|
|
||||||
if ($this->db->query($sql) )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'commandedet SET rang = '.($rang+1);
|
|
||||||
$sql .= ' WHERE rowid = '.$rowid;
|
|
||||||
if (! $this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Recupère de la base les caractéristiques d'une commande
|
* \brief Recupère de la base les caractéristiques d'une commande
|
||||||
|
|||||||
@ -145,7 +145,6 @@ class CommonObject
|
|||||||
*/
|
*/
|
||||||
function delete_contact($rowid)
|
function delete_contact($rowid)
|
||||||
{
|
{
|
||||||
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_contact";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_contact";
|
||||||
$sql.= " WHERE rowid =".$rowid;
|
$sql.= " WHERE rowid =".$rowid;
|
||||||
if ($this->db->query($sql))
|
if ($this->db->query($sql))
|
||||||
@ -503,7 +502,7 @@ class CommonObject
|
|||||||
{
|
{
|
||||||
if (! $this->table_element)
|
if (! $this->table_element)
|
||||||
{
|
{
|
||||||
dolibarr_syslog("CommonObject::load_previous_next was called on objet with property table_element not defined");
|
dolibarr_syslog("CommonObject::load_previous_next was called on objet with property table_element not defined",LOG_ERR);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -572,7 +571,7 @@ class CommonObject
|
|||||||
{
|
{
|
||||||
if (! $this->table_element)
|
if (! $this->table_element)
|
||||||
{
|
{
|
||||||
dolibarr_syslog("CommonObject::setProject was called on objet with property table_element not defined");
|
dolibarr_syslog("CommonObject::setProject was called on objet with property table_element not defined",LOG_ERR);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -604,7 +603,7 @@ class CommonObject
|
|||||||
{
|
{
|
||||||
if (! $this->table_element)
|
if (! $this->table_element)
|
||||||
{
|
{
|
||||||
dolibarr_syslog("CommonObject::setDocModel was called on objet with property table_element not defined");
|
dolibarr_syslog("CommonObject::setDocModel was called on objet with property table_element not defined",LOG_ERR);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -627,6 +626,142 @@ class CommonObject
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Stocke un numéro de rang pour toutes les lignes de
|
||||||
|
* detail d'une facture qui n'en ont pas.
|
||||||
|
*/
|
||||||
|
function line_order()
|
||||||
|
{
|
||||||
|
if (! $this->table_element_line)
|
||||||
|
{
|
||||||
|
dolibarr_syslog("CommonObject::line_order was called on objet with property table_element_line not defined",LOG_ERR);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (! $this->fk_element)
|
||||||
|
{
|
||||||
|
dolibarr_syslog("CommonObject::line_order was called on objet with property fk_element not defined",LOG_ERR);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql = 'SELECT count(rowid) FROM '.MAIN_DB_PREFIX.$this->table_element_line;
|
||||||
|
$sql.= ' WHERE '.$this->fk_element.'='.$this->id;
|
||||||
|
$sql.= ' AND rang = 0';
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$row = $this->db->fetch_row($resql);
|
||||||
|
$nl = $row[0];
|
||||||
|
}
|
||||||
|
if ($nl > 0)
|
||||||
|
{
|
||||||
|
$sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.$this->table_element_line;
|
||||||
|
$sql.= ' WHERE '.$this->fk_element.' = '.$this->id;
|
||||||
|
$sql.= ' ORDER BY rang ASC, rowid ASC';
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$num = $this->db->num_rows($resql);
|
||||||
|
$i = 0;
|
||||||
|
while ($i < $num)
|
||||||
|
{
|
||||||
|
$row = $this->db->fetch_row($resql);
|
||||||
|
$li[$i] = $row[0];
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for ($i = 0 ; $i < sizeof($li) ; $i++)
|
||||||
|
{
|
||||||
|
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element_line.' SET rang = '.($i+1);
|
||||||
|
$sql.= ' WHERE rowid = '.$li[$i];
|
||||||
|
if (!$this->db->query($sql) )
|
||||||
|
{
|
||||||
|
dolibarr_syslog($this->db->error());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function line_up($rowid)
|
||||||
|
{
|
||||||
|
$this->line_order();
|
||||||
|
|
||||||
|
/* Lecture du rang de la ligne */
|
||||||
|
$sql = 'SELECT rang FROM '.MAIN_DB_PREFIX.$this->table_element_line;
|
||||||
|
$sql.= ' WHERE rowid ='.$rowid;
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$row = $this->db->fetch_row($resql);
|
||||||
|
$rang = $row[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($rang > 1 )
|
||||||
|
{
|
||||||
|
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element_line.' SET rang = '.$rang ;
|
||||||
|
$sql.= ' WHERE '.$this->fk_element.' = '.$this->id;
|
||||||
|
$sql.= ' AND rang = '.($rang - 1);
|
||||||
|
if ($this->db->query($sql) )
|
||||||
|
{
|
||||||
|
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element_line.' SET rang = '.($rang - 1);
|
||||||
|
$sql.= ' WHERE rowid = '.$rowid;
|
||||||
|
if (! $this->db->query($sql) )
|
||||||
|
{
|
||||||
|
dolibarr_print_error($this->db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dolibarr_print_error($this->db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function line_down($rowid)
|
||||||
|
{
|
||||||
|
$this->line_order();
|
||||||
|
|
||||||
|
/* Lecture du rang de la ligne */
|
||||||
|
$sql = 'SELECT rang FROM '.MAIN_DB_PREFIX.$this->table_element_line;
|
||||||
|
$sql.= ' WHERE rowid ='.$rowid;
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$row = $this->db->fetch_row($resql);
|
||||||
|
$rang = $row[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Lecture du rang max de la facture */
|
||||||
|
$sql = 'SELECT max(rang) FROM '.MAIN_DB_PREFIX.$this->table_element_line;
|
||||||
|
$sql.= ' WHERE '.$this->fk_element.' = '.$this->id;
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$row = $this->db->fetch_row($resql);
|
||||||
|
$max = $row[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($rang < $max)
|
||||||
|
{
|
||||||
|
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element_line.' SET rang = '.$rang;
|
||||||
|
$sql.= ' WHERE '.$this->fk_element.' = '.$this->id;
|
||||||
|
$sql.= ' AND rang = '.($rang+1);
|
||||||
|
if ($this->db->query($sql) )
|
||||||
|
{
|
||||||
|
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element_line.' SET rang = '.($rang+1);
|
||||||
|
$sql.= ' WHERE rowid = '.$rowid;
|
||||||
|
if (! $this->db->query($sql) )
|
||||||
|
{
|
||||||
|
dolibarr_print_error($this->db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dolibarr_print_error($this->db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@ -937,8 +937,9 @@ if ($_GET['action'] == 'up' && $user->rights->facture->creer)
|
|||||||
$outputlangs = new Translate(DOL_DOCUMENT_ROOT ."/langs",$conf);
|
$outputlangs = new Translate(DOL_DOCUMENT_ROOT ."/langs",$conf);
|
||||||
$outputlangs->setDefaultLang($_REQUEST['lang_id']);
|
$outputlangs->setDefaultLang($_REQUEST['lang_id']);
|
||||||
}
|
}
|
||||||
facture_pdf_create($db, $fac->id, '', $fac->modelpdf, $outputlangs);
|
facture_pdf_create($db, $fac->id, '', $fac->modelpdf, $outputlangs);
|
||||||
Header ('Location: '.$_SERVER["PHP_SELF"].'?facid='.$_GET["facid"].'#'.$_GET['rowid']);
|
Header ('Location: '.$_SERVER["PHP_SELF"].'?facid='.$_GET["facid"].'#'.$_GET['rowid']);
|
||||||
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_GET['action'] == 'down' && $user->rights->facture->creer)
|
if ($_GET['action'] == 'down' && $user->rights->facture->creer)
|
||||||
@ -951,8 +952,9 @@ if ($_GET['action'] == 'down' && $user->rights->facture->creer)
|
|||||||
$outputlangs = new Translate(DOL_DOCUMENT_ROOT ."/langs",$conf);
|
$outputlangs = new Translate(DOL_DOCUMENT_ROOT ."/langs",$conf);
|
||||||
$outputlangs->setDefaultLang($_REQUEST['lang_id']);
|
$outputlangs->setDefaultLang($_REQUEST['lang_id']);
|
||||||
}
|
}
|
||||||
facture_pdf_create($db, $fac->id, '', $fac->modelpdf, $outputlangs);
|
facture_pdf_create($db, $fac->id, '', $fac->modelpdf, $outputlangs);
|
||||||
Header ('Location: '.$_SERVER["PHP_SELF"].'?facid='.$_GET["facid"].'#'.$_GET['rowid']);
|
Header ('Location: '.$_SERVER["PHP_SELF"].'?facid='.$_GET["facid"].'#'.$_GET['rowid']);
|
||||||
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -45,6 +45,8 @@ class Facture extends CommonObject
|
|||||||
var $error;
|
var $error;
|
||||||
var $element='facture';
|
var $element='facture';
|
||||||
var $table_element='facture';
|
var $table_element='facture';
|
||||||
|
var $table_element_line = 'facturedet';
|
||||||
|
var $fk_element = 'fk_facture';
|
||||||
|
|
||||||
var $table;
|
var $table;
|
||||||
var $tabledetail;
|
var $tabledetail;
|
||||||
@ -2438,129 +2440,6 @@ class Facture extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Stocke un numéro de rang pour toutes les lignes de
|
|
||||||
* detail d'une facture qui n'en ont pas.
|
|
||||||
*/
|
|
||||||
function line_order()
|
|
||||||
{
|
|
||||||
$sql = 'SELECT count(rowid) FROM '.MAIN_DB_PREFIX.'facturedet';
|
|
||||||
$sql.= ' WHERE fk_facture='.$this->id;
|
|
||||||
$sql.= ' AND rang = 0';
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$nl = $row[0];
|
|
||||||
}
|
|
||||||
if ($nl > 0)
|
|
||||||
{
|
|
||||||
$sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.'facturedet';
|
|
||||||
$sql.= ' WHERE fk_facture='.$this->id;
|
|
||||||
$sql.= ' ORDER BY rang ASC, rowid ASC';
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$num = $this->db->num_rows($resql);
|
|
||||||
$i = 0;
|
|
||||||
while ($i < $num)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$li[$i] = $row[0];
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for ($i = 0 ; $i < sizeof($li) ; $i++)
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facturedet SET rang = '.($i+1);
|
|
||||||
$sql.= ' WHERE rowid = '.$li[$i];
|
|
||||||
if (!$this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dolibarr_syslog($this->db->error());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function line_up($rowid)
|
|
||||||
{
|
|
||||||
$this->line_order();
|
|
||||||
|
|
||||||
/* Lecture du rang de la ligne */
|
|
||||||
$sql = 'SELECT rang FROM '.MAIN_DB_PREFIX.'facturedet';
|
|
||||||
$sql.= ' WHERE rowid ='.$rowid;
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$rang = $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($rang > 1 )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facturedet SET rang = '.$rang ;
|
|
||||||
$sql.= ' WHERE fk_facture = '.$this->id;
|
|
||||||
$sql.= ' AND rang = '.($rang - 1);
|
|
||||||
if ($this->db->query($sql) )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facturedet SET rang = '.($rang - 1);
|
|
||||||
$sql.= ' WHERE rowid = '.$rowid;
|
|
||||||
if (! $this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function line_down($rowid)
|
|
||||||
{
|
|
||||||
$this->line_order();
|
|
||||||
|
|
||||||
/* Lecture du rang de la ligne */
|
|
||||||
$sql = 'SELECT rang FROM '.MAIN_DB_PREFIX.'facturedet';
|
|
||||||
$sql.= ' WHERE rowid ='.$rowid;
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$rang = $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Lecture du rang max de la facture */
|
|
||||||
$sql = 'SELECT max(rang) FROM '.MAIN_DB_PREFIX.'facturedet';
|
|
||||||
$sql.= ' WHERE fk_facture ='.$this->id;
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$max = $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($rang < $max )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facturedet SET rang = '.$rang;
|
|
||||||
$sql.= ' WHERE fk_facture = '.$this->id;
|
|
||||||
$sql.= ' AND rang = '.($rang+1);
|
|
||||||
if ($this->db->query($sql) )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facturedet SET rang = '.($rang+1);
|
|
||||||
$sql.= ' WHERE rowid = '.$rowid;
|
|
||||||
if (! $this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Charge indicateurs this->nbtodo et this->nbtodolate de tableau de bord
|
* \brief Charge indicateurs this->nbtodo et this->nbtodolate de tableau de bord
|
||||||
|
|||||||
@ -36,12 +36,15 @@ require_once(DOL_DOCUMENT_ROOT ."/commonobject.class.php");
|
|||||||
class Fichinter extends CommonObject
|
class Fichinter extends CommonObject
|
||||||
{
|
{
|
||||||
var $db;
|
var $db;
|
||||||
var $element='fichinter';
|
var $element='fichinter';
|
||||||
|
var $table_element='fichinter';
|
||||||
|
var $fk_element='fk_fichinter';
|
||||||
|
var $table_element_line='fichinterdet';
|
||||||
|
|
||||||
var $id;
|
var $id;
|
||||||
|
|
||||||
var $socid; // Id client
|
var $socid; // Id client
|
||||||
var $client; // Objet societe client (a charger par fetch_client)
|
var $client; // Objet societe client (a charger par fetch_client)
|
||||||
|
|
||||||
var $author;
|
var $author;
|
||||||
var $ref;
|
var $ref;
|
||||||
@ -601,129 +604,6 @@ class Fichinter extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Stocke un numero de rang pour toutes les lignes de
|
|
||||||
* detail d'une fiche d'intervention qui n'en ont pas.
|
|
||||||
*/
|
|
||||||
function line_order()
|
|
||||||
{
|
|
||||||
$sql = 'SELECT count(rowid) FROM '.MAIN_DB_PREFIX.'fichinterdet';
|
|
||||||
$sql .= ' WHERE fk_fichinter='.$this->id;
|
|
||||||
$sql .= ' AND rang = 0';
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$nl = $row[0];
|
|
||||||
}
|
|
||||||
if ($nl > 0)
|
|
||||||
{
|
|
||||||
$sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.'fichinterdet';
|
|
||||||
$sql .= ' WHERE fk_fichinter='.$this->id;
|
|
||||||
$sql .= ' ORDER BY rang ASC, rowid ASC';
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$num = $this->db->num_rows($resql);
|
|
||||||
$i = 0;
|
|
||||||
while ($i < $num)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$li[$i] = $row[0];
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for ($i = 0 ; $i < sizeof($li) ; $i++)
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'fichinterdet SET rang = '.($i+1);
|
|
||||||
$sql .= ' WHERE rowid = '.$li[$i];
|
|
||||||
if (!$this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dolibarr_syslog($this->db->error());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function line_up($rowid)
|
|
||||||
{
|
|
||||||
$this->line_order();
|
|
||||||
|
|
||||||
/* Lecture du rang de la ligne */
|
|
||||||
$sql = 'SELECT rang FROM '.MAIN_DB_PREFIX.'fichinterdet';
|
|
||||||
$sql .= ' WHERE rowid ='.$rowid;
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$rang = $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($rang > 1 )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'fichinterdet SET rang = '.$rang ;
|
|
||||||
$sql .= ' WHERE fk_fichinter = '.$this->id;
|
|
||||||
$sql .= ' AND rang = '.($rang - 1);
|
|
||||||
if ($this->db->query($sql) )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'fichinterdet SET rang = '.($rang - 1);
|
|
||||||
$sql .= ' WHERE rowid = '.$rowid;
|
|
||||||
if (! $this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function line_down($rowid)
|
|
||||||
{
|
|
||||||
$this->line_order();
|
|
||||||
|
|
||||||
/* Lecture du rang de la ligne */
|
|
||||||
$sql = 'SELECT rang FROM '.MAIN_DB_PREFIX.'fichinterdet';
|
|
||||||
$sql .= ' WHERE rowid ='.$rowid;
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$rang = $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Lecture du rang max de la propale */
|
|
||||||
$sql = 'SELECT max(rang) FROM '.MAIN_DB_PREFIX.'fichinterdet';
|
|
||||||
$sql .= ' WHERE fk_fichinter ='.$this->id;
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$max = $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($rang < $max )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'fichinterdet SET rang = '.$rang;
|
|
||||||
$sql .= ' WHERE fk_fichinter = '.$this->id;
|
|
||||||
$sql .= ' AND rang = '.($rang+1);
|
|
||||||
if ($this->db->query($sql) )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'fichinterdet SET rang = '.($rang+1);
|
|
||||||
$sql .= ' WHERE rowid = '.$rowid;
|
|
||||||
if (! $this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Initialise la fiche intervention avec valeurs fictives aleatoire
|
* \brief Initialise la fiche intervention avec valeurs fictives aleatoire
|
||||||
|
|||||||
@ -46,11 +46,13 @@ class Propal extends CommonObject
|
|||||||
var $error;
|
var $error;
|
||||||
var $element='propal';
|
var $element='propal';
|
||||||
var $table_element='propal';
|
var $table_element='propal';
|
||||||
|
var $fk_element='fk_propal';
|
||||||
|
var $table_element_line='propaldet';
|
||||||
|
|
||||||
var $id;
|
var $id;
|
||||||
|
|
||||||
var $socid; // Id client
|
var $socid; // Id client
|
||||||
var $client; // Objet societe client (<EFBFBD> charger par fetch_client)
|
var $client; // Objet societe client (a charger par fetch_client)
|
||||||
|
|
||||||
var $contactid;
|
var $contactid;
|
||||||
var $projetidp;
|
var $projetidp;
|
||||||
@ -687,130 +689,6 @@ class Propal extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Stocke un num<EFBFBD>ro de rang pour toutes les lignes de
|
|
||||||
* detail d'une propale qui n'en ont pas.
|
|
||||||
*/
|
|
||||||
function line_order()
|
|
||||||
{
|
|
||||||
$sql = 'SELECT count(rowid) FROM '.MAIN_DB_PREFIX.'propaldet';
|
|
||||||
$sql .= ' WHERE fk_propal='.$this->id;
|
|
||||||
$sql .= ' AND rang = 0';
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$nl = $row[0];
|
|
||||||
}
|
|
||||||
if ($nl > 0)
|
|
||||||
{
|
|
||||||
$sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.'propaldet';
|
|
||||||
$sql .= ' WHERE fk_propal='.$this->id;
|
|
||||||
$sql .= ' ORDER BY rang ASC, rowid ASC';
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$num = $this->db->num_rows($resql);
|
|
||||||
$i = 0;
|
|
||||||
while ($i < $num)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$li[$i] = $row[0];
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for ($i = 0 ; $i < sizeof($li) ; $i++)
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'propaldet SET rang = '.($i+1);
|
|
||||||
$sql .= ' WHERE rowid = '.$li[$i];
|
|
||||||
if (!$this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dolibarr_syslog($this->db->error());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function line_up($rowid)
|
|
||||||
{
|
|
||||||
$this->line_order();
|
|
||||||
|
|
||||||
/* Lecture du rang de la ligne */
|
|
||||||
$sql = 'SELECT rang FROM '.MAIN_DB_PREFIX.'propaldet';
|
|
||||||
$sql .= ' WHERE rowid ='.$rowid;
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$rang = $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($rang > 1 )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'propaldet SET rang = '.$rang ;
|
|
||||||
$sql .= ' WHERE fk_propal = '.$this->id;
|
|
||||||
$sql .= ' AND rang = '.($rang - 1);
|
|
||||||
if ($this->db->query($sql) )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'propaldet SET rang = '.($rang - 1);
|
|
||||||
$sql .= ' WHERE rowid = '.$rowid;
|
|
||||||
if (! $this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function line_down($rowid)
|
|
||||||
{
|
|
||||||
$this->line_order();
|
|
||||||
|
|
||||||
/* Lecture du rang de la ligne */
|
|
||||||
$sql = 'SELECT rang FROM '.MAIN_DB_PREFIX.'propaldet';
|
|
||||||
$sql .= ' WHERE rowid ='.$rowid;
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$rang = $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Lecture du rang max de la propale */
|
|
||||||
$sql = 'SELECT max(rang) FROM '.MAIN_DB_PREFIX.'propaldet';
|
|
||||||
$sql .= ' WHERE fk_propal ='.$this->id;
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$row = $this->db->fetch_row($resql);
|
|
||||||
$max = $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($rang < $max )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'propaldet SET rang = '.$rang;
|
|
||||||
$sql .= ' WHERE fk_propal = '.$this->id;
|
|
||||||
$sql .= ' AND rang = '.($rang+1);
|
|
||||||
if ($this->db->query($sql) )
|
|
||||||
{
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'propaldet SET rang = '.($rang+1);
|
|
||||||
$sql .= ' WHERE rowid = '.$rowid;
|
|
||||||
if (! $this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Recup<EFBFBD>re de la base les caract<EFBFBD>ristiques d'une propale
|
* \brief Recup<EFBFBD>re de la base les caract<EFBFBD>ristiques d'une propale
|
||||||
* \param rowid id de la propal <EFBFBD> r<EFBFBD>cup<EFBFBD>rer
|
* \param rowid id de la propal <EFBFBD> r<EFBFBD>cup<EFBFBD>rer
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user