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')) {
299 if ($newdateperiod) {
300 $object->period = $newdateperiod;
301 if (empty($newdateech)) {
306 $object->date_ech = $newdateech;
307 if (empty($newdateperiod)) {
315 $resultcheck =
$object->check();
322 header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?id=".$id);
338 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
346$form =
new Form($db);
349$bankaccountstatic =
new Account($db);
350if (isModEnabled(
'project')) {
356$title = $langs->trans(
"SocialContribution").
' - '.$langs->trans(
"Card");
357$help_url =
'EN:Module_Taxes_and_social_contributions|FR:Module_Taxes_et_charges_spéciales|ES:Módulo Impuestos y cargas sociales (IVA, impuestos)';
364if ($action ==
'create') {
367 print
'<form name="charge" method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
368 print
'<input type="hidden" name="token" value="'.newToken().
'">';
369 print
'<input type="hidden" name="action" value="add">';
373 print
'<table class="border centpercent tableforfieldcreate">';
377 print
'<td class="titlefieldcreate fieldrequired">';
378 print $langs->trans(
"Label");
380 print
'<td><input type="text" name="label" class="flat minwidth300" value="'.dol_escape_htmltag(
GETPOST(
'label',
'alpha')).
'" autofocus></td>';
385 print
'<td class="fieldrequired">';
386 print $langs->trans(
"Type");
389 $formsocialcontrib->select_type_socialcontrib(
GETPOST(
'actioncode',
'alpha') ?
GETPOST(
'actioncode',
'alpha') :
'',
'actioncode', 1);
395 print
'<td class="fieldrequired">';
396 print $langs->trans(
"Date");
399 print $form->selectDate(!empty($dateech) ? $dateech :
'-1',
'ech', 0, 0, 0,
'charge', 1, 1);
405 print
'<td class="fieldrequired">';
406 print $form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo"));
409 print $form->selectDate(!empty($dateperiod) ? $dateperiod :
'-1',
'period', 0, 0, 0,
'charge', 1);
415 print
'<td class="fieldrequired">';
416 print $langs->trans(
"Amount");
418 print
'<td><input type="text" size="6" name="amount" class="flat" value="'.dol_escape_htmltag(
GETPOST(
'amount',
'alpha')).
'"></td>';
423 print $langs->trans(
'Employee');
425 print
'<td>'.img_picto(
'',
'user',
'class="pictofixedwidth"').$form->select_dolusers(
'',
'userid', 1).
'</td></tr>';
428 if (isModEnabled(
'project')) {
432 $langs->load(
"projects");
434 print
'<tr><td>'.$langs->trans(
"Project").
'</td><td>';
436 print
img_picto(
'',
'project',
'class="pictofixedwidth"').$formproject->select_projects(-1, $fk_project,
'fk_project', 0, 0, 1, 1, 0, 0, 0,
'', 1);
442 print
'<tr><td>'.$langs->trans(
'DefaultPaymentMode').
'</td><td colspan="2">';
443 $form->select_types_paiements(
GETPOSTINT(
'mode_reglement_id'),
'mode_reglement_id');
447 if (isModEnabled(
"bank")) {
448 print
'<tr><td>'.$langs->trans(
'DefaultBankAccount').
'</td><td colspan="2">';
449 print
img_picto(
'',
'bank_account',
'class="pictofixedwidth"').$form->select_comptes(
GETPOSTINT(
'fk_account'),
'fk_account', 0,
'', 2,
'', 0,
'', 1);
457 print
'<div class="center">';
458 print
'<input type="submit" class="button button-add" value="'.$langs->trans(
"Add").
'">';
459 print
' ';
460 print
'<input type="button" class="button button-cancel" value="'.$langs->trans(
"Cancel").
'" onClick="history.go(-1)">';
473 $totalpaid =
$object->getSommePaiement();
476 if ($action ===
'clone') {
477 $formquestion = array(
478 array(
'type' =>
'text',
'name' =>
'clone_label',
'label' => $langs->trans(
"Label"),
'value' => $langs->trans(
"CopyOf").
' '.
$object->label,
'tdclass' =>
'fieldrequired'),
481 $formquestion[] = array(
'type' =>
'checkbox',
'name' =>
'clone_for_next_month',
'label' => $langs->trans(
"CloneTaxForNextMonth"),
'value' => 1);
483 $formquestion[] = array(
'type' =>
'date',
'datenow' => 1,
'name' =>
'clone_date_ech',
'label' => $langs->trans(
"Date"),
'value' => -1);
484 $formquestion[] = array(
'type' =>
'date',
'name' =>
'clone_period',
'label' => $langs->trans(
"PeriodEndDate"),
'value' => -1);
485 $formquestion[] = array(
'type' =>
'text',
'name' =>
'amount',
'label' => $langs->trans(
"Amount"),
'value' =>
price(
$object->amount),
'morecss' =>
'width100');
488 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneTax',
$object->ref),
'confirm_clone', $formquestion,
'yes', 1, 280);
492 if ($action ==
'paid') {
493 $text = $langs->trans(
'ConfirmPaySocialContribution');
494 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
"?id=".
$object->id, $langs->trans(
'PaySocialContribution'), $text,
"confirm_paid",
'',
'', 2);
498 if ($action ==
'delete') {
499 $text = $langs->trans(
'ConfirmDeleteSocialContribution');
500 $formconfirm = $form->formconfirm($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, $langs->trans(
'DeleteSocialContribution'), $text,
'confirm_delete',
'',
'', 2);
503 if ($action ==
'edit') {
504 print
'<form name="charge" action="'.$_SERVER[
"PHP_SELF"].
'?id='.
$object->id.
'" method="POST">';
505 print
'<input type="hidden" name="token" value="'.newToken().
'">';
506 print
'<input type="hidden" name="action" value="update">';
509 $parameters = array(
'formConfirm' => $formconfirm,
'lineid' => $lineid);
510 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters,
$object, $action);
511 if (empty($reshook)) {
512 $formconfirm .= $hookmanager->resPrint;
513 } elseif ($reshook > 0) {
514 $formconfirm = $hookmanager->resPrint;
518 print
dol_get_fiche_head($head,
'card', $langs->trans(
"SocialContribution"), -1,
'bill', 0,
'',
'', 0,
'', 1);
525 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
527 $morehtmlref =
'<div class="refidno">';
529 $morehtmlref .= $form->editfieldkey(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'', 0, 1);
530 $morehtmlref .= $form->editfieldval(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'',
null,
null,
'', 1);
533 if ($action !=
'editfk_user') {
535 $userstatic =
new User($db);
536 $result = $userstatic->fetch(
$object->fk_user);
538 $morehtmlref .=
'<br>' .$langs->trans(
'Employee').
' : '.$userstatic->getNomUrl(1);
541 $morehtmlref .=
'<br>' . $form->editfieldkey(
"Employee",
'fk_user',
$object->label,
$object, $user->hasRight(
'salaries',
'write'),
'string',
'', 0, 1);
543 $userstatic =
new User($db);
544 $result = $userstatic->fetch(
$object->fk_user);
546 $morehtmlref .= $userstatic->getNomUrl(1);
554 $morehtmlref .=
'<br>'.$langs->trans(
'Employee').
' : ';
555 $morehtmlref .=
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
556 $morehtmlref .=
'<input type="hidden" name="action" value="setfk_user">';
557 $morehtmlref .=
'<input type="hidden" name="token" value="'.newToken().
'">';
558 $morehtmlref .= $form->select_dolusers(
$object->fk_user,
'userid', 1);
559 $morehtmlref .=
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
560 $morehtmlref .=
'</form>';
564 if (isModEnabled(
'project')) {
565 $langs->load(
"projects");
566 $morehtmlref .=
'<br>';
567 if ($permissiontoadd) {
568 $morehtmlref .=
img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
569 if ($action !=
'classify') {
570 $morehtmlref .=
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.((int)
$object->id).
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
572 $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');
574 if (!empty(
$object->fk_project)) {
576 $proj->fetch(
$object->fk_project);
577 $morehtmlref .= $proj->getNomUrl(1);
579 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
584 $morehtmlref .=
'</div>';
588 $object->totalpaid = $totalpaid;
590 dol_banner_tab(
$object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'',
'', 0, $morehtmlright);
592 print
'<div class="fichecenter">';
593 print
'<div class="fichehalfleft">';
594 print
'<div class="underbanner clearboth"></div>';
596 print
'<table class="border centpercent tableforfield">';
599 print
'<tr><td class="titlefieldmiddle">';
600 print $langs->trans(
"Type").
"</td><td>";
601 if ($action ==
'edit' &&
$object->getSommePaiement() == 0) {
603 $formsocialcontrib->select_type_socialcontrib($actionPostValue ? $actionPostValue :
$object->
type,
'actioncode', 1);
612 if ($action ==
'edit') {
613 print
'<tr><td>'.$langs->trans(
"Date").
"</td><td>";
614 print $form->selectDate(
$object->date_ech,
'ech', 0, 0, 0,
'charge', 1, 1);
617 print
"<tr><td>".$langs->trans(
"Date").
"</td><td>".
dol_print_date(
$object->date_ech,
'day').
"</td></tr>";
621 print
"<tr><td>".$form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")).
"</td>";
623 if ($action ==
'edit') {
624 print $form->selectDate(
$object->period,
'period', 0, 0, 0,
'charge', 1);
631 if ($action ==
'edit') {
632 print
'<tr><td>'.$langs->trans(
"AmountTTC").
"</td><td>";
633 print
'<input type="text" name="amount" size="12" class="flat" value="'.price(
$object->amount).
'">';
636 print
'<tr><td>'.$langs->trans(
"AmountTTC").
'</td><td><span class="amount">'.
price(
$object->amount, 0, $langs, 1, -1, -1,
$conf->currency).
'</span></td></tr>';
641 print
'<table class="nobordernopadding" width="100%"><tr><td>';
642 print $langs->trans(
'DefaultPaymentMode');
644 if ($action !=
'editmode') {
645 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>';
647 print
'</tr></table>';
649 if ($action ==
'editmode') {
650 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->mode_reglement_id,
'mode_reglement_id',
'', 1, 1);
652 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->mode_reglement_id,
'none');
657 if (isModEnabled(
"bank")) {
658 print
'<tr><td class="nowrap">';
659 print
'<table class="centpercent nobordernopadding"><tr><td class="nowrap">';
660 print $langs->trans(
'DefaultBankAccount');
662 if ($action !=
'editbankaccount' && $user->hasRight(
'tax',
'charges',
'creer')) {
663 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>';
665 print
'</tr></table>';
667 if ($action ==
'editbankaccount') {
668 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'fk_account', 1);
670 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'none');
677 $parameters = array();
678 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters,
$object, $action);
679 print $hookmanager->resPrint;
684 print
'<div class="fichehalfright">';
686 print
'<div class="underbanner clearboth"></div>';
689 if (isModEnabled(
"bank")) {
696 $sql =
"SELECT p.rowid, p.num_paiement as num_payment, p.datep as dp, p.amount,";
697 $sql .=
" c.code as type_code,c.libelle as paiement_type,";
698 $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';
699 $sql .=
" FROM ".MAIN_DB_PREFIX.
"paiementcharge as p";
700 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
701 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
702 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepaiement = c.id";
703 $sql .=
", ".MAIN_DB_PREFIX.
"chargesociales as cs";
704 $sql .=
" WHERE p.fk_charge = ".((int) $id);
705 $sql .=
" AND p.fk_charge = cs.rowid";
706 $sql .=
" AND cs.entity IN (".getEntity(
'sc').
")";
707 $sql .=
" ORDER BY dp DESC";
710 $resql = $db->query($sql);
714 $num = $db->num_rows($resql);
718 print
'<div class="div-table-responsive-no-min">';
719 print
'<table class="noborder paymenttable">';
720 print
'<tr class="liste_titre">';
721 print
'<td>'.$langs->trans(
"RefPayment").
'</td>';
722 print
'<td>'.$langs->trans(
"Date").
'</td>';
723 print
'<td>'.$langs->trans(
"Type").
'</td>';
724 if (isModEnabled(
"bank")) {
725 print
'<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
727 print
'<td class="right">'.$langs->trans(
"Amount").
'</td>';
734 $objp = $db->fetch_object($resql);
736 $paymentsocialcontributiontmp->id = $objp->rowid;
737 $paymentsocialcontributiontmp->ref = $objp->rowid;
738 $paymentsocialcontributiontmp->datep = $db->jdate($objp->dp);
740 print
'<tr class="oddeven"><td>';
741 print $paymentsocialcontributiontmp->getNomUrl(1);
744 print
'<td>'.dol_print_date($db->jdate($objp->dp),
'day').
"</td>\n";
745 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
746 print
"<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
747 if (isModEnabled(
"bank")) {
748 $bankaccountstatic->id = $objp->baid;
749 $bankaccountstatic->ref = $objp->baref;
750 $bankaccountstatic->label = $objp->baref;
751 $bankaccountstatic->number = $objp->banumber;
752 $bankaccountstatic->currency_code = $objp->bacurrency_code;
754 if (isModEnabled(
'accounting')) {
755 $bankaccountstatic->account_number = $objp->account_number;
758 $accountingjournal->fetch($objp->fk_accountancy_journal);
759 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
762 print
'<td class="right">';
763 if ($bankaccountstatic->id) {
764 print $bankaccountstatic->getNomUrl(1,
'transactions');
768 print
'<td class="right"><span class="amount">'.price($objp->amount).
"</span></td>\n";
770 $totalpaid += $objp->amount;
774 print
'<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
775 print
'<td></td><td></td><td></td><td></td>';
779 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AlreadyPaid").
' :</td><td class="right nowraponall">'.
price($totalpaid).
"</td></tr>\n";
780 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AmountExpected").
' :</td><td class="right nowraponall">'.
price(
$object->amount).
"</td></tr>\n";
782 $resteapayer =
$object->amount - $totalpaid;
783 $cssforamountpaymentcomplete =
'amountpaymentcomplete';
785 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"RemainderToPay").
" :</td>";
786 print
'<td class="right nowraponall'.($resteapayer ?
' amountremaintopay' : (
' '.$cssforamountpaymentcomplete)).
'">'.
price($resteapayer).
"</td></tr>\n";
799 print
'<div class="clearboth"></div>';
803 if ($action ==
'edit') {
804 print $form->buttonsSaveCancel();
813 if ($action !=
'edit') {
814 print
'<div class="tabsAction">'.
"\n";
817 if (
$object->paye && $user->hasRight(
'tax',
'charges',
'creer')) {
818 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>';
822 if (
$object->paye == 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
823 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>';
828 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>";
832 if (
$object->paye == 0 && round($resteapayer) <= 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
833 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>';
837 if ($user->hasRight(
'tax',
'charges',
'creer')) {
838 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>";
842 if ($user->hasRight(
'tax',
'charges',
'supprimer') && empty($totalpaid)) {
843 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>';
845 print
'<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.(dol_escape_htmltag($langs->trans(
"DisabledBecausePayments"))).
'">'.$langs->trans(
"Delete").
'</a></div>';
853 if (
GETPOST(
'modelselected')) {
857 if ($action !=
'presend') {
858 print
'<div class="fichecenter"><div class="fichehalfleft">';
859 print
'<a name="builddoc"></a>';
861 $includedocgeneration = 1;
864 if ($includedocgeneration) {
866 $relativepath = $objref.
'/'.$objref.
'.pdf';
867 $filedir =
$conf->tax->dir_output.
'/'.$objref;
868 $urlsource = $_SERVER[
"PHP_SELF"].
"?id=".
$object->id;
870 $delallowed = $user->hasRight(
'tax',
'charges',
'creer');
871 print $formfile->showdocuments(
'tax', $objref, $filedir, $urlsource, $genallowed, $delallowed,
$object->model_pdf, 1, 0, 0, 28, 0,
'',
'',
'', $langs->defaultlang);
879 print
'</div><div class="fichehalfright">';
892 print
'</div></div>';
896 if (
GETPOST(
'modelselected')) {
902 $defaulttopic =
'InformationMessage';
903 $diroutput =
$conf->tax->dir_output;
904 $trackid =
'sc'.$object->id;
906 include DOL_DOCUMENT_ROOT.
'/core/tpl/card_presend.tpl.php';
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
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.