29require
'../../main.inc.php';
30require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
31require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formsocialcontrib.class.php';
32require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/compta/sociales/class/chargesociales.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/compta/sociales/class/paymentsocialcontribution.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
36require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/lib/tax.lib.php';
38require_once DOL_DOCUMENT_ROOT.
'/user/class/user.class.php';
39if (isModEnabled(
'project')) {
40 include_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
41 include_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
43if (isModEnabled(
'accounting')) {
44 include_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingjournal.class.php';
48$langs->loadLangs(array(
'compta',
'bills',
'banks',
'hrm'));
52$action =
GETPOST(
'action',
'aZ09');
53$confirm =
GETPOST(
'confirm',
'alpha');
54$cancel =
GETPOST(
'cancel',
'aZ09');
55$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'myobjectcard';
56$backtopage =
GETPOST(
'backtopage',
'alpha');
57$backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
64$label =
GETPOST(
'label',
'alpha');
65$actioncode =
GETPOST(
'actioncode');
69$hookmanager->initHooks(array(
'taxcard',
'globalcard'));
74$diroutputmassaction = $conf->tax->dir_output.
'/temp/massgeneration/'.$user->id;
75$hookmanager->initHooks(array(
'taxsocialcontributioncard',
'globalcard'));
77if (empty($action) && empty($id) && empty($ref)) {
86$permissiontoread = $user->hasRight(
'tax',
'charges',
'lire');
87$permissiontoadd = $user->hasRight(
'tax',
'charges',
'creer');
88$permissiontodelete = $user->rights->tax->charges->supprimer || ($permissiontoadd && isset(
$object->status) &&
$object->status == $object::STATUS_UNPAID);
89$permissionnote = $user->hasRight(
'tax',
'charges',
'creer');
90$permissiondellink = $user->hasRight(
'tax',
'charges',
'creer');
91$upload_dir = $conf->tax->multidir_output[isset(
$object->entity) ?
$object->entity : 1];
96 $socid = $user->socid;
106$parameters = array(
'socid' => $socid);
107$reshook = $hookmanager->executeHooks(
'doActions', $parameters,
$object, $action);
112if (empty($reshook)) {
114 if ($action ==
'confirm_paid' && $permissiontoadd && $confirm ==
'yes') {
115 $result =
$object->setPaid($user);
118 if ($action ==
'reopen' && $user->hasRight(
'tax',
'charges',
'creer')) {
120 $result =
$object->setUnpaid($user);
122 header(
'Location: '.$_SERVER[
"PHP_SELF"].
'?id='.$id);
131 if ($action ==
'classin' && $permissiontoadd) {
135 if ($action ==
'setfk_user' && $permissiontoadd) {
140 if ($action ==
'setlib' && $permissiontoadd) {
141 $result =
$object->setValueFrom(
'libelle',
GETPOST(
'lib'),
'',
'',
'text',
'', $user,
'TAX_MODIFY');
148 if ($action ==
'setmode' && $permissiontoadd) {
156 if ($action ==
'setbankaccount' && $permissiontoadd) {
164 if ($action ==
'confirm_delete' && $permissiontodelete && $confirm ==
'yes') {
165 $totalpaid =
$object->getSommePaiement();
166 if (empty($totalpaid)) {
167 $result =
$object->delete($user);
169 header(
"Location: list.php");
181 if ($action ==
'add' && $permissiontoadd) {
185 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Date")),
null,
'errors');
187 } elseif (!$dateperiod) {
188 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Period")),
null,
'errors');
190 } elseif (!($actioncode > 0)) {
191 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Type")),
null,
'errors');
193 } elseif (empty($amount)) {
194 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")),
null,
'errors');
196 } elseif (!is_numeric($amount)) {
197 setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")),
null,
'errors');
203 $object->periode = $dateperiod;
220 if ($action ==
'update' && !$cancel && $permissiontoadd) {
224 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Date")),
null,
'errors');
226 } elseif (!$dateperiod) {
227 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Period")),
null,
'errors');
229 } elseif (empty($amount)) {
230 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")),
null,
'errors');
232 } elseif (!is_numeric($amount)) {
233 setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")),
null,
'errors');
239 $object->periode = $dateperiod;
244 $result =
$object->update($user);
252 if ($action ==
'confirm_clone' && $confirm !=
'yes') {
256 if ($action ==
'confirm_clone' && $confirm ==
'yes' && $permissiontoadd) {
265 if (
GETPOST(
'amount',
'alphanohtml')) {
269 if (
GETPOST(
'clone_label',
'alphanohtml')) {
283 if ($newdateperiod) {
284 $object->periode = $newdateperiod;
285 $object->period = $newdateperiod;
286 if (empty($newdateech)) {
291 $object->date_ech = $newdateech;
292 if (empty($newdateperiod)) {
301 $resultcheck =
$object->check();
308 header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?id=".$id);
324 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
332$form =
new Form($db);
335$bankaccountstatic =
new Account($db);
336if (isModEnabled(
'project')) {
342$title = $langs->trans(
"SocialContribution").
' - '.$langs->trans(
"Card");
343$help_url =
'EN:Module_Taxes_and_social_contributions|FR:Module_Taxes_et_charges_spéciales|ES:Módulo Impuestos y cargas sociales (IVA, impuestos)';
348if ($action ==
'create') {
351 print
'<form name="charge" method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
352 print
'<input type="hidden" name="token" value="'.newToken().
'">';
353 print
'<input type="hidden" name="action" value="add">';
357 print
'<table class="border centpercent tableforfieldcreate">';
361 print
'<td class="titlefieldcreate fieldrequired">';
362 print $langs->trans(
"Label");
364 print
'<td><input type="text" name="label" class="flat minwidth300" value="'.dol_escape_htmltag(
GETPOST(
'label',
'alpha')).
'" autofocus></td>';
369 print
'<td class="fieldrequired">';
370 print $langs->trans(
"Type");
373 $formsocialcontrib->select_type_socialcontrib(
GETPOST(
"actioncode",
'alpha') ?
GETPOST(
"actioncode",
'alpha') :
'',
'actioncode', 1);
379 print
'<td class="fieldrequired">';
380 print $langs->trans(
"Date");
383 print $form->selectDate(!empty($dateech) ? $dateech :
'-1',
'ech', 0, 0, 0,
'charge', 1, 1);
389 print
'<td class="fieldrequired">';
390 print $form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo"));
393 print $form->selectDate(!empty($dateperiod) ? $dateperiod :
'-1',
'period', 0, 0, 0,
'charge', 1);
399 print
'<td class="fieldrequired">';
400 print $langs->trans(
"Amount");
402 print
'<td><input type="text" size="6" name="amount" class="flat" value="'.dol_escape_htmltag(
GETPOST(
'amount',
'alpha')).
'"></td>';
407 print $langs->trans(
'Employee');
409 print
'<td>'.img_picto(
'',
'user',
'class="pictofixedwidth"').$form->select_dolusers(
'',
'userid', 1).
'</td></tr>';
412 if (isModEnabled(
'project')) {
416 $langs->load(
"projects");
418 print
'<tr><td>'.$langs->trans(
"Project").
'</td><td>';
420 print
img_picto(
'',
'project',
'class="pictofixedwidth"').$formproject->select_projects(-1, $fk_project,
'fk_project', 0, 0, 1, 1, 0, 0, 0,
'', 1);
426 print
'<tr><td>'.$langs->trans(
'DefaultPaymentMode').
'</td><td colspan="2">';
427 $form->select_types_paiements(
GETPOSTINT(
'mode_reglement_id'),
'mode_reglement_id');
431 if (isModEnabled(
"bank")) {
432 print
'<tr><td>'.$langs->trans(
'DefaultBankAccount').
'</td><td colspan="2">';
433 print
img_picto(
'',
'bank_account',
'class="pictofixedwidth"').$form->select_comptes(
GETPOSTINT(
'fk_account'),
'fk_account', 0,
'', 2,
'', 0,
'', 1);
441 print
'<div class="center">';
442 print
'<input type="submit" class="button button-add" value="'.$langs->trans(
"Add").
'">';
443 print
' ';
444 print
'<input type="button" class="button button-cancel" value="'.$langs->trans(
"Cancel").
'" onClick="history.go(-1)">';
457 $totalpaid =
$object->getSommePaiement();
460 if ($action ===
'clone') {
461 $formquestion = array(
462 array(
'type' =>
'text',
'name' =>
'clone_label',
'label' => $langs->trans(
"Label"),
'value' => $langs->trans(
"CopyOf").
' '.
$object->label,
'tdclass'=>
'fieldrequired'),
465 $formquestion[] = array(
'type' =>
'checkbox',
'name' =>
'clone_for_next_month',
'label' => $langs->trans(
"CloneTaxForNextMonth"),
'value' => 1);
467 $formquestion[] = array(
'type' =>
'date',
'datenow'=>1,
'name' =>
'clone_date_ech',
'label' => $langs->trans(
"Date"),
'value' => -1);
468 $formquestion[] = array(
'type' =>
'date',
'name' =>
'clone_period',
'label' => $langs->trans(
"PeriodEndDate"),
'value' => -1);
469 $formquestion[] = array(
'type' =>
'text',
'name' =>
'amount',
'label' => $langs->trans(
"Amount"),
'value' =>
price(
$object->amount),
'morecss' =>
'width100');
472 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneTax',
$object->ref),
'confirm_clone', $formquestion,
'yes', 1, 280);
476 if ($action ==
'paid') {
477 $text = $langs->trans(
'ConfirmPaySocialContribution');
478 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
"?id=".
$object->id, $langs->trans(
'PaySocialContribution'), $text,
"confirm_paid",
'',
'', 2);
482 if ($action ==
'delete') {
483 $text = $langs->trans(
'ConfirmDeleteSocialContribution');
484 $formconfirm = $form->formconfirm($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, $langs->trans(
'DeleteSocialContribution'), $text,
'confirm_delete',
'',
'', 2);
487 if ($action ==
'edit') {
488 print
'<form name="charge" action="'.$_SERVER[
"PHP_SELF"].
'?id='.
$object->id.
'" method="POST">';
489 print
'<input type="hidden" name="token" value="'.newToken().
'">';
490 print
'<input type="hidden" name="action" value="update">';
493 $parameters = array(
'formConfirm' => $formconfirm,
'lineid' => $lineid);
494 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters,
$object, $action);
495 if (empty($reshook)) {
496 $formconfirm .= $hookmanager->resPrint;
497 } elseif ($reshook > 0) {
498 $formconfirm = $hookmanager->resPrint;
504 print
dol_get_fiche_head($head,
'card', $langs->trans(
"SocialContribution"), -1,
'bill', 0,
'',
'', 0,
'', 1);
511 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
513 $morehtmlref =
'<div class="refidno">';
515 $morehtmlref .= $form->editfieldkey(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'', 0, 1);
516 $morehtmlref .= $form->editfieldval(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'',
null,
null,
'', 1);
519 if ($action !=
'editfk_user') {
521 $userstatic =
new User($db);
522 $result = $userstatic->fetch(
$object->fk_user);
524 $morehtmlref .=
'<br>' .$langs->trans(
'Employee').
' : '.$userstatic->getNomUrl(1);
527 $morehtmlref .=
'<br>' . $form->editfieldkey(
"Employee",
'fk_user',
$object->label,
$object, $user->hasRight(
'salaries',
'write'),
'string',
'', 0, 1);
529 $userstatic =
new User($db);
530 $result = $userstatic->fetch(
$object->fk_user);
532 $morehtmlref .= $userstatic->getNomUrl(1);
540 $morehtmlref .=
'<br>'.$langs->trans(
'Employee').
' : ';
541 $morehtmlref .=
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
542 $morehtmlref .=
'<input type="hidden" name="action" value="setfk_user">';
543 $morehtmlref .=
'<input type="hidden" name="token" value="'.newToken().
'">';
544 $morehtmlref .= $form->select_dolusers(
$object->fk_user,
'userid', 1);
545 $morehtmlref .=
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
546 $morehtmlref .=
'</form>';
550 if (isModEnabled(
'project')) {
551 $langs->load(
"projects");
552 $morehtmlref .=
'<br>';
553 if ($permissiontoadd) {
554 $morehtmlref .=
img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
555 if ($action !=
'classify') {
556 $morehtmlref .=
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.((int)
$object->id).
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
558 $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');
560 if (!empty(
$object->fk_project)) {
562 $proj->fetch(
$object->fk_project);
563 $morehtmlref .= $proj->getNomUrl(1);
565 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
570 $morehtmlref .=
'</div>';
574 $object->totalpaid = $totalpaid;
576 dol_banner_tab(
$object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'',
'', 0, $morehtmlright);
578 print
'<div class="fichecenter">';
579 print
'<div class="fichehalfleft">';
580 print
'<div class="underbanner clearboth"></div>';
582 print
'<table class="border centpercent tableforfield">';
585 print
'<tr><td class="titlefield">';
586 print $langs->trans(
"Type").
"</td><td>".
$object->type_label.
"</td>";
590 if ($action ==
'edit') {
591 print
'<tr><td>'.$langs->trans(
"Date").
"</td><td>";
592 print $form->selectDate(
$object->date_ech,
'ech', 0, 0, 0,
'charge', 1, 1);
595 print
"<tr><td>".$langs->trans(
"Date").
"</td><td>".
dol_print_date(
$object->date_ech,
'day').
"</td></tr>";
599 print
"<tr><td>".$form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")).
"</td>";
601 if ($action ==
'edit') {
602 print $form->selectDate(
$object->periode,
'period', 0, 0, 0,
'charge', 1);
609 if ($action ==
'edit') {
610 print
'<tr><td>'.$langs->trans(
"AmountTTC").
"</td><td>";
611 print
'<input type="text" name="amount" size="12" class="flat" value="'.price(
$object->amount).
'">';
614 print
'<tr><td>'.$langs->trans(
"AmountTTC").
'</td><td><span class="amount">'.
price(
$object->amount, 0, $langs, 1, -1, -1, $conf->currency).
'</span></td></tr>';
619 print
'<table class="nobordernopadding" width="100%"><tr><td>';
620 print $langs->trans(
'DefaultPaymentMode');
622 if ($action !=
'editmode') {
623 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>';
625 print
'</tr></table>';
627 if ($action ==
'editmode') {
628 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->mode_reglement_id,
'mode_reglement_id',
'', 1, 1);
630 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->mode_reglement_id,
'none');
635 if (isModEnabled(
"bank")) {
636 print
'<tr><td class="nowrap">';
637 print
'<table class="centpercent nobordernopadding"><tr><td class="nowrap">';
638 print $langs->trans(
'DefaultBankAccount');
640 if ($action !=
'editbankaccount' && $user->hasRight(
'tax',
'charges',
'creer')) {
641 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>';
643 print
'</tr></table>';
645 if ($action ==
'editbankaccount') {
646 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'fk_account', 1);
648 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'none');
655 $parameters = array();
656 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters,
$object, $action);
657 print $hookmanager->resPrint;
662 print
'<div class="fichehalfright">';
664 print
'<div class="underbanner clearboth"></div>';
667 if (isModEnabled(
"bank")) {
674 $sql =
"SELECT p.rowid, p.num_paiement as num_payment, p.datep as dp, p.amount,";
675 $sql .=
" c.code as type_code,c.libelle as paiement_type,";
676 $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';
677 $sql .=
" FROM ".MAIN_DB_PREFIX.
"paiementcharge as p";
678 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
679 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
680 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepaiement = c.id";
681 $sql .=
", ".MAIN_DB_PREFIX.
"chargesociales as cs";
682 $sql .=
" WHERE p.fk_charge = ".((int) $id);
683 $sql .=
" AND p.fk_charge = cs.rowid";
684 $sql .=
" AND cs.entity IN (".getEntity(
'sc').
")";
685 $sql .=
" ORDER BY dp DESC";
688 $resql = $db->query($sql);
692 $num = $db->num_rows($resql);
696 print
'<div class="div-table-responsive-no-min">';
697 print
'<table class="noborder paymenttable">';
698 print
'<tr class="liste_titre">';
699 print
'<td>'.$langs->trans(
"RefPayment").
'</td>';
700 print
'<td>'.$langs->trans(
"Date").
'</td>';
701 print
'<td>'.$langs->trans(
"Type").
'</td>';
702 if (isModEnabled(
"bank")) {
703 print
'<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
705 print
'<td class="right">'.$langs->trans(
"Amount").
'</td>';
712 $objp = $db->fetch_object($resql);
714 $paymentsocialcontributiontmp->id = $objp->rowid;
715 $paymentsocialcontributiontmp->ref = $objp->rowid;
716 $paymentsocialcontributiontmp->datep = $db->jdate($objp->dp);
718 print
'<tr class="oddeven"><td>';
719 print $paymentsocialcontributiontmp->getNomUrl(1);
722 print
'<td>'.dol_print_date($db->jdate($objp->dp),
'day').
"</td>\n";
723 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
724 print
"<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
725 if (isModEnabled(
"bank")) {
726 $bankaccountstatic->id = $objp->baid;
727 $bankaccountstatic->ref = $objp->baref;
728 $bankaccountstatic->label = $objp->baref;
729 $bankaccountstatic->number = $objp->banumber;
730 $bankaccountstatic->currency_code = $objp->bacurrency_code;
732 if (isModEnabled(
'accounting')) {
733 $bankaccountstatic->account_number = $objp->account_number;
736 $accountingjournal->fetch($objp->fk_accountancy_journal);
737 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
740 print
'<td class="right">';
741 if ($bankaccountstatic->id) {
742 print $bankaccountstatic->getNomUrl(1,
'transactions');
746 print
'<td class="right"><span class="amount">'.price($objp->amount).
"</span></td>\n";
748 $totalpaid += $objp->amount;
752 print
'<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
753 print
'<td></td><td></td><td></td><td></td>';
757 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AlreadyPaid").
' :</td><td class="right nowraponall">'.
price($totalpaid).
"</td></tr>\n";
758 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AmountExpected").
' :</td><td class="right nowraponall">'.
price(
$object->amount).
"</td></tr>\n";
760 $resteapayer =
$object->amount - $totalpaid;
761 $cssforamountpaymentcomplete =
'amountpaymentcomplete';
763 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"RemainderToPay").
" :</td>";
764 print
'<td class="right nowraponall'.($resteapayer ?
' amountremaintopay' : (
' '.$cssforamountpaymentcomplete)).
'">'.
price($resteapayer).
"</td></tr>\n";
777 print
'<div class="clearboth"></div>';
781 if ($action ==
'edit') {
782 print $form->buttonsSaveCancel();
791 if ($action !=
'edit') {
792 print
'<div class="tabsAction">'.
"\n";
795 if (
$object->paye && $user->hasRight(
'tax',
'charges',
'creer')) {
796 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>';
800 if (
$object->paye == 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
801 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>';
806 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>";
810 if (
$object->paye == 0 && round($resteapayer) <= 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
811 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>';
815 if ($user->hasRight(
'tax',
'charges',
'creer')) {
816 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>";
820 if ($user->hasRight(
'tax',
'charges',
'supprimer') && empty($totalpaid)) {
821 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>';
823 print
'<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.(dol_escape_htmltag($langs->trans(
"DisabledBecausePayments"))).
'">'.$langs->trans(
"Delete").
'</a></div>';
831 if (
GETPOST(
'modelselected')) {
835 if ($action !=
'presend') {
836 print
'<div class="fichecenter"><div class="fichehalfleft">';
837 print
'<a name="builddoc"></a>';
839 $includedocgeneration = 1;
842 if ($includedocgeneration) {
844 $relativepath = $objref.
'/'.$objref.
'.pdf';
845 $filedir = $conf->tax->dir_output.
'/'.$objref;
846 $urlsource = $_SERVER[
"PHP_SELF"].
"?id=".
$object->id;
848 $delallowed = $user->hasRight(
'tax',
'charges',
'creer');
849 print $formfile->showdocuments(
'tax', $objref, $filedir, $urlsource, $genallowed, $delallowed,
$object->model_pdf, 1, 0, 0, 28, 0,
'',
'',
'', $langs->defaultlang);
857 print
'</div><div class="fichehalfright">';
870 print
'</div></div>';
874 if (
GETPOST(
'modelselected')) {
880 $defaulttopic =
'InformationMessage';
881 $diroutput = $conf->tax->dir_output;
882 $trackid =
'sc'.$object->id;
884 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 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.
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.
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.
tax_prepare_head(ChargeSociales $object)
Prepare array with list of tabs.