diff --git a/htdocs/loan/card.php b/htdocs/loan/card.php index a45577b6608..1fd571a9a91 100644 --- a/htdocs/loan/card.php +++ b/htdocs/loan/card.php @@ -1,4 +1,6 @@ * Copyright (C) 2015 Frederic France * Copyright (C) 2017 Laurent Destailleur @@ -37,6 +39,7 @@ if (isModEnabled('accounting')) { } require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; // Load translation files required by the page $langs->loadLangs(array("compta", "bills", "loan")); @@ -632,12 +635,14 @@ if ($id > 0) { /* * Payments */ - $sql = "SELECT p.rowid, p.num_payment, datep as dp,"; + $sql = "SELECT p.rowid, p.num_payment, p.datep as dp,"; $sql .= " p.amount_capital, p.amount_insurance, p.amount_interest,"; + $sql .= " b.fk_account,"; $sql .= " c.libelle as paiement_type"; $sql .= " FROM ".MAIN_DB_PREFIX."payment_loan as p"; - $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as c ON p.fk_typepayment = c.id"; - $sql .= ", ".MAIN_DB_PREFIX."loan as l"; + $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."bank as b ON p.fk_bank = b.rowid"; + $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as c ON p.fk_typepayment = c.id,"; + $sql .= " ".MAIN_DB_PREFIX."loan as l"; $sql .= " WHERE p.fk_loan = ".((int) $id); $sql .= " AND p.fk_loan = l.rowid"; $sql .= " AND l.entity IN ( ".getEntity('loan').")"; @@ -658,11 +663,14 @@ if ($id > 0) { print ''.$langs->trans("RefPayment").''; print ''.$langs->trans("Date").''; print ''.$langs->trans("Type").''; + print ''.$langs->trans("BankAccount").''; print ''.$langs->trans("Insurance").''; print ''.$langs->trans("Interest").''; print ''.$langs->trans("LoanCapital").''; print ''; + $conf->cache['bankaccount'] = array(); + while ($i < $num) { $objp = $db->fetch_object($resql); @@ -670,9 +678,19 @@ if ($id > 0) { print ''.img_object($langs->trans("Payment"), "payment").' '.$objp->rowid.''; print ''.dol_print_date($db->jdate($objp->dp), 'day')."\n"; print "".$objp->paiement_type.' '.$objp->num_payment."\n"; - print ''.price($objp->amount_insurance, 0, $outputlangs, 1, -1, -1, $conf->currency)."\n"; - print ''.price($objp->amount_interest, 0, $outputlangs, 1, -1, -1, $conf->currency)."\n"; - print ''.price($objp->amount_capital, 0, $outputlangs, 1, -1, -1, $conf->currency)."\n"; + print ""; + if (!empty($conf->cache['bankaccount'][$objp->fk_account])) { + $tmpbank = $conf->cache['bankaccount'][$objp->fk_account]; + } else { + $tmpbank = new Account($db); + $tmpbank->fetch($objp->fk_account); + $conf->cache['bankaccount'][$objp->fk_account] = $tmpbank; + } + print $tmpbank->getNomUrl(1); + print "\n"; + print ''.price($objp->amount_insurance, 0, $outputlangs, 1, -1, -1, $conf->currency)."\n"; + print ''.price($objp->amount_interest, 0, $outputlangs, 1, -1, -1, $conf->currency)."\n"; + print ''.price($objp->amount_capital, 0, $outputlangs, 1, -1, -1, $conf->currency)."\n"; print ""; $total_capital += $objp->amount_capital; $i++; @@ -681,12 +699,12 @@ if ($id > 0) { $totalpaid = $total_capital; if ($object->paid == 0 || $object->paid == 2) { - print ''.$langs->trans("AlreadyPaid").' :'.price($totalpaid, 0, $langs, 0, -1, -1, $conf->currency).''; - print ''.$langs->trans("AmountExpected").' :'.price($object->capital, 0, $outputlangs, 1, -1, -1, $conf->currency).''; + print ''.$langs->trans("AlreadyPaid").' :'.price($totalpaid, 0, $langs, 0, -1, -1, $conf->currency).''; + print ''.$langs->trans("AmountExpected").' :'.price($object->capital, 0, $outputlangs, 1, -1, -1, $conf->currency).''; $staytopay = $object->capital - $totalpaid; - print ''.$langs->trans("RemainderToPay").' :'; + print ''.$langs->trans("RemainderToPay").' :'; print ''; print price($staytopay, 0, $langs, 0, -1, -1, $conf->currency); print '';