31require
'../../main.inc.php';
32require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/compta/tva/class/tva.class.php';
36require_once DOL_DOCUMENT_ROOT.
'/compta/tva/class/paymentvat.class.php';
37require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
38require_once DOL_DOCUMENT_ROOT.
'/core/lib/vat.lib.php';
40if (isModEnabled(
'accounting')) {
41 include_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingjournal.class.php';
53$langs->loadLangs(array(
'compta',
'banks',
'bills'));
57$action =
GETPOST(
'action',
'aZ09');
58$confirm =
GETPOST(
'confirm',
'alpha');
59$cancel =
GETPOST(
'cancel',
'aZ09');
60$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'myobjectcard';
61$backtopage =
GETPOST(
'backtopage',
'alpha');
62$backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
65if (GETPOSTISSET(
'auto_create_paiement') || $action ===
'add') {
66 $auto_create_payment =
GETPOSTINT(
"auto_create_paiement");
81$diroutputmassaction =
$conf->tax->dir_output.
'/temp/massgeneration/'.$user->id;
82$hookmanager->initHooks(array(
'taxvatcard',
'globalcard'));
85$extrafields->fetch_name_optionals_label(
$object->table_element);
87if (empty($action) && empty($id) && empty($ref)) {
92include DOL_DOCUMENT_ROOT.
'/core/actions_fetchobject.inc.php';
94$permissiontoread = $user->hasRight(
'tax',
'charges',
'lire');
95$permissiontoadd = $user->hasRight(
'tax',
'charges',
'creer');
96$permissiontodelete = $user->rights->tax->charges->supprimer || ($permissiontoadd && isset(
$object->status) &&
$object->status == $object::STATUS_UNPAID);
97$permissionnote = $user->hasRight(
'tax',
'charges',
'creer');
98$permissiondellink = $user->hasRight(
'tax',
'charges',
'creer');
99$upload_dir =
$conf->tax->multidir_output[isset(
$object->entity) ?
$object->entity : 1].
'/vat';
103if (!empty($user->socid)) {
104 $socid = $user->socid;
116$parameters = array(
'socid' => $socid);
117$reshook = $hookmanager->executeHooks(
'doActions', $parameters,
$object, $action);
122if (empty($reshook)) {
123 if ($cancel && !$id) {
124 header(
"Location: list.php");
128 if ($action ==
'setlib' && $user->hasRight(
'tax',
'charges',
'creer')) {
130 $result =
$object->setValueFrom(
'label',
GETPOST(
'lib',
'alpha'),
'',
null,
'text',
'', $user,
'TAX_MODIFY');
136 if ($action ==
'setdatev' && $user->hasRight(
'tax',
'charges',
'creer')) {
139 $result =
$object->update($user);
148 if ($action ==
'setmode' && $user->hasRight(
'tax',
'charges',
'creer')) {
157 if ($action ==
'setbankaccount' && $user->hasRight(
'tax',
'charges',
'creer')) {
166 if ($action ==
'confirm_paid' && $user->hasRight(
'tax',
'charges',
'creer') && $confirm ==
'yes') {
168 $result =
$object->setPaid($user);
171 if ($action ==
'reopen' && $user->hasRight(
'tax',
'charges',
'creer')) {
174 $result =
$object->setUnpaid($user);
176 header(
'Location: '.$_SERVER[
"PHP_SELF"].
'?id='.$id);
184 if ($action ==
'add' && !$cancel && $permissiontoadd) {
204 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"DatePayment")),
null,
'errors');
208 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"PeriodEndDate")),
null,
'errors');
211 if (!empty($auto_create_payment) && (empty(
$object->type_payment) ||
$object->type_payment < 0)) {
212 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"PaymentMode")),
null,
'errors');
216 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Amount")),
null,
'errors');
219 if (!empty($auto_create_payment) && (
$object->fk_account <= 0)) {
220 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"AccountToCredit")),
null,
'errors');
231 if (!empty($auto_create_payment) && !$error) {
237 $paiement->datepaye = $datep;
238 $paiement->amounts = array(
$object->id => $amount);
239 $paiement->paiementtype =
GETPOST(
"type_payment",
'alphanohtml');
240 $paiement->num_payment =
GETPOST(
"num_payment",
'alphanohtml');
241 $paiement->note =
GETPOST(
"note",
'restricthtml');
242 $paiement->note_private =
GETPOST(
"note",
'restricthtml');
245 $paymentid = $paiement->create($user, (
int)
GETPOST(
'closepaidtva'));
246 if ($paymentid < 0) {
254 $result = $paiement->addPaymentToBank($user,
'payment_vat',
'(VATPayment)',
GETPOSTINT(
'accountid'),
'',
'');
255 if (!($result > 0)) {
268 header(
"Location: card.php?id=" .
$object->id);
276 if ($action ==
'confirm_delete' && $confirm ==
'yes' && $permissiontodelete) {
278 $totalpaid =
$object->getSommePaiement();
280 if (empty($totalpaid)) {
288 $result = $accountline->fetch(
$object->fk_bank);
290 $result = $accountline->delete($user);
296 header(
"Location: ".DOL_URL_ROOT.
'/compta/tva/list.php');
299 $object->error = $accountline !==
null ? $accountline->error :
'No account line (no bank)';
312 if ($action ==
'update' && !
GETPOST(
"cancel") && $user->hasRight(
'tax',
'charges',
'creer')) {
315 if (empty($amount)) {
316 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")),
null,
'errors');
318 } elseif (!is_numeric($amount)) {
319 setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")),
null,
'errors');
326 $result =
$object->update($user);
334 if ($action ==
'confirm_clone' && $confirm !=
'yes') {
338 if ($action ==
'confirm_clone' && $confirm ==
'yes' && $user->hasRight(
'tax',
'charges',
'creer')) {
350 if (
GETPOST(
'amount',
'alphanohtml')) {
354 if (
GETPOST(
'clone_label',
'alphanohtml')) {
361 if ($newdateperiod) {
362 $object->datev = $newdateperiod;
371 header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?id=".$id);
387 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
395$form =
new Form($db);
399$title = $langs->trans(
"VAT").
" - ".$langs->trans(
"Card");
404if ($action ==
'create') {
407 if (!empty(
$conf->use_javascript_ajax)) {
408 print
"\n".
'<script type="text/javascript">';
410 $(document).ready(function () {
411 let onAutoCreatePaiementChange = function () {
412 if($("#auto_create_paiement").is(":checked")) {
413 $("#label_fk_account").addClass("fieldrequired");
414 $("#label_type_payment").addClass("fieldrequired");
415 $(".hide_if_no_auto_create_payment").show();
417 $("#label_fk_account").removeClass("fieldrequired");
418 $("#label_type_payment").removeClass("fieldrequired");
419 $(".hide_if_no_auto_create_payment").hide();
422 $("#radiopayment").click(function() {
423 $("#label").val($(this).data("label"));
425 $("#radiorefund").click(function() {
426 $("#label").val($(this).data("label"));
429 $("#auto_create_paiement").click(function () {
430 onAutoCreatePaiementChange();
432 onAutoCreatePaiementChange();
436 print
'</script>'.
"\n";
439 print
'<form name="add" action="'.$_SERVER[
"PHP_SELF"].
'" name="formvat" method="post">';
440 print
'<input type="hidden" name="token" value="'.newToken().
'">';
441 print
'<input type="hidden" name="action" value="add">';
445 print
'<table class="border centpercent">';
447 print
'<tr><td class="titlefieldcreate fieldrequired">';
451 print
'<div id="selectmethod">';
452 print
'<label for="radiopayment">';
453 print
'<input type="radio" id="radiopayment" data-label="'.$langs->trans(
'VATPayment').
'" class="flat" name="refund" value="0"'.($refund ?
'' :
' checked="checked"').
'>';
455 print $langs->trans(
"Payment");
457 print
' ';
458 print
'<label for="radiorefund">';
459 print
'<input type="radio" id="radiorefund" data-label="'.$langs->trans(
'VATRefund').
'" class="flat" name="refund" value="1"'.($refund ?
' checked="checked"' :
'').
'>';
461 print $langs->trans(
"Refund");
470 $label = $langs->trans(
"VATRefund");
472 $label = $langs->trans(
"VATPayment");
474 print
'<tr><td class="titlefieldcreate fieldrequired">'.$langs->trans(
"Label").
'</td><td><input class="minwidth300" name="label" id="label" value="'.(GETPOSTISSET(
"label") ?
GETPOST(
"label",
'', 2) : $label).
'" autofocus></td></tr>';
476 print
'<tr><td class="titlefieldcreate fieldrequired">'.$form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")).
'</td><td>';
477 print $form->selectDate((
GETPOSTINT(
"datevmonth") ? $datev : -1),
"datev", 0, 0, 0,
'add', 1, 1);
481 print
'<tr><td class="fieldrequired">'.$langs->trans(
"Amount").
'</td><td><input name="amount" class="right width75" value="'.
GETPOST(
"amount",
"alpha").
'"></td></tr>';
483 print
'<tr><td colspan="2"><hr></td></tr>';
486 print
'<tr><td><label for="auto_create_paiement">'.$langs->trans(
'AutomaticCreationPayment').
'</label></td>';
487 print
'<td><input id="auto_create_paiement" name="auto_create_paiement" type="checkbox" ' . (empty($auto_create_payment) ?
'' :
'checked="checked"') .
' value="1"></td></tr>'.
"\n";
489 print
'<tr class="hide_if_no_auto_create_payment">';
490 print
'<td class="fieldrequired">'.$langs->trans(
"DatePayment").
'</td><td>';
491 print $form->selectDate($datep,
"datep", 0, 0, 0,
'add', 1, 1);
495 print
'<tr><td class="fieldrequired" id="label_type_payment">'.$langs->trans(
"PaymentMode").
'</td><td>';
496 print $form->select_types_paiements(
GETPOSTINT(
"type_payment"),
"type_payment",
'', 0, 1, 0, 0, 1,
'maxwidth500 widthcentpercentminusx', 1);
500 if (isModEnabled(
"bank")) {
502 print
'<tr><td class="fieldrequired" id="label_fk_account">'.$langs->trans(
"BankAccount").
'</td><td>';
503 print
img_picto(
'',
'bank_account',
'class="pictofixedwidth"');
504 $form->select_comptes(
GETPOSTINT(
"accountid"),
"accountid", 0,
"courant=1", 1,
'', 0,
'maxwidth500 widthcentpercentminusx');
509 print
'<tr class="hide_if_no_auto_create_payment"><td>'.$langs->trans(
'Numero');
510 print
' <em>('.$langs->trans(
"ChequeOrTransferNumber").
')</em>';
511 print
'<td><input name="num_payment" type="text" value="'.GETPOST(
"num_payment").
'"></td></tr>'.
"\n";
514 print
'<tr class="hide_if_no_auto_create_payment">';
515 print
'<td class="tdtop">'.$langs->trans(
"Comments").
'</td>';
516 print
'<td class="tdtop"><textarea name="note" wrap="soft" rows="'.ROWS_3.
'" class="quatrevingtpercent">'.
GETPOST(
'note',
'restricthtml').
'</textarea></td>';
520 $parameters = array();
521 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters,
$object, $action);
522 print $hookmanager->resPrint;
528 print
'<div class="center">';
529 print
'<div class="hide_if_no_auto_create_payment paddingbottom">';
530 print
'<input type="checkbox" checked value="1" name="closepaidtva"> <span class="">'.$langs->trans(
"ClosePaidVATAutomatically").
'</span>';
534 print
'<input type="submit" class="button button-save" value="'.$langs->trans(
"Save").
'">';
535 print
' ';
536 print
'<input type="submit" class="button button-cancel" name="cancel" value="'.$langs->trans(
"Cancel").
'">';
548 $totalpaid =
$object->getSommePaiement();
551 if ($action ===
'clone') {
552 $formquestion = array(
553 array(
'type' =>
'text',
'name' =>
'clone_label',
'label' => $langs->trans(
"Label"),
'value' => $langs->trans(
"CopyOf").
' '.
$object->label),
557 $formquestion[] = array(
'type' =>
'date',
'name' =>
'clone_period',
'label' => $langs->trans(
"PeriodEndDate"),
'value' => -1);
558 $formquestion[] = array(
'type' =>
'text',
'name' =>
'amount',
'label' => $langs->trans(
"Amount"),
'value' =>
price(
$object->amount),
'morecss' =>
'width100');
560 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneVAT',
$object->ref),
'confirm_clone', $formquestion,
'yes', 1, 240);
563 if ($action ==
'paid') {
564 $text = $langs->trans(
'ConfirmPayVAT');
565 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
"?id=".
$object->id, $langs->trans(
'PayVAT'), $text,
"confirm_paid",
'',
'', 2);
568 if ($action ==
'delete') {
569 $text = $langs->trans(
'ConfirmDeleteVAT');
570 $formconfirm = $form->formconfirm($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, $langs->trans(
'DeleteVAT'), $text,
'confirm_delete',
'',
'', 2);
573 if ($action ==
'edit') {
574 print
'<form name="charge" action="'.$_SERVER[
"PHP_SELF"].
'?id='.
$object->id.
'" method="POST">';
575 print
'<input type="hidden" name="token" value="'.newToken().
'">';
576 print
'<input type="hidden" name="action" value="update">';
579 $parameters = array(
'formConfirm' => $formconfirm);
580 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters,
$object, $action);
581 if (empty($reshook)) {
582 $formconfirm .= $hookmanager->resPrint;
583 } elseif ($reshook > 0) {
584 $formconfirm = $hookmanager->resPrint;
587 print
dol_get_fiche_head($head,
'card', $langs->trans(
"VATPayment"), -1,
'payment', 0,
'',
'', 0,
'', 1);
592 $morehtmlref =
'<div class="refidno">';
594 $morehtmlref .= $form->editfieldkey(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'', 0, 1);
595 $morehtmlref .= $form->editfieldval(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'',
null,
null,
'', 1);
597 $morehtmlref .=
'</div>';
599 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/tva/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
601 $object->totalpaid = $totalpaid;
603 dol_banner_tab(
$object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'',
'');
605 print
'<div class="fichecenter">';
606 print
'<div class="fichehalfleft">';
607 print
'<div class="underbanner clearboth"></div>';
609 print
'<table class="border centpercent">';
620 print $form->editfieldkey($form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")),
'datev',
$object->datev,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'day');
622 print $form->editfieldval(
"PeriodEndDate",
'datev',
$object->datev,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'day');
626 if ($action ==
'edit') {
627 print
'<tr><td class="fieldrequired">' . $langs->trans(
"Amount") .
'</td><td><input name="amount" size="10" value="' .
price(
$object->amount) .
'"></td></tr>';
629 print
'<tr><td>' . $langs->trans(
"Amount") .
'</td><td>' .
price(
$object->amount) .
'</td></tr>';
634 print
'<table class="nobordernopadding" width="100%"><tr><td>';
635 print $langs->trans(
'PaymentMode');
637 if ($action !=
'editmode') {
638 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>';
640 print
'</tr></table>';
642 if ($action ==
'editmode') {
643 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->type_payment,
'mode_reglement_id');
645 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->type_payment,
'none');
650 if (isModEnabled(
"bank")) {
651 print
'<tr><td class="nowrap">';
652 print
'<table width="100%" class="nobordernopadding"><tr><td class="nowrap">';
653 print $langs->trans(
'BankAccount');
655 if ($action !=
'editbankaccount' && $user->hasRight(
'tax',
'charges',
'creer')) {
656 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>';
658 print
'</tr></table>';
660 if ($action ==
'editbankaccount') {
661 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'fk_account', 1);
663 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'none');
670 $parameters = array();
671 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters,
$object, $action);
672 print $hookmanager->resPrint;
678 print
'<div class="fichehalfright">';
681 if (isModEnabled(
"bank")) {
688 $sql =
"SELECT p.rowid, p.num_paiement as num_payment, p.datep as dp, p.amount,";
689 $sql .=
" c.code as type_code,c.libelle as paiement_type,";
690 $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';
691 $sql .=
" FROM ".MAIN_DB_PREFIX.
"payment_vat as p";
692 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
693 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
694 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepaiement = c.id";
695 $sql .=
", ".MAIN_DB_PREFIX.
"tva as tva";
696 $sql .=
" WHERE p.fk_tva = ".((int) $id);
697 $sql .=
" AND p.fk_tva = tva.rowid";
698 $sql .=
" AND tva.entity IN (".getEntity(
'tax').
")";
699 $sql .=
" ORDER BY dp DESC";
702 $resql = $db->query($sql);
706 $num = $db->num_rows($resql);
710 print
'<div class="div-table-responsive-no-min">';
711 print
'<table class="noborder paymenttable">';
712 print
'<tr class="liste_titre">';
713 print
'<td>'.$langs->trans(
"RefPayment").
'</td>';
714 print
'<td>'.$langs->trans(
"Date").
'</td>';
715 print
'<td>'.$langs->trans(
"Type").
'</td>';
716 if (isModEnabled(
"bank")) {
717 print
'<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
719 print
'<td class="right">'.$langs->trans(
"Amount").
'</td>';
723 $bankaccountstatic =
new Account($db);
725 $objp = $db->fetch_object($resql);
727 print
'<tr class="oddeven"><td>';
728 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_vat/card.php?id='.$objp->rowid.
'">'.
img_object($langs->trans(
"Payment"),
"payment").
' '.$objp->rowid.
'</a>';
730 print
'<td>'.dol_print_date($db->jdate($objp->dp),
'day').
"</td>\n";
731 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
732 print
"<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
733 if (isModEnabled(
"bank")) {
734 $bankaccountstatic->id = $objp->baid;
735 $bankaccountstatic->ref = $objp->baref;
736 $bankaccountstatic->label = $objp->baref;
737 $bankaccountstatic->number = $objp->banumber;
738 $bankaccountstatic->currency_code = $objp->bacurrency_code;
740 if (isModEnabled(
'accounting')) {
741 $bankaccountstatic->account_number = $objp->account_number;
744 $accountingjournal->fetch($objp->fk_accountancy_journal);
745 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
748 print
'<td class="right">';
749 if ($bankaccountstatic->id) {
750 print $bankaccountstatic->getNomUrl(1,
'transactions');
754 print
'<td class="right"><span class="amount">'.price($objp->amount).
"</span></td>\n";
756 $totalpaid += $objp->amount;
760 print
'<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
761 print
'<td></td><td></td><td></td><td></td>';
765 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AlreadyPaid").
" :</td><td class=\"right\">".
price($totalpaid).
"</td></tr>\n";
766 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AmountExpected").
" :</td><td class=\"right\">".
price(
$object->amount).
"</td></tr>\n";
768 $resteapayer =
$object->amount - $totalpaid;
769 $cssforamountpaymentcomplete =
'amountpaymentcomplete';
771 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"RemainderToPay").
" :</td>";
772 print
'<td class="right'.($resteapayer ?
' amountremaintopay' : (
' '.$cssforamountpaymentcomplete)).
'">'.
price($resteapayer).
"</td></tr>\n";
785 print
'<div class="clearboth"></div>';
789 if ($action ==
'edit') {
790 print $form->buttonsSaveCancel();
798 print
'<div class="tabsAction">'.
"\n";
800 if ($action !=
'edit') {
802 if (
$object->paye && $user->hasRight(
'tax',
'charges',
'creer')) {
803 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.
$object->id.
'&action=reopen&token='.
newToken().
'">'.$langs->trans(
"ReOpen").
"</a></div>";
807 if (
$object->paye == 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
808 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.
$object->id.
'&action=edit&token='.
newToken().
'">'.$langs->trans(
"Modify").
"</a></div>";
813 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/paiement_vat.php?id='.
$object->id.
'&action=create&token='.
newToken().
'">'.$langs->trans(
"DoPayment").
'</a></div>';
819 (round($resteapayer) <= 0 &&
$object->amount > 0)
820 || (round($resteapayer) >= 0 &&
$object->amount < 0)
822 && $user->hasRight(
'tax',
'charges',
'creer')) {
823 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.
$object->id.
'&token='.
newToken().
'&action=paid">'.$langs->trans(
"ClassifyPaid").
"</a></div>";
827 if ($user->hasRight(
'tax',
'charges',
'creer')) {
828 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.
$object->id.
'&token='.
newToken().
'&action=clone">'.$langs->trans(
"ToClone").
"</a></div>";
831 if ($user->hasRight(
'tax',
'charges',
'supprimer') && empty($totalpaid)) {
832 print
'<div class="inline-block divButAction"><a class="butActionDelete" href="card.php?id='.$object->id.
'&action=delete&token='.
newToken().
'">'.$langs->trans(
"Delete").
'</a></div>';
834 print
'<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.(dol_escape_htmltag($langs->trans(
"DisabledBecausePayments"))).
'">'.$langs->trans(
"Delete").
'</a></div>';
842 if (
GETPOST(
'modelselected')) {
846 if ($action !=
'presend') {
847 print
'<div class="fichecenter"><div class="fichehalfleft">';
848 print
'<a name="builddoc"></a>';
850 $includedocgeneration = 1;
853 if ($includedocgeneration) {
855 $relativepath = $objref.
'/'.$objref.
'.pdf';
856 $filedir =
$conf->tax->dir_output.
'/vat/'.$objref;
857 $urlsource = $_SERVER[
"PHP_SELF"].
"?id=".
$object->id;
859 $delallowed = $user->hasRight(
'tax',
'charges',
'creer');
860 print $formfile->showdocuments(
'tax-vat', $objref, $filedir, $urlsource, $genallowed, $delallowed,
$object->model_pdf, 1, 0, 0, 28, 0,
'',
'',
'', $langs->defaultlang);
868 print
'</div><div class="fichehalfright">';
881 print
'</div></div>';
885 if (
GETPOST(
'modelselected')) {
891 $defaulttopic =
'InformationMessage';
892 $diroutput =
$conf->tax->dir_output;
893 $trackid =
'vat'.$object->id;
895 include DOL_DOCUMENT_ROOT.
'/core/tpl/card_presend.tpl.php';
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 bank transaction lines.
Class to manage accounting journals.
Class to manage payments of social contributions.
Class to manage VAT - Value-added tax (also known in French as TVA - Taxe sur la valeur ajoutée)
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed information (by default a local PHP server timestamp) Rep...
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
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_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.
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_sanitizeFileName($str, $newstr='_', $unaccent=1)
Clean a string to use it as a file name.
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.
vat_prepare_head($object)
Prepare array with list of tabs.