FIX part of #4227
This commit is contained in:
parent
6f1ddd3ba4
commit
f4d04b8f26
@ -186,10 +186,13 @@ class FactureRec extends Facture
|
|||||||
/**
|
/**
|
||||||
* Recupere l'objet facture et ses lignes de factures
|
* Recupere l'objet facture et ses lignes de factures
|
||||||
*
|
*
|
||||||
* @param int $rowid Id de la facture a recuperer
|
* @param int $rowid Id of object to load
|
||||||
* @return int >0 si ok, <0 si ko
|
* @param string $ref Reference of invoice
|
||||||
|
* @param string $ref_ext External reference of invoice
|
||||||
|
* @param int $ref_int Internal reference of other object
|
||||||
|
* @return int >0 if OK, <0 if KO, 0 if not found
|
||||||
*/
|
*/
|
||||||
function fetch($rowid)
|
function fetch($rowid, $ref='', $ref_ext='', $ref_int='')
|
||||||
{
|
{
|
||||||
$sql = 'SELECT f.titre,f.fk_soc,f.amount,f.tva,f.total,f.total_ttc,f.remise_percent,f.remise_absolue,f.remise';
|
$sql = 'SELECT f.titre,f.fk_soc,f.amount,f.tva,f.total,f.total_ttc,f.remise_percent,f.remise_absolue,f.remise';
|
||||||
$sql.= ', f.date_lim_reglement as dlr';
|
$sql.= ', f.date_lim_reglement as dlr';
|
||||||
@ -203,8 +206,13 @@ class FactureRec extends Facture
|
|||||||
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as p ON f.fk_mode_reglement = p.id';
|
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as p ON f.fk_mode_reglement = p.id';
|
||||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."element_element as el ON el.fk_target = f.rowid AND el.targettype = 'facture'";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."element_element as el ON el.fk_target = f.rowid AND el.targettype = 'facture'";
|
||||||
$sql.= ' WHERE f.rowid='.$rowid;
|
$sql.= ' WHERE f.rowid='.$rowid;
|
||||||
|
if ($ref) $sql.= " AND f.titre='".$this->db->escape($ref)."'";
|
||||||
dol_syslog("FactureRec::Fetch rowid=".$rowid."", LOG_DEBUG);
|
/* This field are not used for template invoice
|
||||||
|
if ($ref_ext) $sql.= " AND f.ref_ext='".$this->db->escape($ref_ext)."'";
|
||||||
|
if ($ref_int) $sql.= " AND f.ref_int='".$this->db->escape($ref_int)."'";
|
||||||
|
*/
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::fetch rowid=".$rowid, LOG_DEBUG);
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
@ -353,32 +361,49 @@ class FactureRec extends Facture
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete current invoice
|
* Delete template invoice
|
||||||
*
|
*
|
||||||
* @return int <0 if KO, >0 if OK
|
* @param int $rowid Id of invoice to delete. If empty, we delete current instance of invoice
|
||||||
|
* @param int $notrigger 1=Does not execute triggers, 0= execute triggers
|
||||||
|
* @param int $idwarehouse Id warehouse to use for stock change.
|
||||||
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function delete()
|
function delete($rowid=0, $notrigger=0, $idwarehouse=-1)
|
||||||
{
|
{
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."facturedet_rec WHERE fk_facture = ".$this->id;
|
if (empty($rowid)) $rowid=$this->id;
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::delete rowid=".$rowid, LOG_DEBUG);
|
||||||
|
|
||||||
|
$error=0;
|
||||||
|
$this->db->begin();
|
||||||
|
|
||||||
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."facturedet_rec WHERE fk_facture = ".$rowid;
|
||||||
dol_syslog($sql);
|
dol_syslog($sql);
|
||||||
if ($this->db->query($sql))
|
if ($this->db->query($sql))
|
||||||
{
|
{
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."facture_rec WHERE rowid = ".$this->id;
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."facture_rec WHERE rowid = ".$rowid;
|
||||||
dol_syslog($sql);
|
dol_syslog($sql);
|
||||||
if ($this->db->query($sql))
|
if (! $this->db->query($sql))
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
$this->error=$this->db->lasterror();
|
$this->error=$this->db->lasterror();
|
||||||
return -1;
|
$error=-1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->error=$this->db->lasterror();
|
$this->error=$this->db->lasterror();
|
||||||
return -2;
|
$error=-2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$this->db->commit();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->db->rollback();
|
||||||
|
return $error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -544,21 +569,29 @@ class FactureRec extends Facture
|
|||||||
/**
|
/**
|
||||||
* Return clicable name (with picto eventually)
|
* Return clicable name (with picto eventually)
|
||||||
*
|
*
|
||||||
* @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto
|
* @param int $withpicto Add picto into link
|
||||||
* @param string $option Sur quoi pointe le lien ('', 'withdraw')
|
* @param string $option Where point the link
|
||||||
* @return string Chaine avec URL
|
* @param int $max Maxlength of ref
|
||||||
|
* @param int $short 1=Return just URL
|
||||||
|
* @param string $moretitle Add more text to title tooltip
|
||||||
|
* @return string String with URL
|
||||||
*/
|
*/
|
||||||
function getNomUrl($withpicto=0,$option='')
|
function getNomUrl($withpicto=0,$option='',$max=0,$short=0,$moretitle='')
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
|
|
||||||
$result='';
|
$result='';
|
||||||
$label=$langs->trans("ShowInvoice").': '.$this->ref;
|
$label=$langs->trans("ShowInvoice").': '.$this->ref;
|
||||||
|
|
||||||
$link = '<a href="'.DOL_URL_ROOT.'/compta/facture/fiche-rec.php?facid='.$this->id.'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
|
$url = DOL_URL_ROOT.'/compta/facture/fiche-rec.php?facid='.$this->id;
|
||||||
|
|
||||||
|
if ($short) return $url;
|
||||||
|
|
||||||
|
$picto='bill';
|
||||||
|
|
||||||
|
$link = '<a href="'.$url.'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
|
||||||
$linkend='</a>';
|
$linkend='</a>';
|
||||||
|
|
||||||
$picto='bill';
|
|
||||||
|
|
||||||
|
|
||||||
if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend);
|
if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user