Fix supplier sepa
This commit is contained in:
parent
2c327aae66
commit
83263cc174
@ -4083,11 +4083,13 @@ class Facture extends CommonInvoice
|
||||
* Create a withdrawal request for a standing order.
|
||||
* Use the remain to pay excluding all existing open direct debit requests.
|
||||
*
|
||||
* @param User $fuser User asking the direct debit transfer
|
||||
* @param float $amount Amount we request direct debit for
|
||||
* @return int <0 if KO, >0 if OK
|
||||
* @param User $fuser User asking the direct debit transfer
|
||||
* @param float $amount Amount we request direct debit for
|
||||
* @param string $type 'direct-debit' or 'bank-transfer'
|
||||
* @param string $source_type Source ('facture' or 'supplier_invoice')
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
public function demande_prelevement($fuser, $amount = 0)
|
||||
public function demande_prelevement($fuser, $amount = 0, $type = 'direct-debit', $source_type = 'facture')
|
||||
{
|
||||
// phpcs:enable
|
||||
|
||||
@ -4103,7 +4105,11 @@ class Facture extends CommonInvoice
|
||||
|
||||
$sql = 'SELECT count(*)';
|
||||
$sql .= ' FROM '.MAIN_DB_PREFIX.'prelevement_facture_demande';
|
||||
$sql .= ' WHERE fk_facture = '.$this->id;
|
||||
if ($type == 'bank-transfer') {
|
||||
$sql .= ' WHERE fk_facture_fourn = '.$this->id;
|
||||
} else {
|
||||
$sql .= ' WHERE fk_facture = '.$this->id;
|
||||
}
|
||||
$sql .= ' AND traite = 0';
|
||||
|
||||
dol_syslog(get_class($this)."::demande_prelevement", LOG_DEBUG);
|
||||
@ -4128,8 +4134,13 @@ class Facture extends CommonInvoice
|
||||
|
||||
if (is_numeric($amount) && $amount != 0)
|
||||
{
|
||||
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'prelevement_facture_demande';
|
||||
$sql .= ' (fk_facture, amount, date_demande, fk_user_demande, code_banque, code_guichet, number, cle_rib)';
|
||||
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'prelevement_facture_demande(';
|
||||
if ($type == 'bank-transfer') {
|
||||
$sql .= 'fk_facture_fourn, ';
|
||||
} else {
|
||||
$sql .= 'fk_facture, ';
|
||||
}
|
||||
$sql .= ' amount, date_demande, fk_user_demande, code_banque, code_guichet, number, cle_rib, source_type)';
|
||||
$sql .= ' VALUES ('.$this->id;
|
||||
$sql .= ",'".price2num($amount)."'";
|
||||
$sql .= ",'".$this->db->idate($now)."'";
|
||||
@ -4137,7 +4148,9 @@ class Facture extends CommonInvoice
|
||||
$sql .= ",'".$bac->code_banque."'";
|
||||
$sql .= ",'".$bac->code_guichet."'";
|
||||
$sql .= ",'".$bac->number."'";
|
||||
$sql .= ",'".$bac->cle_rib."')";
|
||||
$sql .= ",'".$bac->cle_rib."'";
|
||||
$sql .= ",'".$source_type."'";
|
||||
$sql .= ")";
|
||||
|
||||
dol_syslog(get_class($this)."::demande_prelevement", LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
/**
|
||||
* \file htdocs/compta/facture/prelevement.php
|
||||
* \ingroup facture
|
||||
* \brief Management of direct debit order of invoices
|
||||
* \brief Management of direct debit order or credit tranfer of invoices
|
||||
*/
|
||||
|
||||
require '../../main.inc.php';
|
||||
@ -83,7 +83,13 @@ if (empty($reshook))
|
||||
{
|
||||
$db->begin();
|
||||
|
||||
$result = $object->demande_prelevement($user, GETPOST('withdraw_request_amount'));
|
||||
$newtype = $type;
|
||||
$source_type = 'facture';
|
||||
if ($type == 'bank-transfer') {
|
||||
$source_type = 'supplier_invoice';
|
||||
}
|
||||
|
||||
$result = $object->demande_prelevement($user, price2num(GETPOST('withdraw_request_amount'), 'alpha'), $newtype, $source_type);
|
||||
if ($result > 0)
|
||||
{
|
||||
$db->commit();
|
||||
@ -103,7 +109,7 @@ if (empty($reshook))
|
||||
{
|
||||
if ($object->id > 0)
|
||||
{
|
||||
$result = $object->demande_prelevement_delete($user, GETPOST('did'));
|
||||
$result = $object->demande_prelevement_delete($user, GETPOST('did', 'int'));
|
||||
if ($result == 0)
|
||||
{
|
||||
header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id);
|
||||
@ -199,6 +205,7 @@ if ($object->id > 0)
|
||||
$morehtmlref .= '<form method="post" action="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'">';
|
||||
$morehtmlref .= '<input type="hidden" name="action" value="classin">';
|
||||
$morehtmlref .= '<input type="hidden" name="token" value="'.newToken().'">';
|
||||
$morehtmlref .= '<input type="hidden" name="type" value="'.$type.'">';
|
||||
$morehtmlref .= $formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1);
|
||||
$morehtmlref .= '<input type="submit" class="button valignmiddle" value="'.$langs->trans("Modify").'">';
|
||||
$morehtmlref .= '</form>';
|
||||
|
||||
Loading…
Reference in New Issue
Block a user