30require
'../main.inc.php';
31require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
32require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
33require_once DOL_DOCUMENT_ROOT.
'/salaries/class/salary.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/salaries/class/paymentsalary.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
36require_once DOL_DOCUMENT_ROOT.
'/core/lib/salaries.lib.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/class/extrafields.class.php';
38require_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingjournal.class.php';
39require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
40require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/bonprelevement.class.php';
42require_once DOL_DOCUMENT_ROOT.
'/societe/class/companybankaccount.class.php';
43require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.class.php';
44require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
46require_once DOL_DOCUMENT_ROOT.
'/core/lib/invoice.lib.php';
47require_once DOL_DOCUMENT_ROOT.
'/core/lib/fourn.lib.php';
48require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
49require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/bonprelevement.class.php';
50require_once DOL_DOCUMENT_ROOT.
'/core/class/discount.class.php';
51require_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
52require_once DOL_DOCUMENT_ROOT.
'/societe/class/companybankaccount.class.php';
53require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.class.php';
54require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
55if (isModEnabled(
'project')) {
56 require_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
57 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
61$langs->loadLangs(array(
"compta",
"bills",
"users",
"salaries",
"hrm",
"withdrawals"));
65$action =
GETPOST(
'action',
'aZ09');
68$label =
GETPOST(
'label',
'alphanohtml');
74 $socid = $user->socid;
81$childids = $user->getAllChildIds(1);
84$extrafields->fetch_name_optionals_label(
$object->table_element);
87$hookmanager->initHooks(array(
'salaryinfo',
'globalcard'));
90if ($id > 0 || !empty($ref)) {
95 if ($user->hasRight(
'salaries',
'readall')) {
98 if ($user->hasRight(
'salaries',
'read') &&
$object->fk_user > 0 && in_array(
$object->fk_user, $childids)) {
106$permissiontoread = $user->hasRight(
'salaries',
'read');
107$permissiontoadd = $user->hasRight(
'salaries',
'write');
108$permissiontodelete = $user->hasRight(
'salaries',
'delete') || ($permissiontoadd && isset(
$object->status) &&
$object->status == $object::STATUS_UNPAID);
111if ($type ==
'bank-transfer') {
113 $moreparam =
'&type='.$type;
119if ($id > 0 || !empty($ref)) {
120 $ret =
$object->fetch($id, $ref);
127$hookmanager->initHooks(array(
'directdebitcard',
'globalcard'));
137if ($action ==
'classin' && $user->hasRight(
'banque',
'modifier')) {
139 $object->setProject($projectid);
143if ($action ==
'setlabel' && $user->hasRight(
'salaries',
'write')) {
149$parameters = array(
'socid' => $socid);
150$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $obj, $action);
156if ($action ==
"add" && $permissiontoadd) {
161 $sourcetype =
'salaire';
162 $newtype =
'salaire';
163 $paymentservice =
GETPOST(
'paymentservice');
164 $result =
$object->demande_prelevement($user,
price2num(
GETPOST(
'request_transfer',
'alpha')), $newtype, $sourcetype);
179if ($action ==
"delete" && $permissiontodelete) {
183 header(
"Location: ".$_SERVER[
'PHP_SELF'].
"?id=".
$object->id);
194if (isModEnabled(
'project')) {
198$title = $langs->trans(
'Salary').
" - ".$langs->trans(
'Info');
205$head = salaries_prepare_head($object);
207print
dol_get_fiche_head($head,
'request_virement', $langs->trans(
"SalaryPayment"), -1,
'salary');
209$linkback =
'<a href="'.DOL_URL_ROOT.
'/salaries/list.php?restore_lastsearch_values=1'.(!empty($socid) ?
'&socid='.$socid :
'').
'">'.$langs->trans(
"BackToList").
'</a>';
211$morehtmlref =
'<div class="refidno">';
213$userstatic =
new User($db);
214$userstatic->fetch(
$object->fk_user);
218if ($action !=
'editlabel') {
219 $morehtmlref .= $form->editfieldkey(
"Label",
'label',
$object->label, $object, $user->hasRight(
'salaries',
'write'),
'string',
'', 0, 1);
220 $morehtmlref .=
$object->label;
222 $morehtmlref .= $langs->trans(
'Label').
' : ';
223 $morehtmlref .=
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
224 $morehtmlref .=
'<input type="hidden" name="action" value="setlabel">';
225 $morehtmlref .=
'<input type="hidden" name="token" value="'.newToken().
'">';
226 $morehtmlref .=
'<input type="text" name="label" value="'.$object->label.
'"/>';
227 $morehtmlref .=
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
228 $morehtmlref .=
'</form>';
231$morehtmlref .=
'<br>'.$langs->trans(
'Employee').
' : '.$userstatic->getNomUrl(-1);
233$usercancreate = $permissiontoadd;
236if (isModEnabled(
'project')) {
237 $langs->load(
"projects");
238 $morehtmlref .=
'<br>';
239 if ($usercancreate) {
240 $morehtmlref .=
img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
241 if ($action !=
'classify') {
242 $morehtmlref .=
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.
$object->id.
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
244 $morehtmlref .= $form->form_project($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->socid,
$object->fk_project, ($action ==
'classify' ?
'projectid' :
'none'), 0, 0, 0, 1,
'',
'maxwidth300');
246 if (!empty(
$object->fk_project)) {
248 $proj->fetch(
$object->fk_project);
249 $morehtmlref .= $proj->getNomUrl(1);
251 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
257$morehtmlref .=
'</div>';
259dol_banner_tab($object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'',
'');
261print
'<div class="fichecenter">';
262print
'<div class="fichehalfleft">';
264print
'<div class="underbanner clearboth"></div>';
267print
'<table class="border centpercent tableforfield">';
269if ($action ==
'edit') {
270 print
'<tr><td class="titlefield">'.$langs->trans(
"DateStartPeriod").
"</td><td>";
271 print $form->selectDate(
$object->datesp,
'datesp', 0, 0, 0,
'datesp', 1);
275 print
'<td class="titlefield">' . $langs->trans(
"DateStartPeriod") .
'</td><td>';
280if ($action ==
'edit') {
281 print
'<tr><td>'.$langs->trans(
"DateEndPeriod").
"</td><td>";
282 print $form->selectDate(
$object->dateep,
'dateep', 0, 0, 0,
'dateep', 1);
286 print
'<td>' . $langs->trans(
"DateEndPeriod") .
'</td><td>';
290if ($action ==
'edit') {
291 print
'<tr><td class="fieldrequired">' . $langs->trans(
"Amount") .
'</td><td><input name="amount" size="10" value="' .
price(
$object->amount) .
'"></td></tr>';
293 print
'<tr><td>' . $langs->trans(
"Amount") .
'</td><td><span class="amount">' .
price(
$object->amount, 0, $langs, 1, -1, -1, $conf->currency) .
'</span></td></tr>';
298print
'<table class="nobordernopadding" width="100%"><tr><td>';
299print $langs->trans(
'DefaultPaymentMode');
301if ($action !=
'editmode') {
302 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>';
304print
'</tr></table>';
307if ($action ==
'editmode') {
308 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->type_payment,
'mode_reglement_id');
310 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->type_payment,
'none');
315if (isModEnabled(
"bank")) {
316 print
'<tr><td class="nowrap">';
317 print
'<table width="100%" class="nobordernopadding"><tr><td class="nowrap">';
318 print $langs->trans(
'DefaultBankAccount');
320 if ($action !=
'editbankaccount' && $user->hasRight(
'salaries',
'write')) {
321 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>';
323 print
'</tr></table>';
325 if ($action ==
'editbankaccount') {
326 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'fk_account', 1);
328 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'none');
335include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_view.tpl.php';
340$user_perms = $user->hasRight(
'virement',
'bons',
'creer');
341$buttonlabel = $langs->trans(
"MakeTransferRequest");
342$user_perms = $user->hasRight(
'paymentbybanktransfer',
'create');
344print
'<div class="fichehalfright">';
348$sql =
"SELECT p.rowid, p.num_payment as num_payment, p.datep as dp, p.amount,";
349$sql .=
" c.code as type_code,c.libelle as paiement_type,";
350$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';
351$sql .=
" FROM ".MAIN_DB_PREFIX.
"payment_salary as p";
352$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
353$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
354$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepayment = c.id";
355$sql .=
", ".MAIN_DB_PREFIX.
"salary as s";
356$sql .=
" WHERE p.fk_salary = ".((int) $id);
357$sql .=
" AND p.fk_salary = s.rowid";
358$sql .=
" AND s.entity IN (".getEntity(
'tax').
")";
359$sql .=
" ORDER BY dp DESC";
362$resql = $db->query($sql);
366 $num = $db->num_rows($resql);
371 print
'<div class="div-table-responsive-no-min">';
372 print
'<table class="noborder paymenttable">';
373 print
'<tr class="liste_titre">';
374 print
'<td>'.$langs->trans(
"RefPayment").
'</td>';
375 print
'<td>'.$langs->trans(
"Date").
'</td>';
376 print
'<td>'.$langs->trans(
"Type").
'</td>';
377 if (isModEnabled(
"bank")) {
378 print
'<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
380 print
'<td class="right">'.$langs->trans(
"Amount").
'</td>';
384 $bankaccountstatic =
new Account($db);
386 $objp = $db->fetch_object($resql);
388 print
'<tr class="oddeven"><td>';
389 print
'<a href="'.DOL_URL_ROOT.
'/salaries/payment_salary/card.php?id='.$objp->rowid.
'">'.
img_object($langs->trans(
"Payment"),
"payment").
' '.$objp->rowid.
'</a></td>';
390 print
'<td>'.dol_print_date($db->jdate($objp->dp),
'dayhour',
'tzuserrel').
"</td>\n";
391 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
392 print
"<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
393 if (isModEnabled(
"bank")) {
394 $bankaccountstatic->id = $objp->baid;
395 $bankaccountstatic->ref = $objp->baref;
396 $bankaccountstatic->label = $objp->baref;
397 $bankaccountstatic->number = $objp->banumber;
398 $bankaccountstatic->currency_code = $objp->bacurrency_code;
400 if (isModEnabled(
'accounting')) {
401 $bankaccountstatic->account_number = $objp->account_number;
404 $accountingjournal->fetch($objp->fk_accountancy_journal);
405 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
408 print
'<td class="right">';
409 if ($bankaccountstatic->id) {
410 print $bankaccountstatic->getNomUrl(1,
'transactions');
414 print
'<td class="right nowrap amountcard">'.price($objp->amount).
"</td>\n";
416 $totalpaid += $objp->amount;
420 print
'<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
421 print
'<td></td><td></td><td></td><td></td>';
428 $resteapayer = (float)
$object->amount - $totalpaid;
443print
'<div class="clearboth"></div>';
449print
'<div class="tabsAction">'.
"\n";
451$sql =
"SELECT pfd.rowid, pfd.traite, pfd.date_demande as date_demande,";
452$sql .=
" pfd.date_traite as date_traite, pfd.amount, pfd.fk_prelevement_bons,";
453$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,";
454$sql .=
" u.rowid as user_id, u.email, u.lastname, u.firstname, u.login, u.statut as user_status";
455$sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_demande as pfd";
456$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"user as u on pfd.fk_user_demande = u.rowid";
457$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"prelevement_bons as pb ON pb.rowid = pfd.fk_prelevement_bons";
458if ($type ==
'salaire') {
459 $sql .=
" WHERE pfd.fk_salary = ".((int)
$object->id);
461 $sql .=
" WHERE fk_facture = ".((int)
$object->id);
463$sql .=
" AND pfd.traite = 0";
464$sql .=
" AND pfd.type = 'ban'";
465$sql .=
" ORDER BY pfd.date_demande DESC";
466$resql = $db->query($sql);
468$hadRequest = $db->num_rows($resql);
469if (
$object->paye == 0 && $hadRequest == 0) {
470 if ($resteapayer > 0) {
472 print
'<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
473 print
'<input type="hidden" name="token" value="'.newToken().
'" />';
474 print
'<input type="hidden" name="id" value="'.$object->id.
'" />';
475 print
'<input type="hidden" name="type" value="'.$type.
'" />';
476 print
'<input type="hidden" name="action" value="add" />';
477 print
'<label for="withdraw_request_amount">'.$langs->trans(
'BankTransferAmount').
' </label>';
478 print
'<input type="text" id="withdraw_request_amount" name="request_transfer" value="'.price($resteapayer, 0, $langs, 1, -1, -1).
'" size="9" />';
479 print
'<input type="submit" class="butAction" value="'.$buttonlabel.
'" />';
486 $buttonlabel = $langs->trans(
"MakeWithdrawRequestStripe");
487 print
'<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
488 print
'<input type="hidden" name="token" value="'.newToken().
'" />';
489 print
'<input type="hidden" name="id" value="'.$object->id.
'" />';
490 print
'<input type="hidden" name="type" value="'.$type.
'" />';
491 print
'<input type="hidden" name="action" value="add" />';
492 print
'<input type="hidden" name="paymenservice" value="stripesepa" />';
493 print
'<label for="withdraw_request_amount">'.$langs->trans(
'BankTransferAmount').
' </label>';
494 print
'<input type="text" id="withdraw_request_amount" name="request_transfer" value="'.price($resteapayer, 0, $langs, 1, -1, -1).
'" size="9" />';
495 print
'<input type="submit" class="butAction" value="'.$buttonlabel.
'" />';
499 print
'<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"NotEnoughPermissions")).
'">'.$buttonlabel.
'</a>';
502 print
'<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"AmountMustBePositive")).
'">'.$buttonlabel.
'</a>';
505 if ($hadRequest == 0) {
507 print
'<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"AlreadyPaid")).
'">'.$buttonlabel.
'</a>';
509 print
'<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"Draft")).
'">'.$buttonlabel.
'</a>';
512 print
'<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"RequestAlreadyDone")).
'">'.$buttonlabel.
'</a>';
524print
'<div class="div-table-responsive-no-min">';
525print
'<table class="noborder centpercent">';
527print
'<tr class="liste_titre">';
530 print
'<td> </td>';
532print
'<td class="left">'.$langs->trans(
"DateRequest").
'</td>';
533print
'<td>'.$langs->trans(
"User").
'</td>';
534print
'<td class="center">'.$langs->trans(
"Amount").
'</td>';
535print
'<td class="center">'.$langs->trans(
"DateProcess").
'</td>';
536if ($type ==
'bank-transfer') {
537 print
'<td class="center">'.$langs->trans(
"BankTransferReceipt").
'</td>';
539 print
'<td class="center">'.$langs->trans(
"WithdrawalReceipt").
'</td>';
541print
'<td> </td>';
544 print
'<td> </td>';
552 $tmpuser =
new User($db);
554 $num = $db->num_rows($result);
557 $obj = $db->fetch_object($resql);
559 $tmpuser->id = $obj->user_id;
560 $tmpuser->login = $obj->login;
561 $tmpuser->ref = $obj->login;
562 $tmpuser->email = $obj->email;
563 $tmpuser->lastname = $obj->lastname;
564 $tmpuser->firstname = $obj->firstname;
565 $tmpuser->statut = $obj->user_status;
566 $tmpuser->status = $obj->user_status;
568 print
'<tr class="oddeven">';
572 print
'<td class="right">';
573 print
'<a href="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'&action=delete&token='.
newToken().
'&did='.$obj->rowid.
'&type='.urlencode($type).
'">';
579 print
'<td class="nowraponall">'.dol_print_date($db->jdate($obj->date_demande),
'dayhour').
"</td>\n";
582 print
'<td class="tdoverflowmax125">';
583 print $tmpuser->getNomUrl(-1,
'', 0, 0, 0, 0,
'login');
587 print
'<td class="center"><span class="amount">'.price($obj->amount).
'</span></td>';
590 print
'<td class="center"><span class="opacitymedium">'.$langs->trans(
"OrderWaiting").
'</span></td>';
593 print
'<td class="minwidth75">';
594 if ($obj->fk_prelevement_bons > 0) {
596 $withdrawreceipt->id = $obj->fk_prelevement_bons;
597 $withdrawreceipt->ref = $obj->ref;
598 $withdrawreceipt->date_trans = $db->jdate($obj->date_trans);
599 $withdrawreceipt->date_credit = $db->jdate($obj->date_credit);
600 $withdrawreceipt->date_creation = $db->jdate($obj->datec);
601 $withdrawreceipt->statut = $obj->status;
602 $withdrawreceipt->status = $obj->status;
603 $withdrawreceipt->amount = $obj->pb_amount;
606 print $withdrawreceipt->getNomUrl(1);
609 if (!in_array($type, array(
'bank-transfer',
'salaire',
'salary'))) {
611 $langs->load(
"stripe");
612 if ($obj->fk_prelevement_bons > 0) {
615 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>';
619 $langs->load(
"stripe");
620 if ($obj->fk_prelevement_bons > 0) {
623 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>';
629 print
'<td class="center">-</td>';
633 print
'<td class="right">';
634 print
'<a href="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'&action=delete&token='.
newToken().
'&did='.$obj->rowid.
'&type='.urlencode($type).
'">';
651$sql =
"SELECT pfd.rowid, pfd.traite, pfd.date_demande as date_demande,";
652$sql .=
" pfd.date_traite as date_traite, pfd.amount, pfd.fk_prelevement_bons,";
653$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,";
654$sql .=
" u.rowid as user_id, u.email, u.lastname, u.firstname, u.login, u.statut as user_status";
655$sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_demande as pfd";
656$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"user as u on pfd.fk_user_demande = u.rowid";
657$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"prelevement_bons as pb ON pb.rowid = pfd.fk_prelevement_bons";
658if ($type ==
'salaire') {
659 $sql .=
" WHERE pfd.fk_salary = ".((int)
$object->id);
661 $sql .=
" WHERE fk_facture = ".((int)
$object->id);
663$sql .=
" AND pfd.traite = 1";
664$sql .=
" AND pfd.type = 'ban'";
665$sql .=
" ORDER BY pfd.date_demande DESC";
667$resql = $db->query($sql);
669 $numOfBp = $db->num_rows($resql);
671 $tmpuser =
new User($db);
673 while ($i < $numOfBp) {
674 $obj = $db->fetch_object($resql);
676 $tmpuser->id = $obj->user_id;
677 $tmpuser->login = $obj->login;
678 $tmpuser->ref = $obj->login;
679 $tmpuser->email = $obj->email;
680 $tmpuser->lastname = $obj->lastname;
681 $tmpuser->firstname = $obj->firstname;
682 $tmpuser->statut = $obj->user_status;
683 $tmpuser->status = $obj->user_status;
685 print
'<tr class="oddeven">';
689 print
'<td> </td>';
693 print
'<td class="nowraponall">'.dol_print_date($db->jdate($obj->date_demande),
'dayhour').
"</td>\n";
696 print
'<td class="tdoverflowmax125">';
697 print $tmpuser->getNomUrl(-1,
'', 0, 0, 0, 0,
'login');
701 print
'<td class="center"><span class="amount">'.price($obj->amount).
'</span></td>';
704 print
'<td class="center nowraponall">'.dol_print_date($db->jdate($obj->date_traite),
'dayhour',
'tzuserrel').
"</td>\n";
707 print
'<td class="center minwidth75">';
708 if ($obj->fk_prelevement_bons > 0) {
710 $withdrawreceipt->id = $obj->fk_prelevement_bons;
711 $withdrawreceipt->ref = $obj->ref;
712 $withdrawreceipt->date_trans = $db->jdate($obj->date_trans);
713 $withdrawreceipt->date_credit = $db->jdate($obj->date_credit);
714 $withdrawreceipt->date_creation = $db->jdate($obj->datec);
715 $withdrawreceipt->statut = $obj->status;
716 $withdrawreceipt->status = $obj->status;
717 $withdrawreceipt->fk_bank_account = $obj->fk_bank_account;
718 $withdrawreceipt->amount = $obj->pb_amount;
721 print $withdrawreceipt->getNomUrl(1);
723 print $withdrawreceipt->getLibStatut(2);
726 $fk_bank_account = $withdrawreceipt->fk_bank_account;
727 if (empty($fk_bank_account)) {
728 $fk_bank_account = (
$object->type ==
'bank-transfer' ? $conf->global->PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT : $conf->global->PRELEVEMENT_ID_BANKACCOUNT);
730 if ($fk_bank_account > 0) {
731 $bankaccount =
new Account($db);
732 $result = $bankaccount->fetch($fk_bank_account);
735 print $bankaccount->getNomUrl(1);
742 print
'<td> </td>';
746 print
'<td> </td>';
758if ($num == 0 && $numOfBp == 0) {
759 print
'<tr class="oddeven"><td colspan="7"><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td></tr>';
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
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.
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0)
Show a picto called object_picto (generic function)
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
img_delete($titlealt='default', $other='class="pictodelete"', $morecss='')
Show delete logo.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
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)
Show tabs of a record.
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
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=null, $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.
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.
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.