30require
'../../main.inc.php';
31require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
32require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formsocialcontrib.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/compta/sociales/class/chargesociales.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/compta/sociales/class/paymentsocialcontribution.class.php';
36require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
38require_once DOL_DOCUMENT_ROOT.
'/core/lib/tax.lib.php';
39require_once DOL_DOCUMENT_ROOT.
'/user/class/user.class.php';
40if (isModEnabled(
'project')) {
41 include_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
42 include_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
44if (isModEnabled(
'accounting')) {
45 include_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingjournal.class.php';
57$langs->loadLangs(array(
'compta',
'bills',
'banks',
'hrm'));
61$action =
GETPOST(
'action',
'aZ09');
62$confirm =
GETPOST(
'confirm',
'alpha');
63$cancel =
GETPOST(
'cancel',
'aZ09');
64$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'myobjectcard';
65$backtopage =
GETPOST(
'backtopage',
'alpha');
66$backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
74$label =
GETPOST(
'label',
'alpha');
79$hookmanager->initHooks(array(
'taxcard',
'globalcard'));
84$diroutputmassaction =
$conf->tax->dir_output.
'/temp/massgeneration/'.$user->id;
85$hookmanager->initHooks(array(
'taxsocialcontributioncard',
'globalcard'));
87if (empty($action) && empty($id) && empty($ref)) {
96$permissiontoread = $user->hasRight(
'tax',
'charges',
'lire');
97$permissiontoadd = $user->hasRight(
'tax',
'charges',
'creer');
98$permissiontodelete = $user->rights->tax->charges->supprimer || ($permissiontoadd && isset(
$object->status) &&
$object->status == $object::STATUS_UNPAID);
99$permissionnote = $user->hasRight(
'tax',
'charges',
'creer');
100$permissiondellink = $user->hasRight(
'tax',
'charges',
'creer');
106 $socid = $user->socid;
115$parameters = array(
'socid' => $socid);
116$reshook = $hookmanager->executeHooks(
'doActions', $parameters,
$object, $action);
121if (empty($reshook)) {
123 if ($action ==
'confirm_paid' && $permissiontoadd && $confirm ==
'yes') {
124 $result =
$object->setPaid($user);
127 if ($action ==
'reopen' && $user->hasRight(
'tax',
'charges',
'creer')) {
129 $result =
$object->setUnpaid($user);
131 header(
'Location: '.$_SERVER[
"PHP_SELF"].
'?id='.$id);
140 if ($action ==
'classin' && $permissiontoadd) {
144 if ($action ==
'setfk_user' && $permissiontoadd) {
149 if ($action ==
'setlib' && $permissiontoadd) {
150 $result =
$object->setValueFrom(
'libelle',
GETPOST(
'lib'),
'',
null,
'text',
'', $user,
'TAX_MODIFY');
157 if ($action ==
'setmode' && $permissiontoadd) {
165 if ($action ==
'setbankaccount' && $permissiontoadd) {
173 if ($action ==
'confirm_delete' && $permissiontodelete && $confirm ==
'yes') {
174 $totalpaid =
$object->getSommePaiement();
175 if (empty($totalpaid)) {
176 $result =
$object->delete($user);
178 header(
"Location: list.php");
190 if ($action ==
'add' && $permissiontoadd) {
194 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Date")),
null,
'errors');
196 } elseif (!$dateperiod) {
197 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Period")),
null,
'errors');
199 } elseif (!($actioncode > 0)) {
200 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Type")),
null,
'errors');
202 } elseif (empty($amount)) {
203 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")),
null,
'errors');
205 } elseif (!is_numeric($amount)) {
206 setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")),
null,
'errors');
212 $object->periode = $dateperiod;
228 if ($action ==
'update' && !$cancel && $permissiontoadd) {
232 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Date")),
null,
'errors');
234 } elseif (!$dateperiod) {
235 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Period")),
null,
'errors');
237 } elseif (empty($amount)) {
238 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")),
null,
'errors');
240 } elseif (!is_numeric($amount)) {
241 setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")),
null,
'errors');
251 $object->periode = $dateperiod;
255 $result =
$object->update($user);
268 if ($action ==
'confirm_clone' && $confirm !=
'yes') {
272 if ($action ==
'confirm_clone' && $confirm ==
'yes' && $permissiontoadd) {
281 if (
GETPOST(
'amount',
'alphanohtml')) {
285 if (
GETPOST(
'clone_label',
'alphanohtml')) {
298 if ($newdateperiod) {
299 $object->period = $newdateperiod;
300 if (empty($newdateech)) {
305 $object->date_ech = $newdateech;
306 if (empty($newdateperiod)) {
314 $resultcheck =
$object->check();
321 header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?id=".$id);
337 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
345$form =
new Form($db);
348$bankaccountstatic =
new Account($db);
349if (isModEnabled(
'project')) {
355$title = $langs->trans(
"SocialContribution").
' - '.$langs->trans(
"Card");
356$help_url =
'EN:Module_Taxes_and_social_contributions|FR:Module_Taxes_et_charges_spéciales|ES:Módulo Impuestos y cargas sociales (IVA, impuestos)';
363if ($action ==
'create') {
366 print
'<form name="charge" method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
367 print
'<input type="hidden" name="token" value="'.newToken().
'">';
368 print
'<input type="hidden" name="action" value="add">';
372 print
'<table class="border centpercent tableforfieldcreate">';
376 print
'<td class="titlefieldcreate fieldrequired">';
377 print $langs->trans(
"Label");
379 print
'<td><input type="text" name="label" class="flat minwidth300" value="'.dol_escape_htmltag(
GETPOST(
'label',
'alpha')).
'" autofocus></td>';
384 print
'<td class="fieldrequired">';
385 print $langs->trans(
"Type");
388 $formsocialcontrib->select_type_socialcontrib(
GETPOST(
'actioncode',
'alpha') ?
GETPOST(
'actioncode',
'alpha') :
'',
'actioncode', 1);
394 print
'<td class="fieldrequired">';
395 print $langs->trans(
"Date");
398 print $form->selectDate(!empty($dateech) ? $dateech :
'-1',
'ech', 0, 0, 0,
'charge', 1, 1);
404 print
'<td class="fieldrequired">';
405 print $form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo"));
408 print $form->selectDate(!empty($dateperiod) ? $dateperiod :
'-1',
'period', 0, 0, 0,
'charge', 1);
414 print
'<td class="fieldrequired">';
415 print $langs->trans(
"Amount");
417 print
'<td><input type="text" size="6" name="amount" class="flat" value="'.dol_escape_htmltag(
GETPOST(
'amount',
'alpha')).
'"></td>';
422 print $langs->trans(
'Employee');
424 print
'<td>'.img_picto(
'',
'user',
'class="pictofixedwidth"').$form->select_dolusers(
'',
'userid', 1).
'</td></tr>';
427 if (isModEnabled(
'project')) {
431 $langs->load(
"projects");
433 print
'<tr><td>'.$langs->trans(
"Project").
'</td><td>';
435 print
img_picto(
'',
'project',
'class="pictofixedwidth"').$formproject->select_projects(-1, $fk_project,
'fk_project', 0, 0, 1, 1, 0, 0, 0,
'', 1);
441 print
'<tr><td>'.$langs->trans(
'DefaultPaymentMode').
'</td><td colspan="2">';
442 $form->select_types_paiements(
GETPOSTINT(
'mode_reglement_id'),
'mode_reglement_id');
446 if (isModEnabled(
"bank")) {
447 print
'<tr><td>'.$langs->trans(
'DefaultBankAccount').
'</td><td colspan="2">';
448 print
img_picto(
'',
'bank_account',
'class="pictofixedwidth"').$form->select_comptes(
GETPOSTINT(
'fk_account'),
'fk_account', 0,
'', 2,
'', 0,
'', 1);
456 print
'<div class="center">';
457 print
'<input type="submit" class="button button-add" value="'.$langs->trans(
"Add").
'">';
458 print
' ';
459 print
'<input type="button" class="button button-cancel" value="'.$langs->trans(
"Cancel").
'" onClick="history.go(-1)">';
472 $totalpaid =
$object->getSommePaiement();
475 if ($action ===
'clone') {
476 $formquestion = array(
477 array(
'type' =>
'text',
'name' =>
'clone_label',
'label' => $langs->trans(
"Label"),
'value' => $langs->trans(
"CopyOf").
' '.
$object->label,
'tdclass' =>
'fieldrequired'),
480 $formquestion[] = array(
'type' =>
'checkbox',
'name' =>
'clone_for_next_month',
'label' => $langs->trans(
"CloneTaxForNextMonth"),
'value' => 1);
482 $formquestion[] = array(
'type' =>
'date',
'datenow' => 1,
'name' =>
'clone_date_ech',
'label' => $langs->trans(
"Date"),
'value' => -1);
483 $formquestion[] = array(
'type' =>
'date',
'name' =>
'clone_period',
'label' => $langs->trans(
"PeriodEndDate"),
'value' => -1);
484 $formquestion[] = array(
'type' =>
'text',
'name' =>
'amount',
'label' => $langs->trans(
"Amount"),
'value' =>
price(
$object->amount),
'morecss' =>
'width100');
487 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneTax',
$object->ref),
'confirm_clone', $formquestion,
'yes', 1, 280);
491 if ($action ==
'paid') {
492 $text = $langs->trans(
'ConfirmPaySocialContribution');
493 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
"?id=".
$object->id, $langs->trans(
'PaySocialContribution'), $text,
"confirm_paid",
'',
'', 2);
497 if ($action ==
'delete') {
498 $text = $langs->trans(
'ConfirmDeleteSocialContribution');
499 $formconfirm = $form->formconfirm($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, $langs->trans(
'DeleteSocialContribution'), $text,
'confirm_delete',
'',
'', 2);
502 if ($action ==
'edit') {
503 print
'<form name="charge" action="'.$_SERVER[
"PHP_SELF"].
'?id='.
$object->id.
'" method="POST">';
504 print
'<input type="hidden" name="token" value="'.newToken().
'">';
505 print
'<input type="hidden" name="action" value="update">';
508 $parameters = array(
'formConfirm' => $formconfirm,
'lineid' => $lineid);
509 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters,
$object, $action);
510 if (empty($reshook)) {
511 $formconfirm .= $hookmanager->resPrint;
512 } elseif ($reshook > 0) {
513 $formconfirm = $hookmanager->resPrint;
517 print
dol_get_fiche_head($head,
'card', $langs->trans(
"SocialContribution"), -1,
'bill', 0,
'',
'', 0,
'', 1);
524 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
526 $morehtmlref =
'<div class="refidno">';
528 $morehtmlref .= $form->editfieldkey(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'', 0, 1);
529 $morehtmlref .= $form->editfieldval(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'',
null,
null,
'', 1);
532 if ($action !=
'editfk_user') {
534 $userstatic =
new User($db);
535 $result = $userstatic->fetch(
$object->fk_user);
537 $morehtmlref .=
'<br>' .$langs->trans(
'Employee').
' : '.$userstatic->getNomUrl(1);
540 $morehtmlref .=
'<br>' . $form->editfieldkey(
"Employee",
'fk_user',
$object->label,
$object, $user->hasRight(
'salaries',
'write'),
'string',
'', 0, 1);
542 $userstatic =
new User($db);
543 $result = $userstatic->fetch(
$object->fk_user);
545 $morehtmlref .= $userstatic->getNomUrl(1);
553 $morehtmlref .=
'<br>'.$langs->trans(
'Employee').
' : ';
554 $morehtmlref .=
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
555 $morehtmlref .=
'<input type="hidden" name="action" value="setfk_user">';
556 $morehtmlref .=
'<input type="hidden" name="token" value="'.newToken().
'">';
557 $morehtmlref .= $form->select_dolusers(
$object->fk_user,
'userid', 1);
558 $morehtmlref .=
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
559 $morehtmlref .=
'</form>';
563 if (isModEnabled(
'project')) {
564 $langs->load(
"projects");
565 $morehtmlref .=
'<br>';
566 if ($permissiontoadd) {
567 $morehtmlref .=
img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
568 if ($action !=
'classify') {
569 $morehtmlref .=
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.((int)
$object->id).
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
571 $morehtmlref .= $form->form_project($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (!
getDolGlobalString(
'PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS') ?
$object->socid : -1),
$object->fk_project, ($action ==
'classify' ?
'fk_project' :
'none'), 0, 0, 0, 1,
'',
'maxwidth300');
573 if (!empty(
$object->fk_project)) {
575 $proj->fetch(
$object->fk_project);
576 $morehtmlref .= $proj->getNomUrl(1);
578 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
583 $morehtmlref .=
'</div>';
587 $object->totalpaid = $totalpaid;
589 dol_banner_tab(
$object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'',
'', 0, $morehtmlright);
591 print
'<div class="fichecenter">';
592 print
'<div class="fichehalfleft">';
593 print
'<div class="underbanner clearboth"></div>';
595 print
'<table class="border centpercent tableforfield">';
598 print
'<tr><td class="titlefieldmiddle">';
599 print $langs->trans(
"Type").
"</td><td>";
600 if ($action ==
'edit' &&
$object->getSommePaiement() == 0) {
602 $formsocialcontrib->select_type_socialcontrib($actionPostValue ? $actionPostValue :
$object->
type,
'actioncode', 1);
611 if ($action ==
'edit') {
612 print
'<tr><td>'.$langs->trans(
"Date").
"</td><td>";
613 print $form->selectDate(
$object->date_ech,
'ech', 0, 0, 0,
'charge', 1, 1);
616 print
"<tr><td>".$langs->trans(
"Date").
"</td><td>".
dol_print_date(
$object->date_ech,
'day').
"</td></tr>";
620 print
"<tr><td>".$form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")).
"</td>";
622 if ($action ==
'edit') {
623 print $form->selectDate(
$object->period,
'period', 0, 0, 0,
'charge', 1);
630 if ($action ==
'edit') {
631 print
'<tr><td>'.$langs->trans(
"AmountTTC").
"</td><td>";
632 print
'<input type="text" name="amount" size="12" class="flat" value="'.price(
$object->amount).
'">';
635 print
'<tr><td>'.$langs->trans(
"AmountTTC").
'</td><td><span class="amount">'.
price(
$object->amount, 0, $langs, 1, -1, -1,
$conf->currency).
'</span></td></tr>';
640 print
'<table class="nobordernopadding" width="100%"><tr><td>';
641 print $langs->trans(
'DefaultPaymentMode');
643 if ($action !=
'editmode') {
644 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>';
646 print
'</tr></table>';
648 if ($action ==
'editmode') {
649 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->mode_reglement_id,
'mode_reglement_id',
'', 1, 1);
651 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->mode_reglement_id,
'none');
656 if (isModEnabled(
"bank")) {
657 print
'<tr><td class="nowrap">';
658 print
'<table class="centpercent nobordernopadding"><tr><td class="nowrap">';
659 print $langs->trans(
'DefaultBankAccount');
661 if ($action !=
'editbankaccount' && $user->hasRight(
'tax',
'charges',
'creer')) {
662 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>';
664 print
'</tr></table>';
666 if ($action ==
'editbankaccount') {
667 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'fk_account', 1);
669 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'none');
676 $parameters = array();
677 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters,
$object, $action);
678 print $hookmanager->resPrint;
683 print
'<div class="fichehalfright">';
685 print
'<div class="underbanner clearboth"></div>';
688 if (isModEnabled(
"bank")) {
695 $sql =
"SELECT p.rowid, p.num_paiement as num_payment, p.datep as dp, p.amount,";
696 $sql .=
" c.code as type_code,c.libelle as paiement_type,";
697 $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';
698 $sql .=
" FROM ".MAIN_DB_PREFIX.
"paiementcharge as p";
699 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
700 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
701 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepaiement = c.id";
702 $sql .=
", ".MAIN_DB_PREFIX.
"chargesociales as cs";
703 $sql .=
" WHERE p.fk_charge = ".((int) $id);
704 $sql .=
" AND p.fk_charge = cs.rowid";
705 $sql .=
" AND cs.entity IN (".getEntity(
'sc').
")";
706 $sql .=
" ORDER BY dp DESC";
709 $resql = $db->query($sql);
713 $num = $db->num_rows($resql);
717 print
'<div class="div-table-responsive-no-min">';
718 print
'<table class="noborder paymenttable">';
719 print
'<tr class="liste_titre">';
720 print
'<td>'.$langs->trans(
"RefPayment").
'</td>';
721 print
'<td>'.$langs->trans(
"Date").
'</td>';
722 print
'<td>'.$langs->trans(
"Type").
'</td>';
723 if (isModEnabled(
"bank")) {
724 print
'<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
726 print
'<td class="right">'.$langs->trans(
"Amount").
'</td>';
733 $objp = $db->fetch_object($resql);
735 $paymentsocialcontributiontmp->id = $objp->rowid;
736 $paymentsocialcontributiontmp->ref = $objp->rowid;
737 $paymentsocialcontributiontmp->datep = $db->jdate($objp->dp);
739 print
'<tr class="oddeven"><td>';
740 print $paymentsocialcontributiontmp->getNomUrl(1);
743 print
'<td>'.dol_print_date($db->jdate($objp->dp),
'day').
"</td>\n";
744 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
745 print
"<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
746 if (isModEnabled(
"bank")) {
747 $bankaccountstatic->id = $objp->baid;
748 $bankaccountstatic->ref = $objp->baref;
749 $bankaccountstatic->label = $objp->baref;
750 $bankaccountstatic->number = $objp->banumber;
751 $bankaccountstatic->currency_code = $objp->bacurrency_code;
753 if (isModEnabled(
'accounting')) {
754 $bankaccountstatic->account_number = $objp->account_number;
757 $accountingjournal->fetch($objp->fk_accountancy_journal);
758 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
761 print
'<td class="right">';
762 if ($bankaccountstatic->id) {
763 print $bankaccountstatic->getNomUrl(1,
'transactions');
767 print
'<td class="right"><span class="amount">'.price($objp->amount).
"</span></td>\n";
769 $totalpaid += $objp->amount;
773 print
'<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
774 print
'<td></td><td></td><td></td><td></td>';
778 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AlreadyPaid").
' :</td><td class="right nowraponall">'.
price($totalpaid).
"</td></tr>\n";
779 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AmountExpected").
' :</td><td class="right nowraponall">'.
price(
$object->amount).
"</td></tr>\n";
781 $resteapayer =
$object->amount - $totalpaid;
782 $cssforamountpaymentcomplete =
'amountpaymentcomplete';
784 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"RemainderToPay").
" :</td>";
785 print
'<td class="right nowraponall'.($resteapayer ?
' amountremaintopay' : (
' '.$cssforamountpaymentcomplete)).
'">'.
price($resteapayer).
"</td></tr>\n";
798 print
'<div class="clearboth"></div>';
802 if ($action ==
'edit') {
803 print $form->buttonsSaveCancel();
812 if ($action !=
'edit') {
813 print
'<div class="tabsAction">'.
"\n";
816 if (
$object->paye && $user->hasRight(
'tax',
'charges',
'creer')) {
817 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.
$object->id.
'&action=reopen&token='.
newToken().
'">'.$langs->trans(
"ReOpen").
'</a></div>';
821 if (
$object->paye == 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
822 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.
$object->id.
'&action=edit&token='.
newToken().
'">'.$langs->trans(
"Modify").
'</a></div>';
827 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/paiement_charge.php?id='.
$object->id.
'&action=create&token='.
newToken().
'">'.$langs->trans(
"DoPayment").
"</a></div>";
831 if (
$object->paye == 0 && round($resteapayer) <= 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
832 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.
$object->id.
'&action=paid&token='.
newToken().
'">'.$langs->trans(
"ClassifyPaid").
'</a></div>';
836 if ($user->hasRight(
'tax',
'charges',
'creer')) {
837 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.
$object->id.
'&action=clone&token='.
newToken().
'">'.$langs->trans(
"ToClone").
"</a></div>";
841 if ($user->hasRight(
'tax',
'charges',
'supprimer') && empty($totalpaid)) {
842 print
'<div class="inline-block divButAction"><a class="butActionDelete" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.
$object->id.
'&action=delete&token='.
newToken().
'">'.$langs->trans(
"Delete").
'</a></div>';
844 print
'<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.(dol_escape_htmltag($langs->trans(
"DisabledBecausePayments"))).
'">'.$langs->trans(
"Delete").
'</a></div>';
852 if (
GETPOST(
'modelselected')) {
856 if ($action !=
'presend') {
857 print
'<div class="fichecenter"><div class="fichehalfleft">';
858 print
'<a name="builddoc"></a>';
860 $includedocgeneration = 1;
863 if ($includedocgeneration) {
865 $relativepath = $objref.
'/'.$objref.
'.pdf';
866 $filedir =
$conf->tax->dir_output.
'/'.$objref;
867 $urlsource = $_SERVER[
"PHP_SELF"].
"?id=".
$object->id;
869 $delallowed = $user->hasRight(
'tax',
'charges',
'creer');
870 print $formfile->showdocuments(
'tax', $objref, $filedir, $urlsource, $genallowed, $delallowed,
$object->model_pdf, 1, 0, 0, 28, 0,
'',
'',
'', $langs->defaultlang);
878 print
'</div><div class="fichehalfright">';
891 print
'</div></div>';
895 if (
GETPOST(
'modelselected')) {
901 $defaulttopic =
'InformationMessage';
902 $diroutput =
$conf->tax->dir_output;
903 $trackid =
'sc'.$object->id;
905 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 accounting journals.
Class for managing the social charges.
Class to manage payments of social contributions.
Class to manage projects.
Class to manage Dolibarr users.
dol_time_plus_duree($time, $duration_value, $duration_unit, $ruleforendofmonth=0)
Add a delay to a date.
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.
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.
dol_now($mode='auto')
Return date for now.
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_clone($object, $native=2)
Create a clone of instance of object (new instance with same value for each properties) With native =...
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...
if(preg_match('/crypted:/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type
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.
tax_prepare_head(ChargeSociales $object)
Prepare array with list of tabs.