31require
'../main.inc.php';
32require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
33require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
34require_once DOL_DOCUMENT_ROOT.
'/salaries/class/salary.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/salaries/class/paymentsalary.class.php';
36require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/lib/salaries.lib.php';
38require_once DOL_DOCUMENT_ROOT.
'/core/class/extrafields.class.php';
39require_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingjournal.class.php';
40require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
41require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/bonprelevement.class.php';
43require_once DOL_DOCUMENT_ROOT.
'/societe/class/companybankaccount.class.php';
44require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.class.php';
45require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
47require_once DOL_DOCUMENT_ROOT.
'/core/lib/invoice.lib.php';
48require_once DOL_DOCUMENT_ROOT.
'/core/lib/fourn.lib.php';
49require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
50require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/bonprelevement.class.php';
51require_once DOL_DOCUMENT_ROOT.
'/core/class/discount.class.php';
52require_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
53require_once DOL_DOCUMENT_ROOT.
'/societe/class/companybankaccount.class.php';
54require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.class.php';
55require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
57 require_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
58 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
71$langs->loadLangs(array(
"compta",
"bills",
"users",
"salaries",
"hrm",
"withdrawals"));
75$action =
GETPOST(
'action',
'aZ09');
78$label =
GETPOST(
'label',
'alphanohtml');
84 $socid = $user->socid;
91$childids = $user->getAllChildIds(1);
94$extrafields->fetch_name_optionals_label(
$object->table_element);
97$hookmanager->initHooks(array(
'salaryinfo',
'globalcard'));
105 if ($user->hasRight(
'salaries',
'readall')) {
108 if ($user->hasRight(
'salaries',
'read') &&
$object->fk_user > 0 && in_array(
$object->fk_user, $childids)) {
116$permissiontoread = $user->hasRight(
'salaries',
'read');
117$permissiontoadd = $user->hasRight(
'salaries',
'write');
118$permissiontodelete = $user->hasRight(
'salaries',
'delete') || ($permissiontoadd && isset(
$object->status) &&
$object->status == $object::STATUS_UNPAID);
121if ($type ==
'bank-transfer') {
123 $moreparam =
'&type='.$type;
137$hookmanager->initHooks(array(
'directdebitcard',
'globalcard'));
147if ($action ==
'classin' && $user->hasRight(
'banque',
'modifier')) {
149 $object->setProject($projectid);
153if ($action ==
'setlabel' && $user->hasRight(
'salaries',
'write')) {
159$parameters = array(
'socid' => $socid);
160$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $obj, $action);
166if ($action ==
'setmode' && $permissiontoadd) {
175if ($action ==
'setbankaccount' && $permissiontoadd) {
183if ($action ==
"add" && $permissiontoadd) {
188 $sourcetype =
'salaire';
189 $newtype =
'salaire';
191 $paymentservice =
GETPOST(
'paymentservice');
193 $result =
$object->demande_prelevement($user,
GETPOSTFLOAT(
'request_transfer'), $newtype, $sourcetype);
208if ($action ==
"delete" && $permissiontodelete) {
212 header(
"Location: ".$_SERVER[
'PHP_SELF'].
"?id=".
$object->id);
223$form =
new Form($db);
225$title = $langs->trans(
'Salary').
" - ".$langs->trans(
'Info');
232$head = salaries_prepare_head($object);
236$linkback =
'<a href="'.DOL_URL_ROOT.
'/salaries/list.php?restore_lastsearch_values=1'.(!empty($socid) ?
'&socid='.$socid :
'').
'">'.$langs->trans(
"BackToList").
'</a>';
238$morehtmlref =
'<div class="refidno">';
240$userstatic =
new User($db);
241$userstatic->fetch(
$object->fk_user);
245if ($action !=
'editlabel') {
246 $morehtmlref .= $form->editfieldkey(
"Label",
'label',
$object->label, $object, $user->hasRight(
'salaries',
'write'),
'string',
'', 0, 1);
247 $morehtmlref .=
$object->label;
249 $morehtmlref .= $langs->trans(
'Label').
' : ';
250 $morehtmlref .=
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
251 $morehtmlref .=
'<input type="hidden" name="action" value="setlabel">';
252 $morehtmlref .=
'<input type="hidden" name="token" value="'.newToken().
'">';
253 $morehtmlref .=
'<input type="text" name="label" value="'.$object->label.
'"/>';
254 $morehtmlref .=
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
255 $morehtmlref .=
'</form>';
258$morehtmlref .=
'<br>'.$langs->trans(
'Employee').
' : '.$userstatic->getNomUrl(-1);
260$usercancreate = $permissiontoadd;
264 $langs->load(
"projects");
265 $morehtmlref .=
'<br>';
266 if ($usercancreate) {
267 $morehtmlref .=
img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
268 if ($action !=
'classify') {
269 $morehtmlref .=
'<a class="editfielda" href="'.dolBuildUrl($_SERVER[
'PHP_SELF'], [
'action' =>
'classify',
'id' =>
$object->id],
true).
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
271 $morehtmlref .= $form->form_project($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->socid, (
string)
$object->fk_project, ($action ==
'classify' ?
'projectid' :
'none'), 0, 0, 0, 1,
'',
'maxwidth300');
273 if (!empty(
$object->fk_project)) {
275 $proj->fetch(
$object->fk_project);
276 $morehtmlref .= $proj->getNomUrl(1);
278 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
284$morehtmlref .=
'</div>';
286$totalpaid =
$object->getSommePaiement();
288$object->totalpaid = $totalpaid;
289$object->alreadypaid = $totalpaid;
291dol_banner_tab($object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'',
'');
294print '<div class="fichehalfleft">';
296print '<div class="underbanner clearboth"></div>';
299print '<table class="border centpercent tableforfield">';
301if ($action ==
'edit') {
302 print '<tr><td class="titlefieldmiddle">'.$langs->trans(
"DateStartPeriod").
"</td><td>";
303 print $form->selectDate(
$object->datesp,
'datesp', 0, 0, 0,
'datesp', 1);
307 print '<td class="titlefieldmiddle">' . $langs->trans(
"DateStartPeriod") .
'</td><td>';
312if ($action ==
'edit') {
313 print '<tr><td>'.$langs->trans(
"DateEndPeriod").
"</td><td>";
314 print $form->selectDate(
$object->dateep,
'dateep', 0, 0, 0,
'dateep', 1);
318 print '<td>' . $langs->trans(
"DateEndPeriod") .
'</td><td>';
322if ($action ==
'edit') {
323 print '<tr><td class="fieldrequired">' . $langs->trans(
"Amount") .
'</td><td><input name="amount" size="10" value="' .
price(
$object->amount) .
'"></td></tr>';
325 print '<tr><td>' . $langs->trans(
"Amount") .
'</td><td><span class="amount">' .
price(
$object->amount, 0, $langs, 1, -1, -1, $conf->currency) .
'</span></td></tr>';
330print '<table class="nobordernopadding" width="100%"><tr><td>';
331print $langs->trans(
'DefaultPaymentMode');
333if ($action !=
'editmode') {
334 print '<td class="right"><a class="editfielda" href="'.$_SERVER[
"PHP_SELF"].
'?action=editmode&token='.
newToken().
'&id='.
$object->id.
'">'.
img_edit($langs->trans(
'SetMode'), 1).
'</a></td>';
336print '</tr></table>';
339if ($action ==
'editmode') {
340 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string)
$object->type_payment,
'mode_reglement_id');
342 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string)
$object->type_payment,
'none');
348 print '<tr><td class="nowrap">';
349 print '<table width="100%" class="nobordernopadding"><tr><td class="nowrap">';
350 print $langs->trans(
'DefaultBankAccount');
352 if ($action !=
'editbankaccount' && $user->hasRight(
'salaries',
'write')) {
353 print '<td class="right"><a class="editfielda" href="'.$_SERVER[
"PHP_SELF"].
'?action=editbankaccount&token='.
newToken().
'&id='.
$object->id.
'">'.
img_edit($langs->trans(
'SetBankAccount'), 1).
'</a></td>';
355 print '</tr></table>';
357 if ($action ==
'editbankaccount') {
358 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string)
$object->fk_account,
'fk_account', 1);
360 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string)
$object->fk_account,
'none');
367include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_view.tpl.php';
372$user_perms = $user->hasRight(
'virement',
'bons',
'creer');
373$buttonlabel = $langs->trans(
"MakeTransferRequest");
374$user_perms = $user->hasRight(
'paymentbybanktransfer',
'create');
376print '<div class="fichehalfright">';
380$sql =
"SELECT p.rowid, p.num_payment as num_payment, p.datep as dp, p.amount,";
381$sql .=
" c.code as type_code,c.libelle as paiement_type,";
382$sql .=
' ba.rowid as baid, ba.ref as baref, ba.label, ba.number as banumber, ba.account_number, ba.currency_code as bacurrency_code, ba.fk_accountancy_journal';
383$sql .=
" FROM ".MAIN_DB_PREFIX.
"payment_salary as p";
384$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
385$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
386$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepayment = c.id";
387$sql .=
", ".MAIN_DB_PREFIX.
"salary as s";
388$sql .=
" WHERE p.fk_salary = ".((int) $id);
389$sql .=
" AND p.fk_salary = s.rowid";
390$sql .=
" AND s.entity IN (".getEntity(
'tax').
")";
391$sql .=
" ORDER BY dp DESC";
395$resql = $db->query($sql);
399 $num = $db->num_rows($resql);
404 print '<div class="div-table-responsive-no-min">';
405 print '<table class="noborder paymenttable">';
406 print '<tr class="liste_titre">';
407 print '<td>'.$langs->trans(
"RefPayment").
'</td>';
408 print '<td>'.$langs->trans(
"Date").
'</td>';
409 print '<td>'.$langs->trans(
"Type").
'</td>';
411 print '<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
413 print '<td class="right">'.$langs->trans(
"Amount").
'</td>';
417 $bankaccountstatic =
new Account($db);
419 $objp = $db->fetch_object($resql);
421 print '<tr class="oddeven"><td>';
422 print '<a href="'.DOL_URL_ROOT.
'/salaries/payment_salary/card.php?id='.$objp->rowid.
'">'.
img_object($langs->trans(
"Payment"),
"payment").
' '.$objp->rowid.
'</a></td>';
423 print '<td>'.dol_print_date($db->jdate($objp->dp),
'dayhour',
'tzuserrel').
"</td>\n";
424 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
425 print "<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
427 $bankaccountstatic->id = $objp->baid;
428 $bankaccountstatic->ref = $objp->baref;
429 $bankaccountstatic->label = $objp->baref;
430 $bankaccountstatic->number = $objp->banumber;
431 $bankaccountstatic->currency_code = $objp->bacurrency_code;
434 $bankaccountstatic->account_number = $objp->account_number;
437 $accountingjournal->fetch($objp->fk_accountancy_journal);
438 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
441 print '<td class="right">';
442 if ($bankaccountstatic->id) {
443 print $bankaccountstatic->getNomUrl(1,
'transactions');
447 print '<td class="right nowrap amountcard">'.price($objp->amount).
"</td>\n";
449 $totalpaid += $objp->amount;
453 print '<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
454 print '<td></td><td></td><td></td><td></td>';
461 $resteapayer = (float)
$object->amount - $totalpaid;
476print '<div class="clearboth"></div>';
482print '<div class="tabsAction">'.
"\n";
484$sql =
"SELECT pfd.rowid, pfd.traite, pfd.date_demande as date_demande,";
485$sql .=
" pfd.date_traite as date_traite, pfd.amount, pfd.fk_prelevement_bons,";
486$sql .=
" pb.ref, pb.date_trans, pb.method_trans, pb.credite, pb.date_credit, pb.datec, pb.statut as status, pb.amount as pb_amount,";
487$sql .=
" u.rowid as user_id, u.email, u.lastname, u.firstname, u.login, u.statut as user_status";
488$sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_demande as pfd";
489$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"user as u on pfd.fk_user_demande = u.rowid";
490$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"prelevement_bons as pb ON pb.rowid = pfd.fk_prelevement_bons";
491if ($type ==
'salaire') {
492 $sql .=
" WHERE pfd.fk_salary = ".((int)
$object->id);
494 $sql .=
" WHERE fk_facture = ".((int)
$object->id);
496$sql .=
" AND pfd.traite = 0";
497$sql .=
" AND pfd.type = 'ban'";
498$sql .=
" ORDER BY pfd.date_demande DESC";
499$resql = $db->query($sql);
501$hadRequest = $db->num_rows($resql);
502if (
$object->paye == 0 && $hadRequest == 0) {
503 if ($resteapayer > 0) {
505 print '<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
506 print '<input type="hidden" name="token" value="'.newToken().
'" />';
507 print '<input type="hidden" name="id" value="'.$object->id.
'" />';
508 print '<input type="hidden" name="type" value="'.$type.
'" />';
509 print '<input type="hidden" name="action" value="add" />';
510 print '<label for="withdraw_request_amount">'.$langs->trans(
'BankTransferAmount').
' </label>';
511 print '<input type="text" id="withdraw_request_amount" name="request_transfer" value="'.price($resteapayer, 0, $langs, 1, -1, -1).
'" size="9" />';
512 print '<input type="submit" class="butAction" value="'.$buttonlabel.
'" />';
519 $buttonlabel = $langs->trans(
"MakeWithdrawRequestStripe");
520 print '<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
521 print '<input type="hidden" name="token" value="'.newToken().
'" />';
522 print '<input type="hidden" name="id" value="'.$object->id.
'" />';
523 print '<input type="hidden" name="type" value="'.$type.
'" />';
524 print '<input type="hidden" name="action" value="add" />';
525 print '<input type="hidden" name="paymenservice" value="stripesepa" />';
526 print '<label for="withdraw_request_amount">'.$langs->trans(
'BankTransferAmount').
' </label>';
527 print '<input type="text" id="withdraw_request_amount" name="request_transfer" value="'.price($resteapayer, 0, $langs, 1, -1, -1).
'" size="9" />';
528 print '<input type="submit" class="butAction" value="'.$buttonlabel.
'" />';
532 print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"NotEnoughPermissions")).
'">'.$buttonlabel.
'</a>';
535 print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"AmountMustBePositive")).
'">'.$buttonlabel.
'</a>';
538 if ($hadRequest == 0) {
540 print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"AlreadyPaid")).
'">'.$buttonlabel.
'</a>';
542 print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"Draft")).
'">'.$buttonlabel.
'</a>';
545 print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"RequestAlreadyDone")).
'">'.$buttonlabel.
'</a>';
557print '<div class="div-table-responsive-no-min">';
558print '<table class="noborder centpercent">';
560print '<tr class="liste_titre">';
563 print '<td> </td>';
565print '<td class="left">'.$langs->trans(
"DateRequest").
'</td>';
566print '<td>'.$langs->trans(
"User").
'</td>';
567print '<td class="center">'.$langs->trans(
"Amount").
'</td>';
568print '<td class="center">'.$langs->trans(
"DateProcess").
'</td>';
569if ($type ==
'bank-transfer') {
570 print '<td class="center">'.$langs->trans(
"BankTransferReceipt").
'</td>';
572 print '<td class="center">'.$langs->trans(
"WithdrawalReceipt").
'</td>';
574print '<td> </td>';
577 print '<td> </td>';
585 $tmpuser =
new User($db);
587 $num = $db->num_rows($resql);
590 $obj = $db->fetch_object($resql);
592 $tmpuser->id = $obj->user_id;
593 $tmpuser->login = $obj->login;
594 $tmpuser->ref = $obj->login;
595 $tmpuser->email = $obj->email;
596 $tmpuser->lastname = $obj->lastname;
597 $tmpuser->firstname = $obj->firstname;
598 $tmpuser->statut = $obj->user_status;
599 $tmpuser->status = $obj->user_status;
601 print '<tr class="oddeven">';
605 print '<td class="right">';
606 print '<a href="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'&action=delete&token='.
newToken().
'&did='.$obj->rowid.
'&type='.urlencode($type).
'">';
612 print '<td class="nowraponall">'.dol_print_date($db->jdate($obj->date_demande),
'dayhour').
"</td>\n";
615 print '<td class="tdoverflowmax125">';
616 print $tmpuser->getNomUrl(-1,
'', 0, 0, 0, 0,
'login');
620 print '<td class="center"><span class="amount">'.price($obj->amount).
'</span></td>';
623 print '<td class="center"><span class="opacitymedium">'.$langs->trans(
"OrderWaiting").
'</span></td>';
626 print '<td class="minwidth75">';
627 if ($obj->fk_prelevement_bons > 0) {
629 $withdrawreceipt->id = $obj->fk_prelevement_bons;
630 $withdrawreceipt->ref = $obj->ref;
631 $withdrawreceipt->date_trans = $db->jdate($obj->date_trans);
632 $withdrawreceipt->date_credit = $db->jdate($obj->date_credit);
633 $withdrawreceipt->date_creation = $db->jdate($obj->datec);
634 $withdrawreceipt->statut = $obj->status;
635 $withdrawreceipt->status = $obj->status;
636 $withdrawreceipt->amount = $obj->pb_amount;
639 print $withdrawreceipt->getNomUrl(1);
642 if (!in_array($type, array(
'bank-transfer',
'salaire',
'salary'))) {
644 $langs->load(
"stripe");
645 if ($obj->fk_prelevement_bons > 0) {
648 print '<a href="'.$_SERVER[
"PHP_SELF"].
'?action=sepastripedirectdebit&paymentservice=stripesepa&token='.
newToken().
'&did='.$obj->rowid.
'&id='.
$object->id.
'&type='.urlencode($type).
'">'.
img_picto(
'',
'stripe',
'class="pictofixedwidth"').$langs->trans(
"RequestDirectDebitWithStripe").
'</a>';
652 $langs->load(
"stripe");
653 if ($obj->fk_prelevement_bons > 0) {
656 print '<a href="'.$_SERVER[
"PHP_SELF"].
'?action=sepastripecredittransfer&paymentservice=stripesepa&token='.
newToken().
'&did='.$obj->rowid.
'&id='.
$object->id.
'&type='.urlencode($type).
'">'.
img_picto(
'',
'stripe',
'class="pictofixedwidth"').$langs->trans(
"RequesCreditTransferWithStripe").
'</a>';
662 print '<td class="center">-</td>';
666 print '<td class="right">';
667 print '<a href="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'&action=delete&token='.
newToken().
'&did='.$obj->rowid.
'&type='.urlencode($type).
'">';
684$sql =
"SELECT pfd.rowid, pfd.traite, pfd.date_demande as date_demande,";
685$sql .=
" pfd.date_traite as date_traite, pfd.amount, pfd.fk_prelevement_bons,";
686$sql .=
" pb.ref, pb.date_trans, pb.method_trans, pb.credite, pb.date_credit, pb.datec, pb.statut as status, pb.amount as pb_amount,";
687$sql .=
" u.rowid as user_id, u.email, u.lastname, u.firstname, u.login, u.statut as user_status";
688$sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_demande as pfd";
689$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"user as u on pfd.fk_user_demande = u.rowid";
690$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"prelevement_bons as pb ON pb.rowid = pfd.fk_prelevement_bons";
691if ($type ==
'salaire') {
692 $sql .=
" WHERE pfd.fk_salary = ".((int)
$object->id);
694 $sql .=
" WHERE fk_facture = ".((int)
$object->id);
696$sql .=
" AND pfd.traite = 1";
697$sql .=
" AND pfd.type = 'ban'";
698$sql .=
" ORDER BY pfd.date_demande DESC";
701$resql = $db->query($sql);
703 $numOfBp = $db->num_rows($resql);
705 $tmpuser =
new User($db);
707 while ($i < $numOfBp) {
708 $obj = $db->fetch_object($resql);
710 $tmpuser->id = $obj->user_id;
711 $tmpuser->login = $obj->login;
712 $tmpuser->ref = $obj->login;
713 $tmpuser->email = $obj->email;
714 $tmpuser->lastname = $obj->lastname;
715 $tmpuser->firstname = $obj->firstname;
716 $tmpuser->statut = $obj->user_status;
717 $tmpuser->status = $obj->user_status;
719 print '<tr class="oddeven">';
723 print '<td> </td>';
727 print '<td class="nowraponall">'.dol_print_date($db->jdate($obj->date_demande),
'dayhour').
"</td>\n";
730 print '<td class="tdoverflowmax125">';
731 print $tmpuser->getNomUrl(-1,
'', 0, 0, 0, 0,
'login');
735 print '<td class="center"><span class="amount">'.price($obj->amount).
'</span></td>';
738 print '<td class="center nowraponall">'.dol_print_date($db->jdate($obj->date_traite),
'dayhour',
'tzuserrel').
"</td>\n";
741 print '<td class="center minwidth75">';
742 if ($obj->fk_prelevement_bons > 0) {
744 $withdrawreceipt->id = $obj->fk_prelevement_bons;
745 $withdrawreceipt->ref = $obj->ref;
746 $withdrawreceipt->date_trans = $db->jdate($obj->date_trans);
747 $withdrawreceipt->date_credit = $db->jdate($obj->date_credit);
748 $withdrawreceipt->date_creation = $db->jdate($obj->datec);
749 $withdrawreceipt->statut = $obj->status;
750 $withdrawreceipt->status = $obj->status;
751 $withdrawreceipt->fk_bank_account = $obj->fk_bank_account;
752 $withdrawreceipt->amount = $obj->pb_amount;
755 print $withdrawreceipt->getNomUrl(1);
757 print $withdrawreceipt->getLibStatut(2);
760 $fk_bank_account = $withdrawreceipt->fk_bank_account;
761 if (empty($fk_bank_account)) {
762 $fk_bank_account = (
$object->type ==
'bank-transfer' ? $conf->global->PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT : $conf->global->PRELEVEMENT_ID_BANKACCOUNT);
764 if ($fk_bank_account > 0) {
765 $bankaccount =
new Account($db);
766 $result = $bankaccount->fetch($fk_bank_account);
769 print $bankaccount->getNomUrl(1);
776 print '<td> </td>';
780 print '<td> </td>';
792if ($num == 0 && $numOfBp == 0) {
793 print '<tr class="oddeven"><td colspan="7"><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td></tr>';
$id
Support class for third parties, contacts, members, users or resources.
if(! $sortfield) if(! $sortorder) $object
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
Empty header.
Class to manage bank accounts.
Class to manage accounting journals.
Class to manage withdrawal receipts.
Class to manage suppliers invoices.
Class to manage invoices.
Class to manage projects.
Class to manage salary payments.
Class to manage Dolibarr users.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2, $allowothertags=array())
Show picto whatever it's its name (generic function)
img_delete($titlealt='default', $other='class="pictodelete"', $morecss='')
Show delete logo.
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0, $morecssdiv='')
Show tabs of a record.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $allowothertags=array())
Show a picto called object_picto (generic function)
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.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
GETPOSTFLOAT($paramname, $rounding='', $option=2)
Return the value of a $_GET or $_POST supervariable, converted into float.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false, $decorate=0)
Output date in a string format according to outputlangs (or langs if not defined).
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
isModEnabled($module)
Is Dolibarr module enabled.
img_edit($titlealt='default', $float=0, $other='')
Show logo edit/modify fiche.
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.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.