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';
70$langs->loadLangs(array(
"compta",
"bills",
"users",
"salaries",
"hrm",
"withdrawals"));
74$action =
GETPOST(
'action',
'aZ09');
77$label =
GETPOST(
'label',
'alphanohtml');
83 $socid = $user->socid;
90$childids = $user->getAllChildIds(1);
93$extrafields->fetch_name_optionals_label(
$object->table_element);
96$hookmanager->initHooks(array(
'salaryinfo',
'globalcard'));
99if ($id > 0 || !empty($ref)) {
104 if ($user->hasRight(
'salaries',
'readall')) {
107 if ($user->hasRight(
'salaries',
'read') &&
$object->fk_user > 0 && in_array(
$object->fk_user, $childids)) {
115$permissiontoread = $user->hasRight(
'salaries',
'read');
116$permissiontoadd = $user->hasRight(
'salaries',
'write');
117$permissiontodelete = $user->hasRight(
'salaries',
'delete') || ($permissiontoadd && isset(
$object->status) &&
$object->status == $object::STATUS_UNPAID);
120if ($type ==
'bank-transfer') {
122 $moreparam =
'&type='.$type;
128if ($id > 0 || !empty($ref)) {
129 $ret =
$object->fetch($id, $ref);
136$hookmanager->initHooks(array(
'directdebitcard',
'globalcard'));
146if ($action ==
'classin' && $user->hasRight(
'banque',
'modifier')) {
148 $object->setProject($projectid);
152if ($action ==
'setlabel' && $user->hasRight(
'salaries',
'write')) {
158$parameters = array(
'socid' => $socid);
159$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $obj, $action);
165if ($action ==
"add" && $permissiontoadd) {
170 $sourcetype =
'salaire';
171 $newtype =
'salaire';
172 $paymentservice =
GETPOST(
'paymentservice');
173 $result =
$object->demande_prelevement($user,
price2num(
GETPOST(
'request_transfer',
'alpha')), $newtype, $sourcetype);
188if ($action ==
"delete" && $permissiontodelete) {
192 header(
"Location: ".$_SERVER[
'PHP_SELF'].
"?id=".
$object->id);
203if (isModEnabled(
'project')) {
207$title = $langs->trans(
'Salary').
" - ".$langs->trans(
'Info');
214$head = salaries_prepare_head($object);
216print
dol_get_fiche_head($head,
'request_virement', $langs->trans(
"SalaryPayment"), -1,
'salary');
218$linkback =
'<a href="'.DOL_URL_ROOT.
'/salaries/list.php?restore_lastsearch_values=1'.(!empty($socid) ?
'&socid='.$socid :
'').
'">'.$langs->trans(
"BackToList").
'</a>';
220$morehtmlref =
'<div class="refidno">';
222$userstatic =
new User($db);
223$userstatic->fetch(
$object->fk_user);
227if ($action !=
'editlabel') {
228 $morehtmlref .= $form->editfieldkey(
"Label",
'label',
$object->label, $object, $user->hasRight(
'salaries',
'write'),
'string',
'', 0, 1);
229 $morehtmlref .=
$object->label;
231 $morehtmlref .= $langs->trans(
'Label').
' : ';
232 $morehtmlref .=
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
233 $morehtmlref .=
'<input type="hidden" name="action" value="setlabel">';
234 $morehtmlref .=
'<input type="hidden" name="token" value="'.newToken().
'">';
235 $morehtmlref .=
'<input type="text" name="label" value="'.$object->label.
'"/>';
236 $morehtmlref .=
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
237 $morehtmlref .=
'</form>';
240$morehtmlref .=
'<br>'.$langs->trans(
'Employee').
' : '.$userstatic->getNomUrl(-1);
242$usercancreate = $permissiontoadd;
245if (isModEnabled(
'project')) {
246 $langs->load(
"projects");
247 $morehtmlref .=
'<br>';
248 if ($usercancreate) {
249 $morehtmlref .=
img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
250 if ($action !=
'classify') {
251 $morehtmlref .=
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.
$object->id.
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
253 $morehtmlref .= $form->form_project($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->socid,
$object->fk_project, ($action ==
'classify' ?
'projectid' :
'none'), 0, 0, 0, 1,
'',
'maxwidth300');
255 if (!empty(
$object->fk_project)) {
257 $proj->fetch(
$object->fk_project);
258 $morehtmlref .= $proj->getNomUrl(1);
260 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
266$morehtmlref .=
'</div>';
268dol_banner_tab($object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'',
'');
270print
'<div class="fichecenter">';
271print
'<div class="fichehalfleft">';
273print
'<div class="underbanner clearboth"></div>';
276print
'<table class="border centpercent tableforfield">';
278if ($action ==
'edit') {
279 print
'<tr><td class="titlefield">'.$langs->trans(
"DateStartPeriod").
"</td><td>";
280 print $form->selectDate(
$object->datesp,
'datesp', 0, 0, 0,
'datesp', 1);
284 print
'<td class="titlefield">' . $langs->trans(
"DateStartPeriod") .
'</td><td>';
289if ($action ==
'edit') {
290 print
'<tr><td>'.$langs->trans(
"DateEndPeriod").
"</td><td>";
291 print $form->selectDate(
$object->dateep,
'dateep', 0, 0, 0,
'dateep', 1);
295 print
'<td>' . $langs->trans(
"DateEndPeriod") .
'</td><td>';
299if ($action ==
'edit') {
300 print
'<tr><td class="fieldrequired">' . $langs->trans(
"Amount") .
'</td><td><input name="amount" size="10" value="' .
price(
$object->amount) .
'"></td></tr>';
302 print
'<tr><td>' . $langs->trans(
"Amount") .
'</td><td><span class="amount">' .
price(
$object->amount, 0, $langs, 1, -1, -1,
$conf->currency) .
'</span></td></tr>';
307print
'<table class="nobordernopadding" width="100%"><tr><td>';
308print $langs->trans(
'DefaultPaymentMode');
310if ($action !=
'editmode') {
311 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>';
313print
'</tr></table>';
316if ($action ==
'editmode') {
317 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->type_payment,
'mode_reglement_id');
319 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->type_payment,
'none');
324if (isModEnabled(
"bank")) {
325 print
'<tr><td class="nowrap">';
326 print
'<table width="100%" class="nobordernopadding"><tr><td class="nowrap">';
327 print $langs->trans(
'DefaultBankAccount');
329 if ($action !=
'editbankaccount' && $user->hasRight(
'salaries',
'write')) {
330 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>';
332 print
'</tr></table>';
334 if ($action ==
'editbankaccount') {
335 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'fk_account', 1);
337 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'none');
344include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_view.tpl.php';
349$user_perms = $user->hasRight(
'virement',
'bons',
'creer');
350$buttonlabel = $langs->trans(
"MakeTransferRequest");
351$user_perms = $user->hasRight(
'paymentbybanktransfer',
'create');
353print
'<div class="fichehalfright">';
357$sql =
"SELECT p.rowid, p.num_payment as num_payment, p.datep as dp, p.amount,";
358$sql .=
" c.code as type_code,c.libelle as paiement_type,";
359$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';
360$sql .=
" FROM ".MAIN_DB_PREFIX.
"payment_salary as p";
361$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
362$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
363$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepayment = c.id";
364$sql .=
", ".MAIN_DB_PREFIX.
"salary as s";
365$sql .=
" WHERE p.fk_salary = ".((int) $id);
366$sql .=
" AND p.fk_salary = s.rowid";
367$sql .=
" AND s.entity IN (".getEntity(
'tax').
")";
368$sql .=
" ORDER BY dp DESC";
371$resql = $db->query($sql);
375 $num = $db->num_rows($resql);
380 print
'<div class="div-table-responsive-no-min">';
381 print
'<table class="noborder paymenttable">';
382 print
'<tr class="liste_titre">';
383 print
'<td>'.$langs->trans(
"RefPayment").
'</td>';
384 print
'<td>'.$langs->trans(
"Date").
'</td>';
385 print
'<td>'.$langs->trans(
"Type").
'</td>';
386 if (isModEnabled(
"bank")) {
387 print
'<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
389 print
'<td class="right">'.$langs->trans(
"Amount").
'</td>';
393 $bankaccountstatic =
new Account($db);
395 $objp = $db->fetch_object($resql);
397 print
'<tr class="oddeven"><td>';
398 print
'<a href="'.DOL_URL_ROOT.
'/salaries/payment_salary/card.php?id='.$objp->rowid.
'">'.
img_object($langs->trans(
"Payment"),
"payment").
' '.$objp->rowid.
'</a></td>';
399 print
'<td>'.dol_print_date($db->jdate($objp->dp),
'dayhour',
'tzuserrel').
"</td>\n";
400 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
401 print
"<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
402 if (isModEnabled(
"bank")) {
403 $bankaccountstatic->id = $objp->baid;
404 $bankaccountstatic->ref = $objp->baref;
405 $bankaccountstatic->label = $objp->baref;
406 $bankaccountstatic->number = $objp->banumber;
407 $bankaccountstatic->currency_code = $objp->bacurrency_code;
409 if (isModEnabled(
'accounting')) {
410 $bankaccountstatic->account_number = $objp->account_number;
413 $accountingjournal->fetch($objp->fk_accountancy_journal);
414 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
417 print
'<td class="right">';
418 if ($bankaccountstatic->id) {
419 print $bankaccountstatic->getNomUrl(1,
'transactions');
423 print
'<td class="right nowrap amountcard">'.price($objp->amount).
"</td>\n";
425 $totalpaid += $objp->amount;
429 print
'<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
430 print
'<td></td><td></td><td></td><td></td>';
437 $resteapayer = (float)
$object->amount - $totalpaid;
452print
'<div class="clearboth"></div>';
458print
'<div class="tabsAction">'.
"\n";
460$sql =
"SELECT pfd.rowid, pfd.traite, pfd.date_demande as date_demande,";
461$sql .=
" pfd.date_traite as date_traite, pfd.amount, pfd.fk_prelevement_bons,";
462$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,";
463$sql .=
" u.rowid as user_id, u.email, u.lastname, u.firstname, u.login, u.statut as user_status";
464$sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_demande as pfd";
465$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"user as u on pfd.fk_user_demande = u.rowid";
466$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"prelevement_bons as pb ON pb.rowid = pfd.fk_prelevement_bons";
467if ($type ==
'salaire') {
468 $sql .=
" WHERE pfd.fk_salary = ".((int)
$object->id);
470 $sql .=
" WHERE fk_facture = ".((int)
$object->id);
472$sql .=
" AND pfd.traite = 0";
473$sql .=
" AND pfd.type = 'ban'";
474$sql .=
" ORDER BY pfd.date_demande DESC";
475$resql = $db->query($sql);
477$hadRequest = $db->num_rows($resql);
478if (
$object->paye == 0 && $hadRequest == 0) {
479 if ($resteapayer > 0) {
481 print
'<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
482 print
'<input type="hidden" name="token" value="'.newToken().
'" />';
483 print
'<input type="hidden" name="id" value="'.$object->id.
'" />';
484 print
'<input type="hidden" name="type" value="'.$type.
'" />';
485 print
'<input type="hidden" name="action" value="add" />';
486 print
'<label for="withdraw_request_amount">'.$langs->trans(
'BankTransferAmount').
' </label>';
487 print
'<input type="text" id="withdraw_request_amount" name="request_transfer" value="'.price($resteapayer, 0, $langs, 1, -1, -1).
'" size="9" />';
488 print
'<input type="submit" class="butAction" value="'.$buttonlabel.
'" />';
495 $buttonlabel = $langs->trans(
"MakeWithdrawRequestStripe");
496 print
'<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
497 print
'<input type="hidden" name="token" value="'.newToken().
'" />';
498 print
'<input type="hidden" name="id" value="'.$object->id.
'" />';
499 print
'<input type="hidden" name="type" value="'.$type.
'" />';
500 print
'<input type="hidden" name="action" value="add" />';
501 print
'<input type="hidden" name="paymenservice" value="stripesepa" />';
502 print
'<label for="withdraw_request_amount">'.$langs->trans(
'BankTransferAmount').
' </label>';
503 print
'<input type="text" id="withdraw_request_amount" name="request_transfer" value="'.price($resteapayer, 0, $langs, 1, -1, -1).
'" size="9" />';
504 print
'<input type="submit" class="butAction" value="'.$buttonlabel.
'" />';
508 print
'<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"NotEnoughPermissions")).
'">'.$buttonlabel.
'</a>';
511 print
'<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"AmountMustBePositive")).
'">'.$buttonlabel.
'</a>';
514 if ($hadRequest == 0) {
516 print
'<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"AlreadyPaid")).
'">'.$buttonlabel.
'</a>';
518 print
'<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"Draft")).
'">'.$buttonlabel.
'</a>';
521 print
'<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"RequestAlreadyDone")).
'">'.$buttonlabel.
'</a>';
533print
'<div class="div-table-responsive-no-min">';
534print
'<table class="noborder centpercent">';
536print
'<tr class="liste_titre">';
539 print
'<td> </td>';
541print
'<td class="left">'.$langs->trans(
"DateRequest").
'</td>';
542print
'<td>'.$langs->trans(
"User").
'</td>';
543print
'<td class="center">'.$langs->trans(
"Amount").
'</td>';
544print
'<td class="center">'.$langs->trans(
"DateProcess").
'</td>';
545if ($type ==
'bank-transfer') {
546 print
'<td class="center">'.$langs->trans(
"BankTransferReceipt").
'</td>';
548 print
'<td class="center">'.$langs->trans(
"WithdrawalReceipt").
'</td>';
550print
'<td> </td>';
553 print
'<td> </td>';
561 $tmpuser =
new User($db);
563 $num = $db->num_rows($result);
566 $obj = $db->fetch_object($resql);
568 $tmpuser->id = $obj->user_id;
569 $tmpuser->login = $obj->login;
570 $tmpuser->ref = $obj->login;
571 $tmpuser->email = $obj->email;
572 $tmpuser->lastname = $obj->lastname;
573 $tmpuser->firstname = $obj->firstname;
574 $tmpuser->statut = $obj->user_status;
575 $tmpuser->status = $obj->user_status;
577 print
'<tr class="oddeven">';
581 print
'<td class="right">';
582 print
'<a href="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'&action=delete&token='.
newToken().
'&did='.$obj->rowid.
'&type='.urlencode($type).
'">';
588 print
'<td class="nowraponall">'.dol_print_date($db->jdate($obj->date_demande),
'dayhour').
"</td>\n";
591 print
'<td class="tdoverflowmax125">';
592 print $tmpuser->getNomUrl(-1,
'', 0, 0, 0, 0,
'login');
596 print
'<td class="center"><span class="amount">'.price($obj->amount).
'</span></td>';
599 print
'<td class="center"><span class="opacitymedium">'.$langs->trans(
"OrderWaiting").
'</span></td>';
602 print
'<td class="minwidth75">';
603 if ($obj->fk_prelevement_bons > 0) {
605 $withdrawreceipt->id = $obj->fk_prelevement_bons;
606 $withdrawreceipt->ref = $obj->ref;
607 $withdrawreceipt->date_trans = $db->jdate($obj->date_trans);
608 $withdrawreceipt->date_credit = $db->jdate($obj->date_credit);
609 $withdrawreceipt->date_creation = $db->jdate($obj->datec);
610 $withdrawreceipt->statut = $obj->status;
611 $withdrawreceipt->status = $obj->status;
612 $withdrawreceipt->amount = $obj->pb_amount;
615 print $withdrawreceipt->getNomUrl(1);
618 if (!in_array($type, array(
'bank-transfer',
'salaire',
'salary'))) {
620 $langs->load(
"stripe");
621 if ($obj->fk_prelevement_bons > 0) {
624 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>';
628 $langs->load(
"stripe");
629 if ($obj->fk_prelevement_bons > 0) {
632 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>';
638 print
'<td class="center">-</td>';
642 print
'<td class="right">';
643 print
'<a href="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'&action=delete&token='.
newToken().
'&did='.$obj->rowid.
'&type='.urlencode($type).
'">';
660$sql =
"SELECT pfd.rowid, pfd.traite, pfd.date_demande as date_demande,";
661$sql .=
" pfd.date_traite as date_traite, pfd.amount, pfd.fk_prelevement_bons,";
662$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,";
663$sql .=
" u.rowid as user_id, u.email, u.lastname, u.firstname, u.login, u.statut as user_status";
664$sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_demande as pfd";
665$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"user as u on pfd.fk_user_demande = u.rowid";
666$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"prelevement_bons as pb ON pb.rowid = pfd.fk_prelevement_bons";
667if ($type ==
'salaire') {
668 $sql .=
" WHERE pfd.fk_salary = ".((int)
$object->id);
670 $sql .=
" WHERE fk_facture = ".((int)
$object->id);
672$sql .=
" AND pfd.traite = 1";
673$sql .=
" AND pfd.type = 'ban'";
674$sql .=
" ORDER BY pfd.date_demande DESC";
676$resql = $db->query($sql);
678 $numOfBp = $db->num_rows($resql);
680 $tmpuser =
new User($db);
682 while ($i < $numOfBp) {
683 $obj = $db->fetch_object($resql);
685 $tmpuser->id = $obj->user_id;
686 $tmpuser->login = $obj->login;
687 $tmpuser->ref = $obj->login;
688 $tmpuser->email = $obj->email;
689 $tmpuser->lastname = $obj->lastname;
690 $tmpuser->firstname = $obj->firstname;
691 $tmpuser->statut = $obj->user_status;
692 $tmpuser->status = $obj->user_status;
694 print
'<tr class="oddeven">';
698 print
'<td> </td>';
702 print
'<td class="nowraponall">'.dol_print_date($db->jdate($obj->date_demande),
'dayhour').
"</td>\n";
705 print
'<td class="tdoverflowmax125">';
706 print $tmpuser->getNomUrl(-1,
'', 0, 0, 0, 0,
'login');
710 print
'<td class="center"><span class="amount">'.price($obj->amount).
'</span></td>';
713 print
'<td class="center nowraponall">'.dol_print_date($db->jdate($obj->date_traite),
'dayhour',
'tzuserrel').
"</td>\n";
716 print
'<td class="center minwidth75">';
717 if ($obj->fk_prelevement_bons > 0) {
719 $withdrawreceipt->id = $obj->fk_prelevement_bons;
720 $withdrawreceipt->ref = $obj->ref;
721 $withdrawreceipt->date_trans = $db->jdate($obj->date_trans);
722 $withdrawreceipt->date_credit = $db->jdate($obj->date_credit);
723 $withdrawreceipt->date_creation = $db->jdate($obj->datec);
724 $withdrawreceipt->statut = $obj->status;
725 $withdrawreceipt->status = $obj->status;
726 $withdrawreceipt->fk_bank_account = $obj->fk_bank_account;
727 $withdrawreceipt->amount = $obj->pb_amount;
730 print $withdrawreceipt->getNomUrl(1);
732 print $withdrawreceipt->getLibStatut(2);
735 $fk_bank_account = $withdrawreceipt->fk_bank_account;
736 if (empty($fk_bank_account)) {
737 $fk_bank_account = (
$object->type ==
'bank-transfer' ?
$conf->global->PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT :
$conf->global->PRELEVEMENT_ID_BANKACCOUNT);
739 if ($fk_bank_account > 0) {
740 $bankaccount =
new Account($db);
741 $result = $bankaccount->fetch($fk_bank_account);
744 print $bankaccount->getNomUrl(1);
751 print
'<td> </td>';
755 print
'<td> </td>';
767if ($num == 0 && $numOfBp == 0) {
768 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.
global $conf
The following vars must be defined: $type2label $form $conf, $lang, The following vars may also be de...
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.