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')) {
156 $result =
$object->update($user);
162$parameters = array(
'socid' => $socid);
163$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $obj, $action);
165 setEventMessages($hookmanager->error, $hookmanager->errors,
'errors');
169if ($action ==
'setmode' && $permissiontoadd) {
178if ($action ==
'setbankaccount' && $permissiontoadd) {
186if ($action ==
"add" && $permissiontoadd) {
191 $sourcetype =
'salaire';
192 $newtype =
'salaire';
194 $paymentservice =
GETPOST(
'paymentservice');
196 $result =
$object->demande_prelevement($user,
GETPOSTFLOAT(
'request_transfer'), $newtype, $sourcetype);
201 setEventMessages($langs->trans(
"RecordSaved"),
null,
'mesgs');
205 setEventMessages($obj->error, $obj->errors,
'errors');
211if ($action ==
"delete" && $permissiontodelete) {
215 header(
"Location: ".$_SERVER[
'PHP_SELF'].
"?id=".
$object->id);
226$form =
new Form($db);
228$title = $langs->trans(
'Salary').
" - ".$langs->trans(
'Info');
235$head = salaries_prepare_head($object);
239$linkback =
'<a href="'.DOL_URL_ROOT.
'/salaries/list.php?restore_lastsearch_values=1'.(!empty($socid) ?
'&socid='.$socid :
'').
'">'.$langs->trans(
"BackToList").
'</a>';
241$morehtmlref =
'<div class="refidno">';
243$userstatic =
new User($db);
244$userstatic->fetch(
$object->fk_user);
248if ($action !=
'editlabel') {
249 $morehtmlref .= $form->editfieldkey(
"Label",
'label',
$object->label, $object, $user->hasRight(
'salaries',
'write'),
'string',
'', 0, 1);
250 $morehtmlref .=
$object->label;
252 $morehtmlref .= $langs->trans(
'Label').
' : ';
253 $morehtmlref .=
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
254 $morehtmlref .=
'<input type="hidden" name="action" value="setlabel">';
255 $morehtmlref .=
'<input type="hidden" name="token" value="'.newToken().
'">';
256 $morehtmlref .=
'<input type="text" name="label" value="'.$object->label.
'"/>';
257 $morehtmlref .=
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
258 $morehtmlref .=
'</form>';
261$morehtmlref .=
'<br>'.$langs->trans(
'Employee').
' : '.$userstatic->getNomUrl(-1);
263$usercancreate = $permissiontoadd;
267 $langs->load(
"projects");
268 $morehtmlref .=
'<br>';
269 if ($usercancreate) {
270 $morehtmlref .= img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
271 if ($action !=
'classify') {
272 $morehtmlref .=
'<a class="editfielda" href="'.dolBuildUrl($_SERVER[
'PHP_SELF'], [
'action' =>
'classify',
'id' =>
$object->id],
true).
'">'.img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
274 $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');
276 if (!empty(
$object->fk_project)) {
278 $proj->fetch(
$object->fk_project);
279 $morehtmlref .= $proj->getNomUrl(1);
281 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
287$morehtmlref .=
'</div>';
289$totalpaid =
$object->getSommePaiement();
291$object->totalpaid = $totalpaid;
292$object->alreadypaid = $totalpaid;
294dol_banner_tab($object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'',
'');
297print '<div class="fichehalfleft">';
299print '<div class="underbanner clearboth"></div>';
302print '<table class="border centpercent tableforfield">';
304if ($action ==
'edit') {
305 print '<tr><td class="titlefieldmiddle">'.$langs->trans(
"DateStartPeriod").
"</td><td>";
306 print $form->selectDate(
$object->datesp,
'datesp', 0, 0, 0,
'datesp', 1);
310 print '<td class="titlefieldmiddle">' . $langs->trans(
"DateStartPeriod") .
'</td><td>';
315if ($action ==
'edit') {
316 print '<tr><td>'.$langs->trans(
"DateEndPeriod").
"</td><td>";
317 print $form->selectDate(
$object->dateep,
'dateep', 0, 0, 0,
'dateep', 1);
321 print '<td>' . $langs->trans(
"DateEndPeriod") .
'</td><td>';
325if ($action ==
'edit') {
326 print '<tr><td class="fieldrequired">' . $langs->trans(
"Amount") .
'</td><td><input name="amount" size="10" value="' .
price(
$object->amount) .
'"></td></tr>';
328 print '<tr><td>' . $langs->trans(
"Amount") .
'</td><td><span class="amount">' .
price(
$object->amount, 0, $langs, 1, -1, -1,
$conf->currency) .
'</span></td></tr>';
333print '<table class="nobordernopadding" width="100%"><tr><td>';
334print $langs->trans(
'DefaultPaymentMode');
336if ($action !=
'editmode') {
337 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>';
339print '</tr></table>';
342if ($action ==
'editmode') {
343 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string)
$object->type_payment,
'mode_reglement_id');
345 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string)
$object->type_payment,
'none');
351 print '<tr><td class="nowrap">';
352 print '<table width="100%" class="nobordernopadding"><tr><td class="nowrap">';
353 print $langs->trans(
'DefaultBankAccount');
355 if ($action !=
'editbankaccount' && $user->hasRight(
'salaries',
'write')) {
356 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>';
358 print '</tr></table>';
360 if ($action ==
'editbankaccount') {
361 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string)
$object->fk_account,
'fk_account', 1);
363 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string)
$object->fk_account,
'none');
370include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_view.tpl.php';
375$user_perms = $user->hasRight(
'virement',
'bons',
'creer');
376$buttonlabel = $langs->trans(
"MakeTransferRequest");
377$user_perms = $user->hasRight(
'paymentbybanktransfer',
'create');
379print '<div class="fichehalfright">';
383$sql =
"SELECT p.rowid, p.num_payment as num_payment, p.datep as dp, p.amount,";
384$sql .=
" c.code as type_code,c.libelle as paiement_type,";
385$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';
386$sql .=
" FROM ".MAIN_DB_PREFIX.
"payment_salary as p";
387$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
388$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
389$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepayment = c.id";
390$sql .=
", ".MAIN_DB_PREFIX.
"salary as s";
391$sql .=
" WHERE p.fk_salary = ".((int) $id);
392$sql .=
" AND p.fk_salary = s.rowid";
393$sql .=
" AND s.entity IN (".getEntity(
'tax').
")";
394$sql .=
" ORDER BY dp DESC";
398$resql = $db->query($sql);
402 $num = $db->num_rows($resql);
407 print '<div class="div-table-responsive-no-min">';
408 print '<table class="noborder paymenttable">';
409 print '<tr class="liste_titre">';
410 print '<td>'.$langs->trans(
"RefPayment").
'</td>';
411 print '<td>'.$langs->trans(
"Date").
'</td>';
412 print '<td>'.$langs->trans(
"Type").
'</td>';
414 print '<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
416 print '<td class="right">'.$langs->trans(
"Amount").
'</td>';
420 $bankaccountstatic =
new Account($db);
422 $objp = $db->fetch_object($resql);
424 print '<tr class="oddeven"><td>';
425 print '<a href="'.DOL_URL_ROOT.
'/salaries/payment_salary/card.php?id='.$objp->rowid.
'">'.img_object($langs->trans(
"Payment"),
"payment").
' '.$objp->rowid.
'</a></td>';
426 print '<td>'.dol_print_date($db->jdate($objp->dp),
'dayhour',
'tzuserrel').
"</td>\n";
427 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
428 print "<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
430 $bankaccountstatic->id = $objp->baid;
431 $bankaccountstatic->ref = $objp->baref;
432 $bankaccountstatic->label = $objp->baref;
433 $bankaccountstatic->number = $objp->banumber;
434 $bankaccountstatic->currency_code = $objp->bacurrency_code;
437 $bankaccountstatic->account_number = $objp->account_number;
440 $accountingjournal->fetch($objp->fk_accountancy_journal);
441 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
444 print '<td class="right">';
445 if ($bankaccountstatic->id) {
446 print $bankaccountstatic->getNomUrl(1,
'transactions');
450 print '<td class="right nowrap amountcard">'.price($objp->amount).
"</td>\n";
452 $totalpaid += $objp->amount;
456 print '<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
457 print '<td></td><td></td><td></td><td></td>';
464 $resteapayer = (float)
$object->amount - $totalpaid;
475 dol_print_error($db);
479print '<div class="clearboth"></div>';
485print '<div class="tabsAction">'.
"\n";
487$sql =
"SELECT pfd.rowid, pfd.traite, pfd.date_demande as date_demande,";
488$sql .=
" pfd.date_traite as date_traite, pfd.amount, pfd.fk_prelevement_bons,";
489$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,";
490$sql .=
" u.rowid as user_id, u.email, u.lastname, u.firstname, u.login, u.statut as user_status";
491$sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_demande as pfd";
492$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"user as u on pfd.fk_user_demande = u.rowid";
493$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"prelevement_bons as pb ON pb.rowid = pfd.fk_prelevement_bons";
494if ($type ==
'salaire') {
495 $sql .=
" WHERE pfd.fk_salary = ".((int)
$object->id);
497 $sql .=
" WHERE fk_facture = ".((int)
$object->id);
499$sql .=
" AND pfd.traite = 0";
500$sql .=
" AND pfd.type = 'ban'";
501$sql .=
" ORDER BY pfd.date_demande DESC";
502$resql = $db->query($sql);
504$hadRequest = $db->num_rows($resql);
505if (
$object->paye == 0 && $hadRequest == 0) {
506 if ($resteapayer > 0) {
508 print '<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
509 print '<input type="hidden" name="token" value="'.newToken().
'" />';
510 print '<input type="hidden" name="id" value="'.$object->id.
'" />';
511 print '<input type="hidden" name="type" value="'.$type.
'" />';
512 print '<input type="hidden" name="action" value="add" />';
513 print '<label for="withdraw_request_amount">'.$langs->trans(
'BankTransferAmount').
' </label>';
514 print '<input type="text" id="withdraw_request_amount" name="request_transfer" value="'.price($resteapayer, 0, $langs, 1, -1, -1).
'" size="9" />';
515 print '<input type="submit" class="butAction" value="'.$buttonlabel.
'" />';
522 $buttonlabel = $langs->trans(
"MakeWithdrawRequestStripe");
523 print '<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
524 print '<input type="hidden" name="token" value="'.newToken().
'" />';
525 print '<input type="hidden" name="id" value="'.$object->id.
'" />';
526 print '<input type="hidden" name="type" value="'.$type.
'" />';
527 print '<input type="hidden" name="action" value="add" />';
528 print '<input type="hidden" name="paymenservice" value="stripesepa" />';
529 print '<label for="withdraw_request_amount">'.$langs->trans(
'BankTransferAmount').
' </label>';
530 print '<input type="text" id="withdraw_request_amount" name="request_transfer" value="'.price($resteapayer, 0, $langs, 1, -1, -1).
'" size="9" />';
531 print '<input type="submit" class="butAction" value="'.$buttonlabel.
'" />';
535 print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"NotEnoughPermissions")).
'">'.$buttonlabel.
'</a>';
538 print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"AmountMustBePositive")).
'">'.$buttonlabel.
'</a>';
541 if ($hadRequest == 0) {
543 print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"AlreadyPaid")).
'">'.$buttonlabel.
'</a>';
545 print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"Draft")).
'">'.$buttonlabel.
'</a>';
548 print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"RequestAlreadyDone")).
'">'.$buttonlabel.
'</a>';
560print '<div class="div-table-responsive-no-min">';
561print '<table class="noborder centpercent">';
563print '<tr class="liste_titre">';
565if (
$conf->main_checkbox_left_column) {
566 print '<td> </td>';
568print '<td class="left">'.$langs->trans(
"DateRequest").
'</td>';
569print '<td>'.$langs->trans(
"User").
'</td>';
570print '<td class="center">'.$langs->trans(
"Amount").
'</td>';
571print '<td class="center">'.$langs->trans(
"DateProcess").
'</td>';
572if ($type ==
'bank-transfer') {
573 print '<td class="center">'.$langs->trans(
"BankTransferReceipt").
'</td>';
575 print '<td class="center">'.$langs->trans(
"WithdrawalReceipt").
'</td>';
577print '<td> </td>';
579if (!
$conf->main_checkbox_left_column) {
580 print '<td> </td>';
588 $tmpuser =
new User($db);
590 $num = $db->num_rows($resql);
593 $obj = $db->fetch_object($resql);
595 $tmpuser->id = $obj->user_id;
596 $tmpuser->login = $obj->login;
597 $tmpuser->ref = $obj->login;
598 $tmpuser->email = $obj->email;
599 $tmpuser->lastname = $obj->lastname;
600 $tmpuser->firstname = $obj->firstname;
601 $tmpuser->status = $obj->user_status;
603 print '<tr class="oddeven">';
606 if (
$conf->main_checkbox_left_column) {
607 print '<td class="right">';
608 print '<a href="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'&action=delete&token='.
newToken().
'&did='.$obj->rowid.
'&type='.urlencode($type).
'">';
614 print '<td class="nowraponall">'.dol_print_date($db->jdate($obj->date_demande),
'dayhour').
"</td>\n";
617 print '<td class="tdoverflowmax125">';
618 print $tmpuser->getNomUrl(-1,
'', 0, 0, 0, 0,
'login');
622 print '<td class="center"><span class="amount">'.price($obj->amount).
'</span></td>';
625 print '<td class="center"><span class="opacitymedium">'.$langs->trans(
"OrderWaiting").
'</span></td>';
628 print '<td class="minwidth75">';
629 if ($obj->fk_prelevement_bons > 0) {
631 $withdrawreceipt->id = $obj->fk_prelevement_bons;
632 $withdrawreceipt->ref = $obj->ref;
633 $withdrawreceipt->date_trans = $db->jdate($obj->date_trans);
634 $withdrawreceipt->date_credit = $db->jdate($obj->date_credit);
635 $withdrawreceipt->date_creation = $db->jdate($obj->datec);
636 $withdrawreceipt->statut = $obj->status;
637 $withdrawreceipt->status = $obj->status;
638 $withdrawreceipt->amount = $obj->pb_amount;
641 print $withdrawreceipt->getNomUrl(1);
644 if (!in_array($type, array(
'bank-transfer',
'salaire',
'salary'))) {
646 $langs->load(
"stripe");
647 if ($obj->fk_prelevement_bons > 0) {
650 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>';
654 $langs->load(
"stripe");
655 if ($obj->fk_prelevement_bons > 0) {
658 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>';
664 print '<td class="center">-</td>';
667 if (!
$conf->main_checkbox_left_column) {
668 print '<td class="right">';
669 print '<a href="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'&action=delete&token='.
newToken().
'&did='.$obj->rowid.
'&type='.urlencode($type).
'">';
681 dol_print_error($db);
686$sql =
"SELECT pfd.rowid, pfd.traite, pfd.date_demande as date_demande,";
687$sql .=
" pfd.date_traite as date_traite, pfd.amount, pfd.fk_prelevement_bons,";
688$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,";
689$sql .=
" u.rowid as user_id, u.email, u.lastname, u.firstname, u.login, u.statut as user_status";
690$sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_demande as pfd";
691$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"user as u on pfd.fk_user_demande = u.rowid";
692$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"prelevement_bons as pb ON pb.rowid = pfd.fk_prelevement_bons";
693if ($type ==
'salaire') {
694 $sql .=
" WHERE pfd.fk_salary = ".((int)
$object->id);
696 $sql .=
" WHERE fk_facture = ".((int)
$object->id);
698$sql .=
" AND pfd.traite = 1";
699$sql .=
" AND pfd.type = 'ban'";
700$sql .=
" ORDER BY pfd.date_demande DESC";
703$resql = $db->query($sql);
705 $numOfBp = $db->num_rows($resql);
707 $tmpuser =
new User($db);
709 while ($i < $numOfBp) {
710 $obj = $db->fetch_object($resql);
712 $tmpuser->id = $obj->user_id;
713 $tmpuser->login = $obj->login;
714 $tmpuser->ref = $obj->login;
715 $tmpuser->email = $obj->email;
716 $tmpuser->lastname = $obj->lastname;
717 $tmpuser->firstname = $obj->firstname;
718 $tmpuser->status = $obj->user_status;
720 print '<tr class="oddeven">';
723 if (
$conf->main_checkbox_left_column) {
724 print '<td> </td>';
728 print '<td class="nowraponall">'.dol_print_date($db->jdate($obj->date_demande),
'dayhour').
"</td>\n";
731 print '<td class="tdoverflowmax125">';
732 print $tmpuser->getNomUrl(-1,
'', 0, 0, 0, 0,
'login');
736 print '<td class="center"><span class="amount">'.price($obj->amount).
'</span></td>';
739 print '<td class="center nowraponall">'.dol_print_date($db->jdate($obj->date_traite),
'dayhour',
'tzuserrel').
"</td>\n";
742 print '<td class="center minwidth75">';
743 if ($obj->fk_prelevement_bons > 0) {
745 $withdrawreceipt->id = $obj->fk_prelevement_bons;
746 $withdrawreceipt->ref = $obj->ref;
747 $withdrawreceipt->date_trans = $db->jdate($obj->date_trans);
748 $withdrawreceipt->date_credit = $db->jdate($obj->date_credit);
749 $withdrawreceipt->date_creation = $db->jdate($obj->datec);
750 $withdrawreceipt->statut = $obj->status;
751 $withdrawreceipt->status = $obj->status;
752 $withdrawreceipt->fk_bank_account = $obj->fk_bank_account;
753 $withdrawreceipt->amount = $obj->pb_amount;
756 print $withdrawreceipt->getNomUrl(1);
758 print $withdrawreceipt->getLibStatut(2);
761 $fk_bank_account = $withdrawreceipt->fk_bank_account;
762 if (empty($fk_bank_account)) {
763 $fk_bank_account = (
$object->type ==
'bank-transfer' ?
$conf->global->PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT :
$conf->global->PRELEVEMENT_ID_BANKACCOUNT);
765 if ($fk_bank_account > 0) {
766 $bankaccount =
new Account($db);
767 $result = $bankaccount->fetch($fk_bank_account);
770 print $bankaccount->getNomUrl(1);
777 print '<td> </td>';
780 if (!
$conf->main_checkbox_left_column) {
781 print '<td> </td>';
790 dol_print_error($db);
793if ($num == 0 && $numOfBp == 0) {
794 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.
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'.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0, $nodefault=0)
Return value of a param into GET or POST supervariable.
GETPOSTFLOAT($paramname, $rounding='', $option=2)
Return the value of a $_GET or $_POST supervariable, converted into float.
GETPOSTINT($paramname, $method=0, $nodefault=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
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).
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
isModEnabled($module)
Is Dolibarr module enabled.
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.
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $nodie=0, $mode='')
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.