Fix: Suite et fin correction bug gestion avoirs
This commit is contained in:
parent
b03b4685cf
commit
701e5a5285
@ -31,7 +31,7 @@
|
||||
*/
|
||||
|
||||
require('./pre.inc.php');
|
||||
require_once(DOL_DOCUMENT_ROOT ."/includes/modules/facture/modules_facture.php");
|
||||
require_once(DOL_DOCUMENT_ROOT.'/includes/modules/facture/modules_facture.php');
|
||||
require_once(DOL_DOCUMENT_ROOT.'/facture.class.php');
|
||||
require_once(DOL_DOCUMENT_ROOT.'/discount.class.php');
|
||||
require_once(DOL_DOCUMENT_ROOT.'/paiement.class.php');
|
||||
@ -41,8 +41,7 @@ if ($conf->propal->enabled) require_once(DOL_DOCUMENT_ROOT.'/propal.class.php'
|
||||
if ($conf->contrat->enabled) require_once(DOL_DOCUMENT_ROOT.'/contrat/contrat.class.php');
|
||||
if ($conf->commande->enabled) require_once(DOL_DOCUMENT_ROOT.'/commande/commande.class.php');
|
||||
|
||||
$user->getrights('facture');
|
||||
$user->getrights('banque');
|
||||
$user->getrights();
|
||||
|
||||
if (! $user->rights->facture->lire)
|
||||
accessforbidden();
|
||||
@ -129,6 +128,17 @@ if (($_POST['action'] == 'confirm_deleteproductline' && $_POST['confirm'] == 'ye
|
||||
}
|
||||
}
|
||||
|
||||
// Supprime affectation d'un avoir a la facture
|
||||
if ($_GET['action'] == 'unlinkdiscount')
|
||||
{
|
||||
if ($user->rights->facture->creer)
|
||||
{
|
||||
$discount=new DiscountAbsolute($db);
|
||||
$result=$discount->fetch($_GET["discountid"]);
|
||||
$discount->unlink_invoice();
|
||||
}
|
||||
}
|
||||
|
||||
// Validation
|
||||
if ($_GET['action'] == 'valid')
|
||||
{
|
||||
@ -214,13 +224,11 @@ if ($_POST['action'] == "setabsolutediscount" && $user->rights->facture->creer)
|
||||
$discount = new DiscountAbsolute($db);
|
||||
$discount->fetch($_POST["remise_id_for_payment"]);
|
||||
|
||||
$result=$discount->link_to_invoice(0,$fac->rowid);
|
||||
$result=$discount->link_to_invoice(0,$_GET['facid']);
|
||||
if ($result < 0)
|
||||
{
|
||||
$mesg='<div class="error">'.$discount->error.'</div>';
|
||||
}
|
||||
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -223,15 +223,13 @@ class DiscountAbsolute
|
||||
|
||||
|
||||
/**
|
||||
* \brief Link the discount to a particular invoice line
|
||||
* \brief Link the discount to a particular invoice line or a particular invoice
|
||||
* \param rowidline Invoice line id
|
||||
* \param rowidinvoice Invoice id
|
||||
* \return int <0 ko, >0 ok
|
||||
*/
|
||||
function link_to_invoice($rowidline,$rowidinvoice)
|
||||
{
|
||||
dolibarr_syslog("DiscountAbsolute::link_to_invoice Link discount ".$this->id." to invoice line rowid=".$rowidline." or invoice rowid=".$rowidinvoice);
|
||||
|
||||
// Check parameters
|
||||
if (! $rowidline && ! $rowidinvoice)
|
||||
{
|
||||
@ -249,7 +247,7 @@ class DiscountAbsolute
|
||||
if ($rowidinvoice) $sql.=" SET fk_facture = ".$rowidinvoice;
|
||||
$sql.=" WHERE rowid = ".$this->id;
|
||||
|
||||
dolibarr_syslog("DiscountAbsolute::link_to_invoice sql=".$sql);
|
||||
dolibarr_syslog("DiscountAbsolute::link_to_invoice sql=".$sql,LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
@ -258,12 +256,40 @@ class DiscountAbsolute
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dolibarr_syslog("DiscountAbsolute::link_to_invoice ".$this->error);
|
||||
dolibarr_syslog("DiscountAbsolute::link_to_invoice ".$this->error,LOG_ERR);
|
||||
return -3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \brief Link the discount to a particular invoice line or a particular invoice
|
||||
* \remarks Do not call this if discount is linked to a reconcialiated invoice
|
||||
* \param rowidline Invoice line id
|
||||
* \param rowidinvoice Invoice id
|
||||
* \return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function unlink_invoice()
|
||||
{
|
||||
$sql ="UPDATE ".MAIN_DB_PREFIX."societe_remise_except";
|
||||
$sql.=" SET fk_facture_line = NULL, fk_facture = NULL";
|
||||
$sql.=" WHERE rowid = ".$this->id;
|
||||
|
||||
dolibarr_syslog("DiscountAbsolute::unlink_invoice sql=".$sql,LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dolibarr_syslog("DiscountAbsolute::link_to_invoice ".$this->error,LOG_ERR);
|
||||
return -3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie montant TTC des avoirs en cours disponibles
|
||||
* \param fk_soc Filtre sur une societe
|
||||
|
||||
Loading…
Reference in New Issue
Block a user