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;
210 $object->paye = ChargeSociales::STATUS_UNPAID;
221 if ($action ==
'update' && !$cancel && $permissiontoadd) {
225 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Date")),
null,
'errors');
227 } elseif (!$dateperiod) {
228 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Period")),
null,
'errors');
230 } elseif (empty($amount)) {
231 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")),
null,
'errors');
233 } elseif (!is_numeric($amount)) {
234 setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")),
null,
'errors');
240 $object->periode = $dateperiod;
245 $result =
$object->update($user);
253 if ($action ==
'confirm_clone' && $confirm !=
'yes') {
257 if ($action ==
'confirm_clone' && $confirm ==
'yes' && $permissiontoadd) {
266 if (
GETPOST(
'amount',
'alphanohtml')) {
270 if (
GETPOST(
'clone_label',
'alphanohtml')) {
284 if ($newdateperiod) {
285 $object->periode = $newdateperiod;
286 $object->period = $newdateperiod;
287 if (empty($newdateech)) {
292 $object->date_ech = $newdateech;
293 if (empty($newdateperiod)) {
302 $resultcheck =
$object->check();
309 header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?id=".$id);
325 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
333$form =
new Form($db);
336$bankaccountstatic =
new Account($db);
337if (isModEnabled(
'project')) {
343$title = $langs->trans(
"SocialContribution").
' - '.$langs->trans(
"Card");
344$help_url =
'EN:Module_Taxes_and_social_contributions|FR:Module_Taxes_et_charges_spéciales|ES:Módulo Impuestos y cargas sociales (IVA, impuestos)';
349if ($action ==
'create') {
352 print
'<form name="charge" method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
353 print
'<input type="hidden" name="token" value="'.newToken().
'">';
354 print
'<input type="hidden" name="action" value="add">';
358 print
'<table class="border centpercent tableforfieldcreate">';
362 print
'<td class="titlefieldcreate fieldrequired">';
363 print $langs->trans(
"Label");
365 print
'<td><input type="text" name="label" class="flat minwidth300" value="'.dol_escape_htmltag(
GETPOST(
'label',
'alpha')).
'" autofocus></td>';
370 print
'<td class="fieldrequired">';
371 print $langs->trans(
"Type");
374 $formsocialcontrib->select_type_socialcontrib(
GETPOST(
"actioncode",
'alpha') ?
GETPOST(
"actioncode",
'alpha') :
'',
'actioncode', 1);
380 print
'<td class="fieldrequired">';
381 print $langs->trans(
"Date");
384 print $form->selectDate(!empty($dateech) ? $dateech :
'-1',
'ech', 0, 0, 0,
'charge', 1, 1);
390 print
'<td class="fieldrequired">';
391 print $form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo"));
394 print $form->selectDate(!empty($dateperiod) ? $dateperiod :
'-1',
'period', 0, 0, 0,
'charge', 1);
400 print
'<td class="fieldrequired">';
401 print $langs->trans(
"Amount");
403 print
'<td><input type="text" size="6" name="amount" class="flat" value="'.dol_escape_htmltag(
GETPOST(
'amount',
'alpha')).
'"></td>';
408 print $langs->trans(
'Employee');
410 print
'<td>'.img_picto(
'',
'user',
'class="pictofixedwidth"').$form->select_dolusers(
'',
'userid', 1).
'</td></tr>';
413 if (isModEnabled(
'project')) {
417 $langs->load(
"projects");
419 print
'<tr><td>'.$langs->trans(
"Project").
'</td><td>';
421 print
img_picto(
'',
'project',
'class="pictofixedwidth"').$formproject->select_projects(-1, $fk_project,
'fk_project', 0, 0, 1, 1, 0, 0, 0,
'', 1);
427 print
'<tr><td>'.$langs->trans(
'DefaultPaymentMode').
'</td><td colspan="2">';
428 $form->select_types_paiements(
GETPOSTINT(
'mode_reglement_id'),
'mode_reglement_id');
432 if (isModEnabled(
"bank")) {
433 print
'<tr><td>'.$langs->trans(
'DefaultBankAccount').
'</td><td colspan="2">';
434 print
img_picto(
'',
'bank_account',
'class="pictofixedwidth"').$form->select_comptes(
GETPOSTINT(
'fk_account'),
'fk_account', 0,
'', 2,
'', 0,
'', 1);
442 print
'<div class="center">';
443 print
'<input type="submit" class="button button-add" value="'.$langs->trans(
"Add").
'">';
444 print
' ';
445 print
'<input type="button" class="button button-cancel" value="'.$langs->trans(
"Cancel").
'" onClick="history.go(-1)">';
458 $totalpaid =
$object->getSommePaiement();
461 if ($action ===
'clone') {
462 $formquestion = array(
463 array(
'type' =>
'text',
'name' =>
'clone_label',
'label' => $langs->trans(
"Label"),
'value' => $langs->trans(
"CopyOf").
' '.
$object->label,
'tdclass'=>
'fieldrequired'),
466 $formquestion[] = array(
'type' =>
'checkbox',
'name' =>
'clone_for_next_month',
'label' => $langs->trans(
"CloneTaxForNextMonth"),
'value' => 1);
468 $formquestion[] = array(
'type' =>
'date',
'datenow'=>1,
'name' =>
'clone_date_ech',
'label' => $langs->trans(
"Date"),
'value' => -1);
469 $formquestion[] = array(
'type' =>
'date',
'name' =>
'clone_period',
'label' => $langs->trans(
"PeriodEndDate"),
'value' => -1);
470 $formquestion[] = array(
'type' =>
'text',
'name' =>
'amount',
'label' => $langs->trans(
"Amount"),
'value' =>
price(
$object->amount),
'morecss' =>
'width100');
473 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneTax',
$object->ref),
'confirm_clone', $formquestion,
'yes', 1, 280);
477 if ($action ==
'paid') {
478 $text = $langs->trans(
'ConfirmPaySocialContribution');
479 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
"?id=".
$object->id, $langs->trans(
'PaySocialContribution'), $text,
"confirm_paid",
'',
'', 2);
483 if ($action ==
'delete') {
484 $text = $langs->trans(
'ConfirmDeleteSocialContribution');
485 $formconfirm = $form->formconfirm($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, $langs->trans(
'DeleteSocialContribution'), $text,
'confirm_delete',
'',
'', 2);
488 if ($action ==
'edit') {
489 print
'<form name="charge" action="'.$_SERVER[
"PHP_SELF"].
'?id='.
$object->id.
'" method="POST">';
490 print
'<input type="hidden" name="token" value="'.newToken().
'">';
491 print
'<input type="hidden" name="action" value="update">';
494 $parameters = array(
'formConfirm' => $formconfirm,
'lineid' => $lineid);
495 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters,
$object, $action);
496 if (empty($reshook)) {
497 $formconfirm .= $hookmanager->resPrint;
498 } elseif ($reshook > 0) {
499 $formconfirm = $hookmanager->resPrint;
505 print
dol_get_fiche_head($head,
'card', $langs->trans(
"SocialContribution"), -1,
'bill', 0,
'',
'', 0,
'', 1);
512 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
514 $morehtmlref =
'<div class="refidno">';
516 $morehtmlref .= $form->editfieldkey(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'', 0, 1);
517 $morehtmlref .= $form->editfieldval(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'',
null,
null,
'', 1);
520 if ($action !=
'editfk_user') {
522 $userstatic =
new User($db);
523 $result = $userstatic->fetch(
$object->fk_user);
525 $morehtmlref .=
'<br>' .$langs->trans(
'Employee').
' : '.$userstatic->getNomUrl(1);
528 $morehtmlref .=
'<br>' . $form->editfieldkey(
"Employee",
'fk_user',
$object->label,
$object, $user->hasRight(
'salaries',
'write'),
'string',
'', 0, 1);
530 $userstatic =
new User($db);
531 $result = $userstatic->fetch(
$object->fk_user);
533 $morehtmlref .= $userstatic->getNomUrl(1);
541 $morehtmlref .=
'<br>'.$langs->trans(
'Employee').
' : ';
542 $morehtmlref .=
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
543 $morehtmlref .=
'<input type="hidden" name="action" value="setfk_user">';
544 $morehtmlref .=
'<input type="hidden" name="token" value="'.newToken().
'">';
545 $morehtmlref .= $form->select_dolusers(
$object->fk_user,
'userid', 1);
546 $morehtmlref .=
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
547 $morehtmlref .=
'</form>';
551 if (isModEnabled(
'project')) {
552 $langs->load(
"projects");
553 $morehtmlref .=
'<br>';
554 if ($permissiontoadd) {
555 $morehtmlref .=
img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
556 if ($action !=
'classify') {
557 $morehtmlref .=
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.((int)
$object->id).
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
559 $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');
561 if (!empty(
$object->fk_project)) {
563 $proj->fetch(
$object->fk_project);
564 $morehtmlref .= $proj->getNomUrl(1);
566 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
571 $morehtmlref .=
'</div>';
575 $object->totalpaid = $totalpaid;
577 dol_banner_tab(
$object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'',
'', 0, $morehtmlright);
579 print
'<div class="fichecenter">';
580 print
'<div class="fichehalfleft">';
581 print
'<div class="underbanner clearboth"></div>';
583 print
'<table class="border centpercent tableforfield">';
586 print
'<tr><td class="titlefield">';
587 print $langs->trans(
"Type").
"</td><td>".
$object->type_label.
"</td>";
591 if ($action ==
'edit') {
592 print
'<tr><td>'.$langs->trans(
"Date").
"</td><td>";
593 print $form->selectDate(
$object->date_ech,
'ech', 0, 0, 0,
'charge', 1, 1);
596 print
"<tr><td>".$langs->trans(
"Date").
"</td><td>".
dol_print_date(
$object->date_ech,
'day').
"</td></tr>";
600 print
"<tr><td>".$form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")).
"</td>";
602 if ($action ==
'edit') {
603 print $form->selectDate(
$object->periode,
'period', 0, 0, 0,
'charge', 1);
610 if ($action ==
'edit') {
611 print
'<tr><td>'.$langs->trans(
"AmountTTC").
"</td><td>";
612 print
'<input type="text" name="amount" size="12" class="flat" value="'.price(
$object->amount).
'">';
615 print
'<tr><td>'.$langs->trans(
"AmountTTC").
'</td><td><span class="amount">'.
price(
$object->amount, 0, $langs, 1, -1, -1, $conf->currency).
'</span></td></tr>';
620 print
'<table class="nobordernopadding" width="100%"><tr><td>';
621 print $langs->trans(
'DefaultPaymentMode');
623 if ($action !=
'editmode') {
624 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>';
626 print
'</tr></table>';
628 if ($action ==
'editmode') {
629 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->mode_reglement_id,
'mode_reglement_id',
'', 1, 1);
631 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->mode_reglement_id,
'none');
636 if (isModEnabled(
"bank")) {
637 print
'<tr><td class="nowrap">';
638 print
'<table class="centpercent nobordernopadding"><tr><td class="nowrap">';
639 print $langs->trans(
'DefaultBankAccount');
641 if ($action !=
'editbankaccount' && $user->hasRight(
'tax',
'charges',
'creer')) {
642 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>';
644 print
'</tr></table>';
646 if ($action ==
'editbankaccount') {
647 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'fk_account', 1);
649 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'none');
656 $parameters = array();
657 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters,
$object, $action);
658 print $hookmanager->resPrint;
663 print
'<div class="fichehalfright">';
665 print
'<div class="underbanner clearboth"></div>';
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.
"paiementcharge 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.
"chargesociales as cs";
683 $sql .=
" WHERE p.fk_charge = ".((int) $id);
684 $sql .=
" AND p.fk_charge = cs.rowid";
685 $sql .=
" AND cs.entity IN (".getEntity(
'sc').
")";
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>';
713 $objp = $db->fetch_object($resql);
715 $paymentsocialcontributiontmp->id = $objp->rowid;
716 $paymentsocialcontributiontmp->ref = $objp->rowid;
717 $paymentsocialcontributiontmp->datep = $db->jdate($objp->dp);
719 print
'<tr class="oddeven"><td>';
720 print $paymentsocialcontributiontmp->getNomUrl(1);
723 print
'<td>'.dol_print_date($db->jdate($objp->dp),
'day').
"</td>\n";
724 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
725 print
"<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
726 if (isModEnabled(
"bank")) {
727 $bankaccountstatic->id = $objp->baid;
728 $bankaccountstatic->ref = $objp->baref;
729 $bankaccountstatic->label = $objp->baref;
730 $bankaccountstatic->number = $objp->banumber;
731 $bankaccountstatic->currency_code = $objp->bacurrency_code;
733 if (isModEnabled(
'accounting')) {
734 $bankaccountstatic->account_number = $objp->account_number;
737 $accountingjournal->fetch($objp->fk_accountancy_journal);
738 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
741 print
'<td class="right">';
742 if ($bankaccountstatic->id) {
743 print $bankaccountstatic->getNomUrl(1,
'transactions');
747 print
'<td class="right"><span class="amount">'.price($objp->amount).
"</span></td>\n";
749 $totalpaid += $objp->amount;
753 print
'<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
754 print
'<td></td><td></td><td></td><td></td>';
758 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AlreadyPaid").
' :</td><td class="right nowraponall">'.
price($totalpaid).
"</td></tr>\n";
759 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AmountExpected").
' :</td><td class="right nowraponall">'.
price(
$object->amount).
"</td></tr>\n";
761 $resteapayer =
$object->amount - $totalpaid;
762 $cssforamountpaymentcomplete =
'amountpaymentcomplete';
764 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"RemainderToPay").
" :</td>";
765 print
'<td class="right nowraponall'.($resteapayer ?
' amountremaintopay' : (
' '.$cssforamountpaymentcomplete)).
'">'.
price($resteapayer).
"</td></tr>\n";
778 print
'<div class="clearboth"></div>';
782 if ($action ==
'edit') {
783 print $form->buttonsSaveCancel();
792 if ($action !=
'edit') {
793 print
'<div class="tabsAction">'.
"\n";
796 if (
$object->paye && $user->hasRight(
'tax',
'charges',
'creer')) {
797 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>';
801 if (
$object->paye == 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
802 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>';
807 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>";
811 if (
$object->paye == 0 && round($resteapayer) <= 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
812 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>';
816 if ($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=clone&token='.
newToken().
'">'.$langs->trans(
"ToClone").
"</a></div>";
821 if ($user->hasRight(
'tax',
'charges',
'supprimer') && empty($totalpaid)) {
822 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>';
824 print
'<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.(dol_escape_htmltag($langs->trans(
"DisabledBecausePayments"))).
'">'.$langs->trans(
"Delete").
'</a></div>';
832 if (
GETPOST(
'modelselected')) {
836 if ($action !=
'presend') {
837 print
'<div class="fichecenter"><div class="fichehalfleft">';
838 print
'<a name="builddoc"></a>';
840 $includedocgeneration = 1;
843 if ($includedocgeneration) {
845 $relativepath = $objref.
'/'.$objref.
'.pdf';
846 $filedir = $conf->tax->dir_output.
'/'.$objref;
847 $urlsource = $_SERVER[
"PHP_SELF"].
"?id=".
$object->id;
849 $delallowed = $user->hasRight(
'tax',
'charges',
'creer');
850 print $formfile->showdocuments(
'tax', $objref, $filedir, $urlsource, $genallowed, $delallowed,
$object->model_pdf, 1, 0, 0, 28, 0,
'',
'',
'', $langs->defaultlang);
858 print
'</div><div class="fichehalfright">';
871 print
'</div></div>';
875 if (
GETPOST(
'modelselected')) {
881 $defaulttopic =
'InformationMessage';
882 $diroutput = $conf->tax->dir_output;
883 $trackid =
'sc'.$object->id;
885 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.