2 use Stripe\BankAccount;
30 require
'../main.inc.php';
31 require_once DOL_DOCUMENT_ROOT.
'/loan/class/loan.class.php';
32 require_once DOL_DOCUMENT_ROOT.
'/core/lib/loan.lib.php';
33 require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
35 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formaccounting.class.php';
38 require_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingaccount.class.php';
40 require_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
41 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
42 require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
45 $langs->loadLangs(array(
"compta",
"bills",
"loan"));
48 $action =
GETPOST(
'action',
'aZ09');
50 $cancel =
GETPOST(
'cancel',
'alpha');
52 $projectid =
GETPOST(
'projectid',
'int');
55 $socid =
GETPOST(
'socid',
'int');
57 $socid = $user->socid;
61 $object =
new Loan($db);
63 $hookmanager->initHooks(array(
'loancard',
'globalcard'));
72 $reshook = $hookmanager->executeHooks(
'doActions',
$parameters, $object, $action);
76 if (empty($reshook)) {
78 if ($action ==
'confirm_paid' && $confirm ==
'yes' && $user->rights->loan->write) {
80 $result = $object->setPaid($user);
89 if ($action ==
'confirm_delete' && $confirm ==
'yes' && $user->rights->loan->write) {
91 $result = $object->delete($user);
94 header(
"Location: list.php");
102 if ($action ==
'add' && $user->rights->loan->write) {
110 $error++; $action =
'create';
111 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"LoanCapital")),
null,
'errors');
114 $error++; $action =
'create';
115 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"DateStart")),
null,
'errors');
118 $error++; $action =
'create';
119 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"DateEnd")),
null,
'errors');
122 $error++; $action =
'create';
123 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Rate")),
null,
'errors');
127 $object->label =
GETPOST(
'label');
128 $object->fk_bank =
GETPOST(
'accountid');
129 $object->capital = $capital;
130 $object->datestart = $datestart;
131 $object->dateend = $dateend;
132 $object->nbterm =
GETPOST(
'nbterm');
133 $object->rate = $rate;
134 $object->note_private =
GETPOST(
'note_private',
'restricthtml');
135 $object->note_public =
GETPOST(
'note_public',
'restricthtml');
136 $object->fk_project =
GETPOST(
'projectid',
'int');
137 $object->insurance_amount =
GETPOST(
'insurance_amount',
'int');
139 $accountancy_account_capital =
GETPOST(
'accountancy_account_capital');
140 $accountancy_account_insurance =
GETPOST(
'accountancy_account_insurance');
141 $accountancy_account_interest =
GETPOST(
'accountancy_account_interest');
143 if ($accountancy_account_capital <= 0) {
144 $object->account_capital =
'';
146 $object->account_capital = $accountancy_account_capital;
148 if ($accountancy_account_insurance <= 0) {
149 $object->account_insurance =
'';
151 $object->account_insurance = $accountancy_account_insurance;
153 if ($accountancy_account_interest <= 0) {
154 $object->account_interest =
'';
156 $object->account_interest = $accountancy_account_interest;
159 $id = $object->create($user);
167 header(
"Location: list.php");
170 } elseif ($action ==
'update' && $user->rights->loan->write) {
173 $result = $object->fetch($id);
180 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"LoanCapital")),
null,
'errors');
183 $object->datestart = $datestart;
184 $object->dateend = $dateend;
185 $object->capital = $capital;
186 $object->nbterm =
GETPOST(
"nbterm",
'int');
190 $accountancy_account_capital =
GETPOST(
'accountancy_account_capital');
191 $accountancy_account_insurance =
GETPOST(
'accountancy_account_insurance');
192 $accountancy_account_interest =
GETPOST(
'accountancy_account_interest');
194 if ($accountancy_account_capital <= 0) {
195 $object->account_capital =
'';
197 $object->account_capital = $accountancy_account_capital;
199 if ($accountancy_account_insurance <= 0) {
200 $object->account_insurance =
'';
202 $object->account_insurance = $accountancy_account_insurance;
204 if ($accountancy_account_interest <= 0) {
205 $object->account_interest =
'';
207 $object->account_interest = $accountancy_account_interest;
211 $result = $object->update($user);
214 header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?id=".$id);
221 header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?id=".$id);
227 if ($action ==
'classin' && $user->rights->loan->write) {
229 $result = $object->setProject($projectid);
235 if ($action ==
'setlabel' && $user->rights->loan->write) {
237 $result = $object->setValueFrom(
'label',
GETPOST(
'label'),
'',
'',
'text',
'', $user,
'LOAN_MODIFY');
255 $title = $langs->trans(
"Loan").
' - '.$langs->trans(
"Card");
256 $help_url =
'EN:Module_Loan|FR:Module_Emprunt';
261 if ($action ==
'create') {
263 require_once DOL_DOCUMENT_ROOT.
'/core/class/doleditor.class.php';
269 print
'<form name="loan" action="'.$_SERVER[
"PHP_SELF"].
'" method="POST">'.
"\n";
270 print
'<input type="hidden" name="token" value="'.newToken().
'">';
271 print
'<input type="hidden" name="action" value="add">';
275 print
'<table class="border centpercent">';
278 print
'<tr><td class="fieldrequired titlefieldcreate">'.$langs->trans(
"Label").
'</td><td><input name="label" class="minwidth300" maxlength="255" value="'.
dol_escape_htmltag(
GETPOST(
'label')).
'" autofocus="autofocus"></td></tr>';
282 print
'<tr><td class="fieldrequired">'.$langs->trans(
"Account").
'</td><td>';
283 $form->select_comptes(
GETPOST(
"accountid"),
"accountid", 0,
"courant=1", 1);
286 print
'<tr><td>'.$langs->trans(
"Account").
'</td><td>';
287 print $langs->trans(
"NoBankAccountDefined");
292 print
'<tr><td class="fieldrequired">'.$langs->trans(
"LoanCapital").
'</td><td><input name="capital" size="10" value="'.
dol_escape_htmltag(
GETPOST(
"capital")).
'"></td></tr>';
296 print
'<td class="fieldrequired">'.$langs->trans(
"DateStart").
'</td><td>';
297 print
$form->selectDate($datestart ? $datestart : -1,
'start',
'',
'',
'',
'add', 1, 1);
302 print
'<td class="fieldrequired">'.$langs->trans(
"DateEnd").
'</td><td>';
303 print
$form->selectDate($dateend ? $dateend : -1,
'end',
'',
'',
'',
'add', 1, 1);
307 print
'<tr><td class="fieldrequired">'.$langs->trans(
"Nbterms").
'</td><td><input name="nbterm" size="5" value="'.
dol_escape_htmltag(
GETPOST(
'nbterm')).
'"></td></tr>';
310 print
'<tr><td class="fieldrequired">'.$langs->trans(
"Rate").
'</td><td><input name="rate" size="5" value="'.
dol_escape_htmltag(
GETPOST(
"rate")).
'"> %</td></tr>';
313 print
'<tr><td>'.$langs->trans(
"Insurance").
'</td><td><input name="insurance_amount" size="10" value="'.
dol_escape_htmltag(
GETPOST(
"insurance_amount")).
'" placeholder="'.$langs->trans(
'Amount').
'"></td></tr>';
320 $langs->loadLangs(array(
"projects"));
322 print
'<tr><td>'.$langs->trans(
"Project").
'</td><td>';
324 $numproject = $formproject->select_projects(-1, $projectid,
'projectid', 16, 0, 1, 1);
331 print
'<td class="tdtop">'.$langs->trans(
'NotePrivate').
'</td>';
334 $doleditor =
new DolEditor(
'note_private',
GETPOST(
'note_private',
'alpha'),
'', 160,
'dolibarr_notes',
'In',
false,
true, empty($conf->global->FCKEDITOR_ENABLE_NOTE_PUBLIC) ? 0 : 1, ROWS_6,
'90%');
335 print $doleditor->Create(1);
341 print
'<td class="tdtop">'.$langs->trans(
'NotePublic').
'</td>';
343 $doleditor =
new DolEditor(
'note_public',
GETPOST(
'note_public',
'alpha'),
'', 160,
'dolibarr_notes',
'In',
false,
true, empty($conf->global->FCKEDITOR_ENABLE_NOTE_PRIVATE) ? 0 : 1, ROWS_6,
'90%');
344 print $doleditor->Create(1);
350 print
'<tr><td class="titlefieldcreate fieldrequired">'.$langs->trans(
"LoanAccountancyCapitalCode").
'</td>';
352 print $formaccounting->select_account(
GETPOST(
'accountancy_account_capital') ?
GETPOST(
'accountancy_account_capital') : $conf->global->LOAN_ACCOUNTING_ACCOUNT_CAPITAL,
'accountancy_account_capital', 1,
'', 1, 1);
356 print
'<tr><td class="fieldrequired">'.$langs->trans(
"LoanAccountancyInsuranceCode").
'</td>';
358 print $formaccounting->select_account(
GETPOST(
'accountancy_account_insurance') ?
GETPOST(
'accountancy_account_insurance') : $conf->global->LOAN_ACCOUNTING_ACCOUNT_INSURANCE,
'accountancy_account_insurance', 1,
'', 1, 1);
362 print
'<tr><td class="fieldrequired">'.$langs->trans(
"LoanAccountancyInterestCode").
'</td>';
364 print $formaccounting->select_account(
GETPOST(
'accountancy_account_interest') ?
GETPOST(
'accountancy_account_interest') : $conf->global->LOAN_ACCOUNTING_ACCOUNT_INTEREST,
'accountancy_account_interest', 1,
'', 1, 1);
369 print
'<tr><td class="titlefieldcreate">'.$langs->trans(
"LoanAccountancyCapitalCode").
'</td>';
370 print
'<td><input name="accountancy_account_capital" size="16" value="'.$object->accountancy_account_capital.
'">';
374 print
'<tr><td>'.$langs->trans(
"LoanAccountancyInsuranceCode").
'</td>';
375 print
'<td><input name="accountancy_account_insurance" size="16" value="'.$object->accountancy_account_insurance.
'">';
379 print
'<tr><td>'.$langs->trans(
"LoanAccountancyInterestCode").
'</td>';
380 print
'<td><input name="accountancy_account_interest" size="16" value="'.$object->accountancy_account_interest.
'">';
387 print
$form->buttonsSaveCancel(
"Add");
394 $object =
new Loan($db);
395 $result = $object->fetch($id);
400 $totalpaid = $object->getSumPayment();
403 if ($action ==
'paid') {
404 $text = $langs->trans(
'ConfirmPayLoan');
405 print
$form->formconfirm($_SERVER[
"PHP_SELF"].
"?id=".$object->id, $langs->trans(
'PayLoan'), $text,
"confirm_paid",
'',
'', 2);
408 if ($action ==
'delete') {
409 $text = $langs->trans(
'ConfirmDeleteLoan');
410 print
$form->formconfirm($_SERVER[
'PHP_SELF'].
'?id='.$object->id, $langs->trans(
'DeleteLoan'), $text,
'confirm_delete',
'',
'', 2);
413 if ($action ==
'edit') {
414 print
'<form name="update" action="'.$_SERVER[
"PHP_SELF"].
'" method="POST">'.
"\n";
415 print
'<input type="hidden" name="token" value="'.newToken().
'">';
416 print
'<input type="hidden" name="action" value="update">';
417 print
'<input type="hidden" name="id" value="'.$id.
'">';
424 $linkback =
'<a href="'.DOL_URL_ROOT.
'/loan/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
426 $morehtmlref =
'<div class="refidno">';
428 $morehtmlref .=
$form->editfieldkey(
"Label",
'label', $object->label, $object, $user->rights->loan->write,
'string',
'', 0, 1);
429 $morehtmlref .=
$form->editfieldval(
"Label",
'label', $object->label, $object, $user->rights->loan->write,
'string',
'',
null,
null,
'', 1);
432 $langs->loadLangs(array(
"projects"));
433 $morehtmlref .=
'<br>'.$langs->trans(
'Project').
' ';
434 if ($user->rights->loan->write) {
435 if ($action !=
'classify') {
436 $morehtmlref .=
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.$object->id.
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> : ';
438 if ($action ==
'classify') {
440 $morehtmlref .=
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.$object->id.
'">';
441 $morehtmlref .=
'<input type="hidden" name="action" value="classin">';
442 $morehtmlref .=
'<input type="hidden" name="token" value="'.newToken().
'">';
443 $morehtmlref .= $formproject->select_projects($object->socid, $object->fk_project,
'projectid', $maxlength, 0, 1, 0, 1, 0, 0,
'', 1);
444 $morehtmlref .=
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
445 $morehtmlref .=
'</form>';
447 $morehtmlref .=
$form->form_project($_SERVER[
'PHP_SELF'].
'?id='.$object->id, $object->socid, $object->fk_project,
'none', 0, 0, 0, 1,
'',
'maxwidth300');
450 if (!empty($object->fk_project)) {
452 $proj->fetch($object->fk_project);
453 $morehtmlref .=
' : '.$proj->getNomUrl(1);
455 $morehtmlref .=
' - '.$proj->title;
462 $morehtmlref .=
'</div>';
464 $object->totalpaid = $totalpaid;
466 dol_banner_tab($object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'', $morehtmlright);
468 print
'<div class="fichecenter">';
469 print
'<div class="fichehalfleft">';
470 print
'<div class="underbanner clearboth"></div>';
472 print
'<table class="border centpercent tableforfield">';
475 if ($action ==
'edit') {
476 print
'<tr><td class="fieldrequired titlefield">'.$langs->trans(
"LoanCapital").
'</td><td>';
477 print
'<input name="capital" size="10" value="'.$object->capital.
'"></td></tr>';
480 print
'<tr><td class="titlefield">'.$langs->trans(
"LoanCapital").
'</td><td><span class="amount">'.
price($object->capital, 0, $outputlangs, 1, -1, -1, $conf->currency).
'</span></td></tr>';
484 if ($action ==
'edit') {
485 print
'<tr><td class="titlefield">'.$langs->trans(
"Insurance").
'</td><td>';
486 print
'<input name="insurance_amount" size="10" value="'.$object->insurance_amount.
'"></td></tr>';
489 print
'<tr><td class="titlefield">'.$langs->trans(
"Insurance").
'</td><td><span class="amount">'.
price($object->insurance_amount, 0, $outputlangs, 1, -1, -1, $conf->currency).
'</span></td></tr>';
493 print
'<tr><td>'.$langs->trans(
"DateStart").
"</td>";
495 if ($action ==
'edit') {
496 print
$form->selectDate($object->datestart,
'start', 0, 0, 0,
'update', 1, 0);
503 print
'<tr><td>'.$langs->trans(
"DateEnd").
"</td>";
505 if ($action ==
'edit') {
506 print
$form->selectDate($object->dateend,
'end', 0, 0, 0,
'update', 1, 0);
513 print
'<tr><td>'.$langs->trans(
"Nbterms").
'</td>';
515 if ($action ==
'edit') {
516 print
'<input name="nbterm" size="4" value="'.$object->nbterm.
'">';
518 print $object->nbterm;
523 print
'<tr><td>'.$langs->trans(
"Rate").
'</td>';
525 if ($action ==
'edit') {
526 print
'<input name="rate" size="4" value="'.$object->rate.
'">%';
528 print
price($object->rate).
'%';
534 if ($action ==
'edit') {
535 print
'<td class="nowrap fieldrequired">';
536 print $langs->trans(
"LoanAccountancyCapitalCode");
540 print $formaccounting->select_account($object->account_capital,
'accountancy_account_capital', 1,
'', 1, 1);
542 print
'<input name="accountancy_account_capital" size="16" value="'.$object->account_capital.
'">';
546 print
'<td class="nowrap">';
547 print $langs->trans(
"LoanAccountancyCapitalCode");
552 $accountingaccount->fetch(
'', $object->account_capital, 1);
554 print $accountingaccount->getNomUrl(0, 1, 1,
'', 1);
556 print $object->account_capital;
565 if ($action ==
'edit') {
566 print
'<td class="nowrap fieldrequired">';
567 print $langs->trans(
"LoanAccountancyInsuranceCode");
571 print $formaccounting->select_account($object->account_insurance,
'accountancy_account_insurance', 1,
'', 1, 1);
573 print
'<input name="accountancy_account_insurance" size="16" value="'.$object->account_insurance.
'">';
577 print
'<td class="nowrap">';
578 print $langs->trans(
"LoanAccountancyInsuranceCode");
583 $accountingaccount->fetch(
'', $object->account_insurance, 1);
585 print $accountingaccount->getNomUrl(0, 1, 1,
'', 1);
587 print $object->account_insurance;
596 if ($action ==
'edit') {
597 print
'<td class="nowrap fieldrequired">';
598 print $langs->trans(
"LoanAccountancyInterestCode");
602 print $formaccounting->select_account($object->account_interest,
'accountancy_account_interest', 1,
'', 1, 1);
604 print
'<input name="accountancy_account_interest" size="16" value="'.$object->account_interest.
'">';
608 print
'<td class="nowrap">';
609 print $langs->trans(
"LoanAccountancyInterestCode");
614 $accountingaccount->fetch(
'', $object->account_interest, 1);
616 print $accountingaccount->getNomUrl(0, 1, 1,
'', 1);
618 print $object->account_interest;
627 $reshook = $hookmanager->executeHooks(
'formObjectOptions',
$parameters, $object, $action);
628 print $hookmanager->resPrint;
633 print
'<div class="fichehalfright">';
638 $sql =
"SELECT p.rowid, p.num_payment, p.datep as dp,";
639 $sql .=
" p.amount_capital, p.amount_insurance, p.amount_interest,";
640 $sql .=
" b.fk_account,";
641 $sql .=
" c.libelle as paiement_type";
642 $sql .=
" FROM ".MAIN_DB_PREFIX.
"payment_loan as p";
643 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"bank as b ON p.fk_bank = b.rowid";
644 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepayment = c.id,";
645 $sql .=
" ".MAIN_DB_PREFIX.
"loan as l";
646 $sql .=
" WHERE p.fk_loan = ".((int) $id);
647 $sql .=
" AND p.fk_loan = l.rowid";
648 $sql .=
" AND l.entity IN ( ".getEntity(
'loan').
")";
649 $sql .=
" ORDER BY dp DESC";
652 $resql = $db->query($sql);
654 $num = $db->num_rows(
$resql);
656 $total_insurance = 0;
660 print
'<div class="div-table-responsive-no-min">';
661 print
'<table class="noborder paymenttable">';
662 print
'<tr class="liste_titre">';
663 print
'<td>'.$langs->trans(
"RefPayment").
'</td>';
664 print
'<td>'.$langs->trans(
"Date").
'</td>';
665 print
'<td>'.$langs->trans(
"Type").
'</td>';
666 print
'<td>'.$langs->trans(
"BankAccount").
'</td>';
667 print
'<td class="right">'.$langs->trans(
"Insurance").
'</td>';
668 print
'<td class="right">'.$langs->trans(
"Interest").
'</td>';
669 print
'<td class="right">'.$langs->trans(
"LoanCapital").
'</td>';
672 $conf->cache[
'bankaccount'] = array();
675 $objp = $db->fetch_object(
$resql);
677 print
'<tr class="oddeven">';
678 print
'<td><a href="'.DOL_URL_ROOT.
'/loan/payment/card.php?id='.$objp->rowid.
'">'.
img_object($langs->trans(
"Payment"),
"payment").
' '.$objp->rowid.
'</a></td>';
679 print
'<td>'.dol_print_date($db->jdate($objp->dp),
'day').
"</td>\n";
680 print
"<td>".$objp->paiement_type.
' '.$objp->num_payment.
"</td>\n";
682 if (!empty($conf->cache[
'bankaccount'][$objp->fk_account])) {
683 $tmpbank = $conf->cache[
'bankaccount'][$objp->fk_account];
686 $tmpbank->fetch($objp->fk_account);
687 $conf->cache[
'bankaccount'][$objp->fk_account] = $tmpbank;
689 print $tmpbank->getNomUrl(1);
691 print
'<td class="nowrap right"><span class="amount">'.price($objp->amount_insurance, 0, $outputlangs, 1, -1, -1, $conf->currency).
"</span></td>\n";
692 print
'<td class="nowrap right"><span class="amount">'.price($objp->amount_interest, 0, $outputlangs, 1, -1, -1, $conf->currency).
"</span></td>\n";
693 print
'<td class="nowrap right"><span class="amount">'.price($objp->amount_capital, 0, $outputlangs, 1, -1, -1, $conf->currency).
"</span></td>\n";
695 $total_capital += $objp->amount_capital;
699 $totalpaid = $total_capital;
701 if ($object->paid == 0 || $object->paid == 2) {
702 print
'<tr><td colspan="6" class="right">'.$langs->trans(
"AlreadyPaid").
' :</td><td class="nowrap right">'.
price($totalpaid, 0, $langs, 0, -1, -1, $conf->currency).
'</td></tr>';
703 print
'<tr><td colspan="6" class="right">'.$langs->trans(
"AmountExpected").
' :</td><td class="nowrap right">'.
price($object->capital, 0, $outputlangs, 1, -1, -1, $conf->currency).
'</td></tr>';
705 $staytopay = $object->capital - $totalpaid;
707 print
'<tr><td colspan="6" class="right">'.$langs->trans(
"RemainderToPay").
' :</td>';
708 print
'<td class="nowrap right'.($staytopay ?
' amountremaintopay' :
' amountpaymentcomplete').
'">';
709 print
price($staytopay, 0, $langs, 0, -1, -1, $conf->currency);
723 print
'<div class="clearboth"></div>';
727 if ($action ==
'edit') {
728 print
$form->buttonsSaveCancel();
736 if ($action !=
'edit') {
737 $reshook = $hookmanager->executeHooks(
'addMoreActionsButtons',
$parameters, $object, $action);
738 if (empty($reshook)) {
739 print
'<div class="tabsAction">';
742 if (($object->paid == 0 || $object->paid == 2) && $user->rights->loan->write) {
743 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/loan/card.php?id='.$object->id.
'&action=edit&token='.
newToken().
'">'.$langs->trans(
"Modify").
'</a></div>';
747 if (($object->paid == 0 || $object->paid == 2) && ((
price2num($object->capital) > 0 && round($staytopay) < 0) || (
price2num($object->capital) > 0 && round($staytopay) > 0)) && $user->rights->loan->write) {
748 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/loan/payment/payment.php?id='.$object->id.
'&action=create&token='.
newToken().
'">'.$langs->trans(
"DoPayment").
'</a></div>';
752 if (($object->paid == 0 || $object->paid == 2) && round($staytopay) <= 0 && $user->rights->loan->write) {
753 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/loan/card.php?id='.$object->id.
'&action=paid&token='.
newToken().
'">'.$langs->trans(
"ClassifyPaid").
'</a></div>';
757 if (($object->paid == 0 || $object->paid == 2) && $user->rights->loan->delete) {
758 print
'<div class="inline-block divButAction"><a class="butActionDelete" href="'.DOL_URL_ROOT.
'/loan/card.php?id='.$object->id.
'&action=delete&token='.
newToken().
'">'.$langs->trans(
"Delete").
'</a></div>';
if(GETPOST('button_removefilter_x', 'alpha')||GETPOST('button_removefilter.x', 'alpha')||GETPOST('button_removefilter', 'alpha')) if(GETPOST('button_search_x', 'alpha')||GETPOST('button_search.x', 'alpha')||GETPOST('button_search', 'alpha')) if($action=="save" &&empty($cancel)) $help_url
View.
if(!defined('NOREQUIRESOC')) if(!defined('NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined('NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined('NOREQUIREAJAX')) llxHeader()
Empty header.
Class to manage bank accounts.
Class to manage accounting accounts.
Class to manage a WYSIWYG editor.
Class to manage projects.
if(isModEnabled('facture') &&!empty($user->rights->facture->lire)) if((isModEnabled('fournisseur') &&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) && $user->hasRight("fournisseur", "facture", "lire"))||(isModEnabled('supplier_invoice') && $user->hasRight("supplier_invoice", "lire"))) if(isModEnabled('don') &&!empty($user->rights->don->lire)) if(isModEnabled('tax') &&!empty($user->rights->tax->charges->lire)) if(isModEnabled('facture') &&isModEnabled('commande') && $user->hasRight("commande", "lire") &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) $resql
Social contributions to pay.
if($cancel &&! $id) if($action=='add' &&! $cancel) if($action=='delete') if($id) $form
Actions.
dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='rowid', $fieldref='ref', $morehtmlref='', $moreparam='', $nodbprefix=0, $morehtmlleft='', $morehtmlstatus='', $onlybanner=0, $morehtmlright='')
Show tab footer of a card.
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed informations (by default a local PHP server timestamp) Re...
load_fiche_titre($titre, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='')
Show tabs of a record.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0)
Returns text escaped for inclusion in HTML alt or title tags, or into values of HTML input fields.
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
dol_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0)
Show a picto called object_picto (generic function)
dol_get_fiche_end($notab=0)
Return tab footer of a card.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='')
Set event messages in dol_events session object.
price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='')
Function to format a value into an amount for visual output Function used into PDF and HTML pages.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs='', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
newToken()
Return the value of token currently saved into session with name 'newtoken'.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
isModEnabled($module)
Is Dolibarr module enabled.
img_edit($titlealt='default', $float=0, $other='')
Show logo editer/modifier fiche.
loan_prepare_head($object)
Prepare array with list of tabs.
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.