30require
'../../main.inc.php';
31require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
32require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/compta/tva/class/tva.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/compta/tva/class/paymentvat.class.php';
36require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/lib/vat.lib.php';
39if (isModEnabled(
'accounting')) {
40 include_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingjournal.class.php';
44$langs->loadLangs(array(
'compta',
'banks',
'bills'));
48$action =
GETPOST(
'action',
'aZ09');
49$confirm =
GETPOST(
'confirm',
'alpha');
50$cancel =
GETPOST(
'cancel',
'aZ09');
51$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'myobjectcard';
52$backtopage =
GETPOST(
'backtopage',
'alpha');
53$backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
56if (GETPOSTISSET(
'auto_create_paiement') || $action ===
'add') {
57 $auto_create_payment =
GETPOSTINT(
"auto_create_paiement");
72$diroutputmassaction = $conf->tax->dir_output.
'/temp/massgeneration/'.$user->id;
73$hookmanager->initHooks(array(
'taxvatcard',
'globalcard'));
76$extrafields->fetch_name_optionals_label(
$object->table_element);
78if (empty($action) && empty($id) && empty($ref)) {
83include DOL_DOCUMENT_ROOT.
'/core/actions_fetchobject.inc.php';
85$permissiontoread = $user->hasRight(
'tax',
'charges',
'lire');
86$permissiontoadd = $user->hasRight(
'tax',
'charges',
'creer');
87$permissiontodelete = $user->rights->tax->charges->supprimer || ($permissiontoadd && isset(
$object->status) &&
$object->status == $object::STATUS_UNPAID);
88$permissionnote = $user->hasRight(
'tax',
'charges',
'creer');
89$permissiondellink = $user->hasRight(
'tax',
'charges',
'creer');
90$upload_dir = $conf->tax->multidir_output[isset(
$object->entity) ?
$object->entity : 1].
'/vat';
94if (!empty($user->socid)) {
95 $socid = $user->socid;
104$parameters = array(
'socid' => $socid);
105$reshook = $hookmanager->executeHooks(
'doActions', $parameters,
$object, $action);
110if (empty($reshook)) {
111 if ($cancel && !$id) {
112 header(
"Location: list.php");
116 if ($action ==
'setlib' && $user->hasRight(
'tax',
'charges',
'creer')) {
118 $result =
$object->setValueFrom(
'label',
GETPOST(
'lib',
'alpha'),
'',
'',
'text',
'', $user,
'TAX_MODIFY');
124 if ($action ==
'setdatev' && $user->hasRight(
'tax',
'charges',
'creer')) {
127 $result =
$object->update($user);
136 if ($action ==
'setmode' && $user->hasRight(
'tax',
'charges',
'creer')) {
145 if ($action ==
'setbankaccount' && $user->hasRight(
'tax',
'charges',
'creer')) {
154 if ($action ==
'confirm_paid' && $user->hasRight(
'tax',
'charges',
'creer') && $confirm ==
'yes') {
156 $result =
$object->setPaid($user);
159 if ($action ==
'reopen' && $user->hasRight(
'tax',
'charges',
'creer')) {
162 $result =
$object->setUnpaid($user);
164 header(
'Location: '.$_SERVER[
"PHP_SELF"].
'?id='.$id);
172 if ($action ==
'add' && !$cancel) {
192 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"DatePayment")),
null,
'errors');
196 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"PeriodEndDate")),
null,
'errors');
199 if (!empty($auto_create_payment) && (empty(
$object->type_payment) ||
$object->type_payment < 0)) {
200 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"PaymentMode")),
null,
'errors');
204 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Amount")),
null,
'errors');
207 if (!empty($auto_create_payment) && (
$object->fk_account <= 0)) {
208 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"AccountToCredit")),
null,
'errors');
219 if (!empty($auto_create_payment) && !$error) {
225 $paiement->datepaye = $datep;
226 $paiement->amounts = array(
$object->id => $amount);
227 $paiement->paiementtype =
GETPOST(
"type_payment",
'alphanohtml');
228 $paiement->num_payment =
GETPOST(
"num_payment",
'alphanohtml');
229 $paiement->note =
GETPOST(
"note",
'restricthtml');
230 $paiement->note_private =
GETPOST(
"note",
'restricthtml');
233 $paymentid = $paiement->create($user, (
int)
GETPOST(
'closepaidtva'));
234 if ($paymentid < 0) {
242 $result = $paiement->addPaymentToBank($user,
'payment_vat',
'(VATPayment)',
GETPOSTINT(
'accountid'),
'',
'');
243 if (!($result > 0)) {
256 header(
"Location: card.php?id=" .
$object->id);
264 if ($action ==
'confirm_delete' && $confirm ==
'yes') {
266 $totalpaid =
$object->getSommePaiement();
268 if (empty($totalpaid)) {
275 $result = $accountline->fetch(
$object->fk_bank);
277 $result = $accountline->delete($user);
283 header(
"Location: ".DOL_URL_ROOT.
'/compta/tva/list.php');
286 $object->error = $accountline->error;
299 if ($action ==
'update' && !
GETPOST(
"cancel") && $user->hasRight(
'tax',
'charges',
'creer')) {
302 if (empty($amount)) {
303 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")),
null,
'errors');
305 } elseif (!is_numeric($amount)) {
306 setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")),
null,
'errors');
313 $result =
$object->update($user);
321 if ($action ==
'confirm_clone' && $confirm !=
'yes') {
325 if ($action ==
'confirm_clone' && $confirm ==
'yes' && ($user->hasRight(
'tax',
'charges',
'creer'))) {
337 if (
GETPOST(
'amount',
'alphanohtml')) {
341 if (
GETPOST(
'clone_label',
'alphanohtml')) {
348 if ($newdateperiod) {
349 $object->datev = $newdateperiod;
358 header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?id=".$id);
374 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
382$form =
new Form($db);
386$title = $langs->trans(
"VAT").
" - ".$langs->trans(
"Card");
391if ($action ==
'create') {
394 if (!empty($conf->use_javascript_ajax)) {
395 print
"\n".
'<script type="text/javascript">';
397 $(document).ready(function () {
398 let onAutoCreatePaiementChange = function () {
399 if($("#auto_create_paiement").is(":checked")) {
400 $("#label_fk_account").addClass("fieldrequired");
401 $("#label_type_payment").addClass("fieldrequired");
402 $(".hide_if_no_auto_create_payment").show();
404 $("#label_fk_account").removeClass("fieldrequired");
405 $("#label_type_payment").removeClass("fieldrequired");
406 $(".hide_if_no_auto_create_payment").hide();
409 $("#radiopayment").click(function() {
410 $("#label").val($(this).data("label"));
412 $("#radiorefund").click(function() {
413 $("#label").val($(this).data("label"));
416 $("#auto_create_paiement").click(function () {
417 onAutoCreatePaiementChange();
419 onAutoCreatePaiementChange();
423 print
'</script>'.
"\n";
426 print
'<form name="add" action="'.$_SERVER[
"PHP_SELF"].
'" name="formvat" method="post">';
427 print
'<input type="hidden" name="token" value="'.newToken().
'">';
428 print
'<input type="hidden" name="action" value="add">';
432 print
'<table class="border centpercent">';
434 print
'<tr><td class="titlefieldcreate fieldrequired">';
438 print
'<div id="selectmethod">';
439 print
'<label for="radiopayment">';
440 print
'<input type="radio" id="radiopayment" data-label="'.$langs->trans(
'VATPayment').
'" class="flat" name="refund" value="0"'.($refund ?
'' :
' checked="checked"').
'>';
442 print $langs->trans(
"Payment");
444 print
' ';
445 print
'<label for="radiorefund">';
446 print
'<input type="radio" id="radiorefund" data-label="'.$langs->trans(
'VATRefund').
'" class="flat" name="refund" value="1"'.($refund ?
' checked="checked"' :
'').
'>';
448 print $langs->trans(
"Refund");
457 $label = $langs->trans(
"VATRefund");
459 $label = $langs->trans(
"VATPayment");
461 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>';
463 print
'<tr><td class="titlefieldcreate fieldrequired">'.$form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")).
'</td><td>';
464 print $form->selectDate((
GETPOSTINT(
"datevmonth") ? $datev : -1),
"datev", 0, 0, 0,
'add', 1, 1);
468 print
'<tr><td class="fieldrequired">'.$langs->trans(
"Amount").
'</td><td><input name="amount" class="right width75" value="'.
GETPOST(
"amount",
"alpha").
'"></td></tr>';
470 print
'<tr><td colspan="2"><hr></td></tr>';
473 print
'<tr><td><label for="auto_create_paiement">'.$langs->trans(
'AutomaticCreationPayment').
'</label></td>';
474 print
'<td><input id="auto_create_paiement" name="auto_create_paiement" type="checkbox" ' . (empty($auto_create_payment) ?
'' :
'checked="checked"') .
' value="1"></td></tr>'.
"\n";
476 print
'<tr class="hide_if_no_auto_create_payment">';
477 print
'<td class="fieldrequired">'.$langs->trans(
"DatePayment").
'</td><td>';
478 print $form->selectDate($datep,
"datep", 0, 0, 0,
'add', 1, 1);
482 print
'<tr><td class="fieldrequired" id="label_type_payment">'.$langs->trans(
"PaymentMode").
'</td><td>';
483 print $form->select_types_paiements(
GETPOSTINT(
"type_payment"),
"type_payment",
'', 0, 1, 0, 0, 1,
'maxwidth500 widthcentpercentminusx', 1);
487 if (isModEnabled(
"bank")) {
489 print
'<tr><td class="fieldrequired" id="label_fk_account">'.$langs->trans(
"BankAccount").
'</td><td>';
490 print
img_picto(
'',
'bank_account',
'class="pictofixedwidth"');
491 $form->select_comptes(
GETPOSTINT(
"accountid"),
"accountid", 0,
"courant=1", 1,
'', 0,
'maxwidth500 widthcentpercentminusx');
496 print
'<tr class="hide_if_no_auto_create_payment"><td>'.$langs->trans(
'Numero');
497 print
' <em>('.$langs->trans(
"ChequeOrTransferNumber").
')</em>';
498 print
'<td><input name="num_payment" type="text" value="'.GETPOST(
"num_payment").
'"></td></tr>'.
"\n";
501 print
'<tr class="hide_if_no_auto_create_payment">';
502 print
'<td class="tdtop">'.$langs->trans(
"Comments").
'</td>';
503 print
'<td class="tdtop"><textarea name="note" wrap="soft" rows="'.ROWS_3.
'" class="quatrevingtpercent">'.
GETPOST(
'note',
'restricthtml').
'</textarea></td>';
507 $parameters = array();
508 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters,
$object, $action);
509 print $hookmanager->resPrint;
515 print
'<div class="center">';
516 print
'<div class="hide_if_no_auto_create_payment paddingbottom">';
517 print
'<input type="checkbox" checked value="1" name="closepaidtva"> <span class="">'.$langs->trans(
"ClosePaidVATAutomatically").
'</span>';
521 print
'<input type="submit" class="button button-save" value="'.$langs->trans(
"Save").
'">';
522 print
' ';
523 print
'<input type="submit" class="button button-cancel" name="cancel" value="'.$langs->trans(
"Cancel").
'">';
535 $totalpaid =
$object->getSommePaiement();
538 if ($action ===
'clone') {
539 $formquestion = array(
540 array(
'type' =>
'text',
'name' =>
'clone_label',
'label' => $langs->trans(
"Label"),
'value' => $langs->trans(
"CopyOf").
' '.
$object->label),
544 $formquestion[] = array(
'type' =>
'date',
'name' =>
'clone_period',
'label' => $langs->trans(
"PeriodEndDate"),
'value' => -1);
545 $formquestion[] = array(
'type' =>
'text',
'name' =>
'amount',
'label' => $langs->trans(
"Amount"),
'value' =>
price(
$object->amount),
'morecss' =>
'width100');
547 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneVAT',
$object->ref),
'confirm_clone', $formquestion,
'yes', 1, 240);
550 if ($action ==
'paid') {
551 $text = $langs->trans(
'ConfirmPayVAT');
552 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
"?id=".
$object->id, $langs->trans(
'PayVAT'), $text,
"confirm_paid",
'',
'', 2);
555 if ($action ==
'delete') {
556 $text = $langs->trans(
'ConfirmDeleteVAT');
557 $formconfirm = $form->formconfirm($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, $langs->trans(
'DeleteVAT'), $text,
'confirm_delete',
'',
'', 2);
560 if ($action ==
'edit') {
561 print
'<form name="charge" action="'.$_SERVER[
"PHP_SELF"].
'?id='.
$object->id.
'" method="POST">';
562 print
'<input type="hidden" name="token" value="'.newToken().
'">';
563 print
'<input type="hidden" name="action" value="update">';
566 $parameters = array(
'formConfirm' => $formconfirm);
567 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters,
$object, $action);
568 if (empty($reshook)) {
569 $formconfirm .= $hookmanager->resPrint;
570 } elseif ($reshook > 0) {
571 $formconfirm = $hookmanager->resPrint;
574 print
dol_get_fiche_head($head,
'card', $langs->trans(
"VATPayment"), -1,
'payment', 0,
'',
'', 0,
'', 1);
579 $morehtmlref =
'<div class="refidno">';
581 $morehtmlref .= $form->editfieldkey(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'', 0, 1);
582 $morehtmlref .= $form->editfieldval(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'',
null,
null,
'', 1);
584 $morehtmlref .=
'</div>';
586 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/tva/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
588 $object->totalpaid = $totalpaid;
590 dol_banner_tab(
$object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'',
'');
592 print
'<div class="fichecenter">';
593 print
'<div class="fichehalfleft">';
594 print
'<div class="underbanner clearboth"></div>';
596 print
'<table class="border centpercent">';
607 print $form->editfieldkey($form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")),
'datev',
$object->datev,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'day');
609 print $form->editfieldval(
"PeriodEndDate",
'datev',
$object->datev,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'day');
613 if ($action ==
'edit') {
614 print
'<tr><td class="fieldrequired">' . $langs->trans(
"Amount") .
'</td><td><input name="amount" size="10" value="' .
price(
$object->amount) .
'"></td></tr>';
616 print
'<tr><td>' . $langs->trans(
"Amount") .
'</td><td>' .
price(
$object->amount) .
'</td></tr>';
621 print
'<table class="nobordernopadding" width="100%"><tr><td>';
622 print $langs->trans(
'PaymentMode');
624 if ($action !=
'editmode') {
625 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>';
627 print
'</tr></table>';
629 if ($action ==
'editmode') {
630 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->type_payment,
'mode_reglement_id');
632 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->type_payment,
'none');
637 if (isModEnabled(
"bank")) {
638 print
'<tr><td class="nowrap">';
639 print
'<table width="100%" class="nobordernopadding"><tr><td class="nowrap">';
640 print $langs->trans(
'BankAccount');
642 if ($action !=
'editbankaccount' && $user->hasRight(
'tax',
'charges',
'creer')) {
643 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>';
645 print
'</tr></table>';
647 if ($action ==
'editbankaccount') {
648 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'fk_account', 1);
650 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'none');
657 $parameters = array();
658 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters,
$object, $action);
659 print $hookmanager->resPrint;
665 print
'<div class="fichehalfright">';
668 if (isModEnabled(
"bank")) {
675 $sql =
"SELECT p.rowid, p.num_paiement as num_payment, p.datep as dp, p.amount,";
676 $sql .=
" c.code as type_code,c.libelle as paiement_type,";
677 $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';
678 $sql .=
" FROM ".MAIN_DB_PREFIX.
"payment_vat as p";
679 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
680 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
681 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepaiement = c.id";
682 $sql .=
", ".MAIN_DB_PREFIX.
"tva as tva";
683 $sql .=
" WHERE p.fk_tva = ".((int) $id);
684 $sql .=
" AND p.fk_tva = tva.rowid";
685 $sql .=
" AND tva.entity IN (".getEntity(
'tax').
")";
686 $sql .=
" ORDER BY dp DESC";
689 $resql = $db->query($sql);
693 $num = $db->num_rows($resql);
697 print
'<div class="div-table-responsive-no-min">';
698 print
'<table class="noborder paymenttable">';
699 print
'<tr class="liste_titre">';
700 print
'<td>'.$langs->trans(
"RefPayment").
'</td>';
701 print
'<td>'.$langs->trans(
"Date").
'</td>';
702 print
'<td>'.$langs->trans(
"Type").
'</td>';
703 if (isModEnabled(
"bank")) {
704 print
'<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
706 print
'<td class="right">'.$langs->trans(
"Amount").
'</td>';
710 $bankaccountstatic =
new Account($db);
712 $objp = $db->fetch_object($resql);
714 print
'<tr class="oddeven"><td>';
715 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_vat/card.php?id='.$objp->rowid.
'">'.
img_object($langs->trans(
"Payment"),
"payment").
' '.$objp->rowid.
'</a>';
717 print
'<td>'.dol_print_date($db->jdate($objp->dp),
'day').
"</td>\n";
718 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
719 print
"<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
720 if (isModEnabled(
"bank")) {
721 $bankaccountstatic->id = $objp->baid;
722 $bankaccountstatic->ref = $objp->baref;
723 $bankaccountstatic->label = $objp->baref;
724 $bankaccountstatic->number = $objp->banumber;
725 $bankaccountstatic->currency_code = $objp->bacurrency_code;
727 if (isModEnabled(
'accounting')) {
728 $bankaccountstatic->account_number = $objp->account_number;
731 $accountingjournal->fetch($objp->fk_accountancy_journal);
732 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
735 print
'<td class="right">';
736 if ($bankaccountstatic->id) {
737 print $bankaccountstatic->getNomUrl(1,
'transactions');
741 print
'<td class="right"><span class="amount">'.price($objp->amount).
"</span></td>\n";
743 $totalpaid += $objp->amount;
747 print
'<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
748 print
'<td></td><td></td><td></td><td></td>';
752 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AlreadyPaid").
" :</td><td class=\"right\">".
price($totalpaid).
"</td></tr>\n";
753 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AmountExpected").
" :</td><td class=\"right\">".
price(
$object->amount).
"</td></tr>\n";
755 $resteapayer =
$object->amount - $totalpaid;
756 $cssforamountpaymentcomplete =
'amountpaymentcomplete';
758 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"RemainderToPay").
" :</td>";
759 print
'<td class="right'.($resteapayer ?
' amountremaintopay' : (
' '.$cssforamountpaymentcomplete)).
'">'.
price($resteapayer).
"</td></tr>\n";
772 print
'<div class="clearboth"></div>';
776 if ($action ==
'edit') {
777 print $form->buttonsSaveCancel();
785 print
'<div class="tabsAction">'.
"\n";
787 if ($action !=
'edit') {
789 if (
$object->paye && $user->hasRight(
'tax',
'charges',
'creer')) {
790 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>";
794 if (
$object->paye == 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
795 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>";
800 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>';
806 (round($resteapayer) <= 0 &&
$object->amount > 0)
807 || (round($resteapayer) >= 0 &&
$object->amount < 0)
809 && $user->hasRight(
'tax',
'charges',
'creer')) {
810 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>";
814 if ($user->hasRight(
'tax',
'charges',
'creer')) {
815 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>";
818 if ($user->hasRight(
'tax',
'charges',
'supprimer') && empty($totalpaid)) {
819 print
'<div class="inline-block divButAction"><a class="butActionDelete" href="card.php?id='.$object->id.
'&action=delete&token='.
newToken().
'">'.$langs->trans(
"Delete").
'</a></div>';
821 print
'<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.(dol_escape_htmltag($langs->trans(
"DisabledBecausePayments"))).
'">'.$langs->trans(
"Delete").
'</a></div>';
829 if (
GETPOST(
'modelselected')) {
833 if ($action !=
'presend') {
834 print
'<div class="fichecenter"><div class="fichehalfleft">';
835 print
'<a name="builddoc"></a>';
837 $includedocgeneration = 1;
840 if ($includedocgeneration) {
842 $relativepath = $objref.
'/'.$objref.
'.pdf';
843 $filedir = $conf->tax->dir_output.
'/vat/'.$objref;
844 $urlsource = $_SERVER[
"PHP_SELF"].
"?id=".
$object->id;
846 $delallowed = $user->hasRight(
'tax',
'charges',
'creer');
847 print $formfile->showdocuments(
'tax-vat', $objref, $filedir, $urlsource, $genallowed, $delallowed,
$object->model_pdf, 1, 0, 0, 28, 0,
'',
'',
'', $langs->defaultlang);
855 print
'</div><div class="fichehalfright">';
868 print
'</div></div>';
872 if (
GETPOST(
'modelselected')) {
878 $defaulttopic =
'InformationMessage';
879 $diroutput = $conf->tax->dir_output;
880 $trackid =
'vat'.$object->id;
882 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()
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.
Put here description of your class.
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)
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.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
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 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.
vat_prepare_head($object)
Prepare array with list of tabs.