diff --git a/htdocs/compta/prelevement/card.php b/htdocs/compta/prelevement/card.php
old mode 100644
new mode 100755
index 00bcd088e27..959fc7f161d
--- a/htdocs/compta/prelevement/card.php
+++ b/htdocs/compta/prelevement/card.php
@@ -225,7 +225,7 @@ if ($id > 0 || $ref)
print '
';
$acc = new Account($db);
- $result = $acc->fetch($conf->global->PRELEVEMENT_ID_BANKACCOUNT);
+ $result = $acc->fetch(($object->type == 'bank-transfer' ? $conf->global->PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT : $conf->global->PRELEVEMENT_ID_BANKACCOUNT));
print '| ';
$labelofbankfield = "BankToReceiveWithdraw";
@@ -404,7 +404,7 @@ if ($id > 0 || $ref)
print " | ";
print $ligne->LibStatut($obj->statut, 2);
print " ";
- print '';
+ print '';
print sprintf("%06s", $obj->rowid);
print ' | ';
@@ -430,7 +430,7 @@ if ($id > 0 || $ref)
if ($user->rights->prelevement->bons->credit)
{
//print ''.$langs->trans("StandingOrderReject").'';
- print ''.$langs->trans("StandingOrderReject").'';
+ print ''.$langs->trans("StandingOrderReject").'';
}
else
{
diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php
old mode 100644
new mode 100755
index b1e7e29a698..483df326566
--- a/htdocs/compta/prelevement/class/bonprelevement.class.php
+++ b/htdocs/compta/prelevement/class/bonprelevement.class.php
@@ -469,7 +469,7 @@ class BonPrelevement extends CommonObject
$message = $langs->trans("InfoCreditMessage", $this->ref, dol_print_date($date, 'dayhour'));
//Add payment of withdrawal into bank
- $bankaccount = $conf->global->PRELEVEMENT_ID_BANKACCOUNT;
+ $bankaccount = ($this->type == 'bank-transfer' ? $conf->global->PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT : $conf->global->PRELEVEMENT_ID_BANKACCOUNT);
$facs = array();
$amounts = array();
$amountsperthirdparty = array();
@@ -1766,7 +1766,7 @@ class BonPrelevement extends CommonObject
fputs($this->file, ' '.$CrLf);
fputs($this->file, ' '.$CrLf);
fputs($this->file, ' '.$CrLf);
- fputs($this->file, ' '.$conf->global->PRELEVEMENT_ICS.''.$CrLf);
+ fputs($this->file, ' '.$conf->global->PAYMENTBYBANKTRANSFER_ICS.''.$CrLf);
fputs($this->file, ' '.$CrLf);
fputs($this->file, ' '.$CrLf);
fputs($this->file, ' '.$CrLf);
@@ -2185,7 +2185,8 @@ class BonPrelevement extends CommonObject
$dateTime_YMDHMS = dol_print_date($ladate, '%Y-%m-%dT%H:%M:%S');
// Get data of bank account
- $id = $configuration->global->PRELEVEMENT_ID_BANKACCOUNT;
+ //$id = $configuration->global->PRELEVEMENT_ID_BANKACCOUNT;
+ $id = ($type == 'bank-transfer' ? $conf->global->PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT : $conf->global->PRELEVEMENT_ID_BANKACCOUNT);
$account = new Account($this->db);
if ($account->fetch($id) > 0)
{
diff --git a/htdocs/compta/prelevement/class/rejetprelevement.class.php b/htdocs/compta/prelevement/class/rejetprelevement.class.php
old mode 100644
new mode 100755
index 8c033353637..c831d4f3e0f
--- a/htdocs/compta/prelevement/class/rejetprelevement.class.php
+++ b/htdocs/compta/prelevement/class/rejetprelevement.class.php
@@ -39,6 +39,8 @@ class RejetPrelevement
* @var DoliDB Database handler.
*/
public $db;
+
+ public $type; //prelevement or bank transfer
/**
@@ -47,12 +49,13 @@ class RejetPrelevement
* @param DoliDb $db Database handler
* @param User $user Objet user
*/
- public function __construct($db, $user)
+ public function __construct($db, $user, $type)
{
global $langs;
$this->db = $db;
$this->user = $user;
+ $this->type = $type;
$this->motifs = array();
$this->facturer = array();
@@ -92,7 +95,7 @@ class RejetPrelevement
$now = dol_now();
dol_syslog("RejetPrelevement::Create id $id");
- $bankaccount = $conf->global->PRELEVEMENT_ID_BANKACCOUNT;
+ $bankaccount = ($this->type == 'bank-transfer' ? $conf->global->PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT : $conf->global->PRELEVEMENT_ID_BANKACCOUNT);
$facs = $this->getListInvoices(1);
$this->db->begin();
@@ -137,11 +140,19 @@ class RejetPrelevement
$num = count($facs);
for ($i = 0; $i < $num; $i++)
{
- $fac = new Facture($this->db);
+ if($this->type == 'bank-transfer'){
+ $fac = new FactureFournisseur($this->db);
+ $pai = new PaiementFourn($this->db);
+ }
+ else{
+ $fac = new Facture($this->db);
+ $pai = new Paiement($this->db);
+ }
+
$fac->fetch($facs[$i][0]);
// Make a negative payment
- $pai = new Paiement($this->db);
+ //$pai = new Paiement($this->db);
$pai->amounts = array();
@@ -150,7 +161,7 @@ class RejetPrelevement
* PHP installs sends only the part integer negative
*/
- $pai->amounts[$facs[$i][0]] = price2num($facs[$i][1] * -1);
+ $pai->amounts[$facs[$i][0]] = price2num($facs[$i][1] * ($this->type == 'bank-transfer' ? 1: -1));
$pai->datepaye = $date_rejet;
$pai->paiementid = 3; // type of payment: withdrawal
$pai->num_paiement = $fac->ref;
@@ -216,7 +227,7 @@ class RejetPrelevement
$sql = "SELECT fk_user_demande";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
$sql .= " WHERE pfd.fk_prelevement_bons = ".$this->bon_id;
- $sql .= " AND pfd.fk_facture = ".$fac->id;
+ $sql .= " AND pfd.fk_facture".($this->type == 'bank-transfer' ? '_fourn=': '=').$fac->id;
$resql = $this->db->query($sql);
if ($resql)
@@ -293,7 +304,10 @@ class RejetPrelevement
//Returns all invoices of a withdrawal
$sql = "SELECT f.rowid as facid, pl.amount";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_facture as pf";
- $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."facture as f ON (pf.fk_facture = f.rowid)";
+ //$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."facture as f ON (pf.fk_facture = f.rowid)";
+ if ($this->type == 'bank-transfer') $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."facture_fourn as f ON (pf.fk_facture_fourn = f.rowid)";
+ else $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."facture as f ON (pf.fk_facture = f.rowid)";
+
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."prelevement_lignes as pl ON (pf.fk_prelevement_lignes = pl.rowid)";
$sql .= " WHERE pf.fk_prelevement_lignes = ".$this->id;
$sql .= " AND f.entity IN (".getEntity('invoice').")";
diff --git a/htdocs/compta/prelevement/index.php b/htdocs/compta/prelevement/index.php
old mode 100644
new mode 100755
diff --git a/htdocs/compta/prelevement/line.php b/htdocs/compta/prelevement/line.php
old mode 100644
new mode 100755
index d6124113321..78a0723aef2
--- a/htdocs/compta/prelevement/line.php
+++ b/htdocs/compta/prelevement/line.php
@@ -97,11 +97,11 @@ if ($action == 'confirm_rejet')
if ($lipre->fetch($id) == 0)
{
- $rej = new RejetPrelevement($db, $user);
+ $rej = new RejetPrelevement($db, $user,$type);
$rej->create($user, $id, GETPOST('motif', 'alpha'), $daterej, $lipre->bon_rowid, GETPOST('facturer', 'int'));
- header("Location: line.php?id=".$id);
+ header("Location: line.php?id=".$id.'&type='.$type);
exit;
}
}
@@ -112,7 +112,7 @@ if ($action == 'confirm_rejet')
}
else
{
- header("Location: line.php?id=".$id);
+ header("Location: line.php?id=".$id.'&type='.$type);
exit;
}
}
@@ -134,7 +134,7 @@ llxHeader('', $title);
$head = array();
$h = 0;
-$head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/line.php?id='.$id;
+$head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/line.php?id='.$id.'&type='.$type;
$head[$h][1] = $title;
$hselected = $h;
$h++;
@@ -203,11 +203,12 @@ if ($id)
$soc = new Societe($db);
$soc->fetch($lipre->socid);
- $rej = new RejetPrelevement($db, $user);
+ $rej = new RejetPrelevement($db, $user, $type);
print '