Merge pull request #7956 from aspangaro/7.0-b5

FIX : Edit accountancy in loan
This commit is contained in:
Laurent Destailleur 2017-12-16 01:09:41 +01:00 committed by GitHub
commit ecb782f0b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 94 additions and 52 deletions

View File

@ -27,8 +27,8 @@ require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php'; require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/loan.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/loan.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php'; if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php';
if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingaccount.class.php';
require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; 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.'/core/class/html.formprojet.class.php';
@ -124,42 +124,42 @@ if (empty($reshook))
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Rate")), null, 'errors'); setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Rate")), null, 'errors');
} }
if (! $error) if (! $error)
{ {
$object->label = GETPOST('label'); $object->label = GETPOST('label');
$object->fk_bank = GETPOST('accountid'); $object->fk_bank = GETPOST('accountid');
$object->capital = $capital; $object->capital = $capital;
$object->datestart = $datestart; $object->datestart = $datestart;
$object->dateend = $dateend; $object->dateend = $dateend;
$object->nbterm = GETPOST('nbterm'); $object->nbterm = GETPOST('nbterm');
$object->rate = $rate; $object->rate = $rate;
$object->note_private = GETPOST('note_private','none'); $object->note_private = GETPOST('note_private','none');
$object->note_public = GETPOST('note_public','none'); $object->note_public = GETPOST('note_public','none');
$object->fk_project = GETPOST('projectid','int'); $object->fk_project = GETPOST('projectid','int');
$accountancy_account_capital = GETPOST('accountancy_account_capital'); $accountancy_account_capital = GETPOST('accountancy_account_capital');
$accountancy_account_insurance = GETPOST('accountancy_account_insurance'); $accountancy_account_insurance = GETPOST('accountancy_account_insurance');
$accountancy_account_interest = GETPOST('accountancy_account_interest'); $accountancy_account_interest = GETPOST('accountancy_account_interest');
if ($accountancy_account_capital <= 0) { $object->account_capital = ''; } else { $object->account_capital = $accountancy_account_capital; } if ($accountancy_account_capital <= 0) { $object->account_capital = ''; } else { $object->account_capital = $accountancy_account_capital; }
if ($accountancy_account_insurance <= 0) { $object->account_insurance = ''; } else { $object->account_insurance = $accountancy_account_insurance; } if ($accountancy_account_insurance <= 0) { $object->account_insurance = ''; } else { $object->account_insurance = $accountancy_account_insurance; }
if ($accountancy_account_interest <= 0) { $object->account_interest = ''; } else { $object->account_interest = $accountancy_account_interest; } if ($accountancy_account_interest <= 0) { $object->account_interest = ''; } else { $object->account_interest = $accountancy_account_interest; }
$id=$object->create($user); $id=$object->create($user);
if ($id <= 0) if ($id <= 0)
{ {
$error++; $error++;
setEventMessages($object->error, $object->errors, 'errors'); setEventMessages($object->error, $object->errors, 'errors');
$action = 'create'; $action = 'create';
} }
} }
} }
else else
{ {
header("Location: index.php"); header("Location: index.php");
exit(); exit();
} }
} }
// Update record // Update record
else if ($action == 'update' && $user->rights->loan->write) else if ($action == 'update' && $user->rights->loan->write)
@ -550,11 +550,13 @@ if ($id > 0)
print '</td></tr>'; print '</td></tr>';
// Accountancy account capital // Accountancy account capital
print '<tr><td class="nowrap">'; print '<tr>';
print $langs->trans("LoanAccountancyCapitalCode");
print '</td><td>';
if ($action == 'edit') if ($action == 'edit')
{ {
print '<td class="nowrap fieldrequired">';
print $langs->trans("LoanAccountancyCapitalCode");
print '</td><td>';
if (! empty($conf->accounting->enabled)) if (! empty($conf->accounting->enabled))
{ {
print $formaccounting->select_account($object->account_capital, 'accountancy_account_capital', 1, '', 1, 1); print $formaccounting->select_account($object->account_capital, 'accountancy_account_capital', 1, '', 1, 1);
@ -563,23 +565,36 @@ if ($id > 0)
{ {
print '<input name="accountancy_account_capital" size="16" value="'.$object->account_capital.'">'; print '<input name="accountancy_account_capital" size="16" value="'.$object->account_capital.'">';
} }
print '</td>';
} }
else else
{ {
if (! empty($conf->accounting->enabled)) { print '<td class="nowrap">';
print length_accountg($object->account_capital); print $langs->trans("LoanAccountancyCapitalCode");
print '</td><td>';
if (! empty($conf->accounting->enabled))
{
$accountingaccount = new AccountingAccount($db);
$accountingaccount->fetch('',$object->account_capital, 1);
print $accountingaccount->getNomUrl(0,1,1,'',1);
} else { } else {
print $object->account_capital; print $object->account_capital;
} }
print '</td>';
} }
print '</td></tr>'; print '</tr>';
// Accountancy account insurance // Accountancy account insurance
print '<tr><td class="nowrap">'; print '<tr>';
print $langs->trans("LoanAccountancyInsuranceCode");
print '</td><td>';
if ($action == 'edit') if ($action == 'edit')
{ {
print '<td class="nowrap fieldrequired">';
print $langs->trans("LoanAccountancyInsuranceCode");
print '</td><td>';
if (! empty($conf->accounting->enabled)) if (! empty($conf->accounting->enabled))
{ {
print $formaccounting->select_account($object->account_insurance, 'accountancy_account_insurance', 1, '', 1, 1); print $formaccounting->select_account($object->account_insurance, 'accountancy_account_insurance', 1, '', 1, 1);
@ -588,23 +603,36 @@ if ($id > 0)
{ {
print '<input name="accountancy_account_insurance" size="16" value="'.$object->account_insurance.'">'; print '<input name="accountancy_account_insurance" size="16" value="'.$object->account_insurance.'">';
} }
print '</td>';
} }
else else
{ {
if (! empty($conf->accounting->enabled)) { print '<td class="nowrap">';
print length_accountg($object->account_insurance); print $langs->trans("LoanAccountancyCapitalCode");
print '</td><td>';
if (! empty($conf->accounting->enabled))
{
$accountingaccount = new AccountingAccount($db);
$accountingaccount->fetch('',$object->account_insurance, 1);
print $accountingaccount->getNomUrl(0,1,1,'',1);
} else { } else {
print $object->account_insurance; print $object->account_insurance;
} }
print '</td>';
} }
print '</td></tr>'; print '</tr>';
// Accountancy account interest // Accountancy account interest
print '<tr><td class="nowrap">'; print '<tr>';
print $langs->trans("LoanAccountancyInterestCode");
print '</td><td>';
if ($action == 'edit') if ($action == 'edit')
{ {
print '<td class="nowrap fieldrequired">';
print $langs->trans("LoanAccountancyInterestCode");
print '</td><td>';
if (! empty($conf->accounting->enabled)) if (! empty($conf->accounting->enabled))
{ {
print $formaccounting->select_account($object->account_interest, 'accountancy_account_interest', 1, '', 1, 1); print $formaccounting->select_account($object->account_interest, 'accountancy_account_interest', 1, '', 1, 1);
@ -613,16 +641,27 @@ if ($id > 0)
{ {
print '<input name="accountancy_account_interest" size="16" value="'.$object->account_interest.'">'; print '<input name="accountancy_account_interest" size="16" value="'.$object->account_interest.'">';
} }
print '</td>';
} }
else else
{ {
if (! empty($conf->accounting->enabled)) { print '<td class="nowrap">';
print length_accountg($object->account_interest); print $langs->trans("LoanAccountancyInterestCode");
print '</td><td>';
if (! empty($conf->accounting->enabled))
{
$accountingaccount = new AccountingAccount($db);
$accountingaccount->fetch('',$object->account_interest, 1);
print $accountingaccount->getNomUrl(0,1,1,'',1);
} else { } else {
print $object->account_interest; print $object->account_interest;
} }
print '</td>';
} }
print '</td></tr>'; print '</tr>';
print '</table>'; print '</table>';

View File

@ -297,6 +297,9 @@ class Loan extends CommonObject
$sql.= " capital='".price2num($this->db->escape($this->capital))."',"; $sql.= " capital='".price2num($this->db->escape($this->capital))."',";
$sql.= " datestart='".$this->db->idate($this->datestart)."',"; $sql.= " datestart='".$this->db->idate($this->datestart)."',";
$sql.= " dateend='".$this->db->idate($this->dateend)."',"; $sql.= " dateend='".$this->db->idate($this->dateend)."',";
$sql.= " accountancy_account_capital = '".$this->db->escape($this->account_capital)."',";
$sql.= " accountancy_account_insurance = '".$this->db->escape($this->account_insurance)."',";
$sql.= " accountancy_account_interest = '".$this->db->escape($this->account_interest)."',";
$sql.= " fk_projet=".(empty($this->fk_project)?'NULL':$this->fk_project).","; $sql.= " fk_projet=".(empty($this->fk_project)?'NULL':$this->fk_project).",";
$sql.= " fk_user_modif = ".$user->id; $sql.= " fk_user_modif = ".$user->id;
$sql.= " WHERE rowid=".$this->id; $sql.= " WHERE rowid=".$this->id;