30require
'../../main.inc.php';
39require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
40require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formsocialcontrib.class.php';
41require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
42require_once DOL_DOCUMENT_ROOT.
'/compta/sociales/class/chargesociales.class.php';
43require_once DOL_DOCUMENT_ROOT.
'/compta/sociales/class/paymentsocialcontribution.class.php';
44require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
45require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
46require_once DOL_DOCUMENT_ROOT.
'/core/lib/tax.lib.php';
47require_once DOL_DOCUMENT_ROOT.
'/user/class/user.class.php';
48require_once DOL_DOCUMENT_ROOT.
'/core/lib/accounting.lib.php';
49require_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingjournal.class.php';
51 include_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
52 include_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
57$langs->loadLangs(array(
'compta',
'bills',
'banks',
'hrm'));
61$action =
GETPOST(
'action',
'aZ09');
62$confirm =
GETPOST(
'confirm',
'alpha');
63$cancel =
GETPOST(
'cancel',
'alpha');
64$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'chargesocialescard';
65$backtopage =
GETPOST(
'backtopage',
'alpha');
66$backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
74$label =
GETPOST(
'label',
'alpha');
79$hookmanager->initHooks(array(
'taxcard',
'globalcard'));
83$diroutputmassaction =
$conf->tax->dir_output.
'/temp/massgeneration/'.$user->id;
84$hookmanager->initHooks(array(
'taxsocialcontributioncard',
'globalcard'));
86if (empty($action) && empty($id) && empty($ref)) {
95$permissiontoread = $user->hasRight(
'tax',
'charges',
'lire');
96$permissiontoadd = $user->hasRight(
'tax',
'charges',
'creer');
97$permissiontodelete = $user->hasRight(
'tax',
'charges',
'supprimer') || ($permissiontoadd && isset(
$object->status) &&
$object->status == $object::STATUS_UNPAID);
98$permissionnote = $user->hasRight(
'tax',
'charges',
'creer');
99$permissiondellink = $user->hasRight(
'tax',
'charges',
'creer');
105 $socid = $user->socid;
114$parameters = array(
'socid' => $socid);
115$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
117 setEventMessages($hookmanager->error, $hookmanager->errors,
'errors');
120if (empty($reshook)) {
122 if ($action ==
'confirm_paid' && $permissiontoadd && $confirm ==
'yes') {
123 $result =
$object->setPaid($user);
126 if ($action ==
'reopen' && $user->hasRight(
'tax',
'charges',
'creer')) {
128 $result =
$object->setUnpaid($user);
130 header(
'Location: '.$_SERVER[
"PHP_SELF"].
'?id='.$id);
139 if ($action ==
'classin' && $permissiontoadd) {
143 if ($action ==
'setfk_user' && $permissiontoadd) {
145 $result =
$object->update($user);
151 if ($action ==
'setlib' && $permissiontoadd) {
152 $result =
$object->setValueFrom(
'libelle',
GETPOST(
'lib'),
'',
null,
'text',
'', $user,
'TAX_MODIFY');
159 if ($action ==
'setmode' && $permissiontoadd) {
167 if ($action ==
'setbankaccount' && $permissiontoadd) {
175 if ($action ==
'confirm_delete' && $permissiontodelete && $confirm ==
'yes') {
176 $totalpaid =
$object->getSommePaiement();
177 if (empty($totalpaid)) {
179 $result =
$object->delete($user);
181 header(
"Location: list.php");
187 setEventMessages($langs->trans(
'DisabledBecausePayments'),
null,
'errors');
193 if ($action ==
'add' && $permissiontoadd) {
197 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Date")),
null,
'errors');
199 } elseif (!$dateperiod) {
200 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Period")),
null,
'errors');
202 } elseif (!($actioncode > 0)) {
203 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Type")),
null,
'errors');
205 } elseif (empty($amount)) {
206 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")),
null,
'errors');
208 } elseif (!is_numeric($amount)) {
209 setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")),
null,
'errors');
215 $object->periode = $dateperiod;
222 $object->paye = ChargeSociales::STATUS_UNPAID;
232 if ($action ==
'update' && !$cancel && $permissiontoadd) {
236 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Date")),
null,
'errors');
238 } elseif (!$dateperiod) {
239 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Period")),
null,
'errors');
241 } elseif (empty($amount)) {
242 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")),
null,
'errors');
244 } elseif (!is_numeric($amount)) {
245 setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")),
null,
'errors');
255 $object->periode = $dateperiod;
259 $result =
$object->update($user);
272 if ($action ==
'confirm_clone' && $confirm !=
'yes') {
276 if ($action ==
'confirm_clone' && $confirm ==
'yes' && $permissiontoadd) {
285 if (
GETPOST(
'amount',
'alphanohtml')) {
289 if (
GETPOST(
'clone_label',
'alphanohtml')) {
303 if ($newdateperiod) {
304 $object->period = $newdateperiod;
305 if (empty($newdateech)) {
310 $object->date_ech = $newdateech;
311 if (empty($newdateperiod)) {
319 $resultcheck =
$object->check();
326 header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?id=".$id);
337 dol_print_error($db,
$object->error);
342 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
350$form =
new Form($db);
353$bankaccountstatic =
new Account($db);
358$title = $langs->trans(
"SocialContribution").
' - '.$langs->trans(
"Card");
359$help_url =
'EN:Module_Taxes_and_social_contributions|FR:Module_Taxes_et_charges_spéciales|ES:Módulo Impuestos y cargas sociales (IVA, impuestos)';
366if ($action ==
'create') {
369 print
'<form name="charge" method="POST" action="'.dolBuildUrl($_SERVER[
"PHP_SELF"]).
'">';
370 print
'<input type="hidden" name="token" value="'.newToken().
'">';
371 print
'<input type="hidden" name="action" value="add">';
375 print
'<table class="border centpercent tableforfieldcreate">';
379 print
'<td class="titlefieldcreate fieldrequired">';
380 print $langs->trans(
"Label");
382 print
'<td><input type="text" name="label" class="flat minwidth300" value="'.dol_escape_htmltag(
GETPOST(
'label',
'alpha')).
'" autofocus></td>';
387 print
'<td class="fieldrequired">';
388 print $langs->trans(
"Type");
391 $formsocialcontrib->select_type_socialcontrib(
GETPOST(
'actioncode',
'alpha') ?
GETPOSTINT(
'actioncode') : 0,
'actioncode', 1);
397 print
'<td class="fieldrequired">';
398 print $langs->trans(
"Date");
401 print $form->selectDate(!empty($dateech) ? $dateech :
'-1',
'ech', 0, 0, 0,
'charge', 1, 1);
407 print
'<td class="fieldrequired">';
408 print $form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo"));
411 print $form->selectDate(!empty($dateperiod) ? $dateperiod :
'-1',
'period', 0, 0, 0,
'charge', 1);
417 print
'<td class="fieldrequired">';
418 print $langs->trans(
"Amount");
420 print
'<td><input type="text" size="6" name="amount" class="flat" value="'.dol_escape_htmltag(
GETPOST(
'amount',
'alpha')).
'"></td>';
425 print $langs->trans(
'Employee');
427 print
'<td>'.img_picto(
'',
'user',
'class="pictofixedwidth"').$form->select_dolusers(
'',
'userid', 1).
'</td></tr>';
434 $langs->load(
"projects");
436 print
'<tr><td>'.$langs->trans(
"Project").
'</td><td>';
438 print img_picto(
'',
'project',
'class="pictofixedwidth"').$formproject->select_projects(-1, (
string) $fk_project,
'fk_project', 0, 0, 1, 1, 0, 0, 0,
'', 1);
444 print
'<tr><td>'.$langs->trans(
'DefaultPaymentMode').
'</td><td colspan="2">';
445 $form->select_types_paiements((
string)
GETPOSTINT(
'mode_reglement_id'),
'mode_reglement_id');
450 print
'<tr><td>'.$langs->trans(
'DefaultBankAccount').
'</td><td colspan="2">';
451 print img_picto(
'',
'bank_account',
'class="pictofixedwidth"').$form->select_comptes(
GETPOSTINT(
'fk_account'),
'fk_account', 0,
'', 2,
'', 0,
'', 1);
459 print
'<div class="center">';
460 print
'<input type="submit" class="button button-add" value="'.$langs->trans(
"Add").
'">';
461 print
' ';
462 print
'<input type="button" class="button button-cancel" value="'.$langs->trans(
"Cancel").
'" onClick="history.go(-1)">';
475 $totalpaid =
$object->getSommePaiement();
478 if ($action ===
'clone') {
479 $formquestion = array(
480 array(
'type' =>
'text',
'name' =>
'clone_label',
'label' => $langs->trans(
"Label"),
'value' => $langs->trans(
"CopyOf").
' '.
$object->label,
'tdclass' =>
'fieldrequired'),
483 $formquestion[] = array(
'type' =>
'checkbox',
'name' =>
'clone_for_next_month',
'label' => $langs->trans(
"CloneTaxForNextMonth"),
'value' => 1);
485 $formquestion[] = array(
'type' =>
'date',
'datenow' => 1,
'name' =>
'clone_date_ech',
'label' => $langs->trans(
"Date"),
'value' => -1);
486 $formquestion[] = array(
'type' =>
'date',
'name' =>
'clone_period',
'label' => $langs->trans(
"PeriodEndDate"),
'value' => -1);
487 $formquestion[] = array(
'type' =>
'text',
'name' =>
'amount',
'label' => $langs->trans(
"Amount"),
'value' =>
price(
$object->amount),
'morecss' =>
'width100');
490 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneTax',
$object->ref),
'confirm_clone', $formquestion,
'yes', 1, 0);
494 if ($action ==
'paid') {
495 $text = $langs->trans(
'ConfirmPaySocialContribution');
496 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
"?id=".
$object->id, $langs->trans(
'PaySocialContribution'), $text,
"confirm_paid",
'',
'', 2);
500 if ($action ==
'delete') {
501 $text = $langs->trans(
'ConfirmDeleteSocialContribution');
502 $formconfirm = $form->formconfirm($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, $langs->trans(
'DeleteSocialContribution'), $text,
'confirm_delete',
'',
'', 2);
505 if ($action ==
'edit') {
506 print
'<form name="charge" action="'.$_SERVER[
"PHP_SELF"].
'?id='.
$object->id.
'" method="POST">';
507 print
'<input type="hidden" name="token" value="'.newToken().
'">';
508 print
'<input type="hidden" name="action" value="update">';
511 $parameters = array(
'formConfirm' => $formconfirm,
'lineid' => $lineid);
512 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters, $object, $action);
513 if (empty($reshook)) {
514 $formconfirm .= $hookmanager->resPrint;
515 } elseif ($reshook > 0) {
516 $formconfirm = $hookmanager->resPrint;
520 print
dol_get_fiche_head($head,
'card', $langs->trans(
"SocialContribution"), -1,
$object->picto, 0,
'',
'', 0,
'', ($action ==
'edit' ? 0 : 1));
527 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
529 $morehtmlref =
'<div class="refidno">';
531 $morehtmlref .= $form->editfieldkey(
"Label",
'lib',
$object->label, $object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'', 0, 1);
532 $morehtmlref .= $form->editfieldval(
"Label",
'lib',
$object->label, $object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'',
null,
null,
'', 1);
535 if ($action !=
'editfk_user') {
537 $userstatic =
new User($db);
538 $result = $userstatic->fetch(
$object->fk_user);
540 $morehtmlref .=
'<br>' .$langs->trans(
'Employee').
' : '.$userstatic->getNomUrl(1);
543 $morehtmlref .=
'<br>' . $form->editfieldkey(
"Employee",
'fk_user',
$object->label, $object, $user->hasRight(
'salaries',
'write'),
'string',
'', 0, 1);
545 $userstatic =
new User($db);
546 $result = $userstatic->fetch(
$object->fk_user);
548 $morehtmlref .= $userstatic->getNomUrl(1);
550 dol_print_error($db);
556 $morehtmlref .=
'<br>'.$langs->trans(
'Employee').
' : ';
557 $morehtmlref .=
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
558 $morehtmlref .=
'<input type="hidden" name="action" value="setfk_user">';
559 $morehtmlref .=
'<input type="hidden" name="token" value="'.newToken().
'">';
560 $morehtmlref .= $form->select_dolusers(
$object->fk_user,
'userid', 1);
561 $morehtmlref .=
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
562 $morehtmlref .=
'</form>';
567 $langs->load(
"projects");
568 $morehtmlref .=
'<br>';
569 if ($permissiontoadd) {
570 $morehtmlref .= img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
571 if ($action !=
'classify') {
572 $morehtmlref .=
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.((int)
$object->id).
'">'.img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
574 $morehtmlref .= $form->form_project($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, -1, (
string)
$object->fk_project, ($action ==
'classify' ?
'fk_project' :
'none'), 0, 0, 0, 1,
'',
'maxwidth300');
576 if (!empty(
$object->fk_project)) {
578 $proj->fetch(
$object->fk_project);
579 $morehtmlref .= $proj->getNomUrl(1);
581 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
586 $morehtmlref .=
'</div>';
590 $object->totalpaid = $totalpaid;
592 dol_banner_tab($object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'',
'', 0, $morehtmlright);
594 print
'<div class="fichecenter">';
595 print
'<div class="fichehalfleft">';
596 print
'<div class="underbanner clearboth"></div>';
598 print
'<table class="border centpercent tableforfield">';
601 print
'<tr><td class="titlefield">';
602 print $langs->trans(
"Type").
"</td><td>";
603 if ($action ==
'edit' &&
$object->getSommePaiement() == 0) {
605 $formsocialcontrib->select_type_socialcontrib($actionPostValue ? $actionPostValue :
$object->
type,
'actioncode', 1);
609 print
' <pan class="opacitymedium">('.$langs->trans(
"AccountancyCode").
': '.(empty(
$object->type_accountancy_code) ? $langs->trans(
"Unknown") :
length_accountg(
$object->type_accountancy_code)).
')</span>';
617 if ($action ==
'edit') {
618 print
'<tr><td>'.$langs->trans(
"Date").
"</td><td>";
619 print $form->selectDate(
$object->date_ech,
'ech', 0, 0, 0,
'charge', 1, 1);
622 print
"<tr><td>".$langs->trans(
"Date").
"</td><td>".
dol_print_date(
$object->date_ech,
'day').
"</td></tr>";
626 print
"<tr><td>".$form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")).
"</td>";
628 if ($action ==
'edit') {
629 print $form->selectDate(
$object->period,
'period', 0, 0, 0,
'charge', 1);
636 if ($action ==
'edit') {
637 print
'<tr><td>'.$langs->trans(
"AmountTTC").
"</td><td>";
638 print
'<input type="text" name="amount" size="12" class="flat" value="'.price(
$object->amount).
'">';
641 print
'<tr><td>'.$langs->trans(
"AmountTTC").
'</td><td><span class="amount">'.
price(
$object->amount, 0, $langs, 1, -1, -1,
$conf->currency).
'</span></td></tr>';
646 print
'<table class="nobordernopadding centpercent"><tr><td class="nowrap">';
647 print $langs->trans(
'DefaultPaymentMode');
649 if ($action !=
'editmode') {
650 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>';
652 print
'</tr></table>';
654 if ($action ==
'editmode') {
655 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string)
$object->mode_reglement_id,
'mode_reglement_id',
'', 1, 1);
657 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string)
$object->mode_reglement_id,
'none');
663 print
'<tr><td class="nowrap">';
664 print
'<table class="centpercent nobordernopadding"><tr><td class="nowrap">';
665 print $langs->trans(
'DefaultBankAccount');
667 if ($action !=
'editbankaccount' && $user->hasRight(
'tax',
'charges',
'creer')) {
668 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>';
670 print
'</tr></table>';
672 if ($action ==
'editbankaccount') {
673 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string)
$object->fk_account,
'fk_account', 1);
675 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string)
$object->fk_account,
'none');
682 $parameters = array();
683 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters, $object, $action);
684 print $hookmanager->resPrint;
689 print
'<div class="fichehalfright">';
691 print
'<div class="underbanner clearboth"></div>';
701 $sql =
"SELECT p.rowid, p.num_paiement as num_payment, p.datep as dp, p.amount,";
702 $sql .=
" c.code as type_code,c.libelle as paiement_type,";
703 $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';
704 $sql .=
" FROM ".MAIN_DB_PREFIX.
"paiementcharge as p";
705 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
706 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
707 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepaiement = c.id";
708 $sql .=
", ".MAIN_DB_PREFIX.
"chargesociales as cs";
709 $sql .=
" WHERE p.fk_charge = ".((int) $id);
710 $sql .=
" AND p.fk_charge = cs.rowid";
711 $sql .=
" AND cs.entity IN (".getEntity(
'sc').
")";
712 $sql .=
" ORDER BY dp DESC";
715 $resql = $db->query($sql);
719 $num = $db->num_rows($resql);
722 print
'<div class="div-table-responsive-no-min">';
723 print
'<table class="noborder paymenttable">';
724 print
'<tr class="liste_titre">';
725 print
'<td>'.$langs->trans(
"RefPayment").
'</td>';
726 print
'<td>'.$langs->trans(
"Date").
'</td>';
727 print
'<td>'.$langs->trans(
"Type").
'</td>';
729 print
'<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
731 print
'<td class="right">'.$langs->trans(
"Amount").
'</td>';
738 $objp = $db->fetch_object($resql);
740 $paymentsocialcontributiontmp->id = $objp->rowid;
741 $paymentsocialcontributiontmp->ref = $objp->rowid;
742 $paymentsocialcontributiontmp->datep = $db->jdate($objp->dp);
744 print
'<tr class="oddeven"><td>';
745 print $paymentsocialcontributiontmp->getNomUrl(1);
748 print
'<td>'.dol_print_date($db->jdate($objp->dp),
'day').
"</td>\n";
749 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
750 print
"<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
752 $bankaccountstatic->id = $objp->baid;
753 $bankaccountstatic->ref = $objp->baref;
754 $bankaccountstatic->label = $objp->baref;
755 $bankaccountstatic->number = $objp->banumber;
756 $bankaccountstatic->currency_code = $objp->bacurrency_code;
759 $bankaccountstatic->account_number = $objp->account_number;
762 $accountingjournal->fetch($objp->fk_accountancy_journal);
763 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
766 print
'<td class="right">';
767 if ($bankaccountstatic->id) {
768 print $bankaccountstatic->getNomUrl(1,
'transactions');
772 print
'<td class="right"><span class="amount">'.price($objp->amount).
"</span></td>\n";
774 $totalpaid += $objp->amount;
778 print
'<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
779 print
'<td></td><td></td><td></td><td></td>';
783 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AlreadyPaid").
' :</td><td class="right nowraponall">'.
price($totalpaid).
"</td></tr>\n";
784 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AmountExpected").
' :</td><td class="right nowraponall">'.
price(
$object->amount).
"</td></tr>\n";
786 $resteapayer =
$object->amount - $totalpaid;
787 $cssforamountpaymentcomplete =
'amountpaymentcomplete';
789 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"RemainderToPay").
" :</td>";
790 print
'<td class="right nowraponall'.($resteapayer ?
' amountremaintopay' : (
' '.$cssforamountpaymentcomplete)).
'">'.
price($resteapayer).
"</td></tr>\n";
797 dol_print_error($db);
803 print
'<div class="clearboth"></div>';
807 if ($action ==
'edit') {
808 print $form->buttonsSaveCancel();
817 if ($action !=
'edit') {
818 print
'<div class="tabsAction">'.
"\n";
821 if (
$object->paye && $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=reopen&token='.
newToken().
'">'.$langs->trans(
"ReOpen").
'</a></div>';
826 if (
$object->paye == 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
827 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>';
832 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>";
836 if (
$object->paye == 0 && round($resteapayer) <= 0 && $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=paid&token='.
newToken().
'">'.$langs->trans(
"ClassifyPaid").
'</a></div>';
841 if ($user->hasRight(
'tax',
'charges',
'creer')) {
842 print
'<div class="inline-block divButAction">'.dolGetButtonAction($langs->trans(
"ToClone"), $langs->trans(
"ToClone"),
'clone', DOL_URL_ROOT.
'/compta/sociales/card.php?id='.
$object->id.
'&action=clone&token='.
newToken(),
'',
true, array(
'attr' => array(
'class' =>
'reposition'))).
'</div>';
846 if ($user->hasRight(
'tax',
'charges',
'supprimer') && empty($totalpaid)) {
847 print
'<div class="inline-block divButAction">'.dolGetButtonAction($langs->trans(
"Delete"), $langs->trans(
"Delete"),
'delete', DOL_URL_ROOT.
'/compta/sociales/card.php?id='.
$object->id.
'&action=delete&token='.
newToken(),
'',
true, array(
'attr' => array(
'class' =>
'reposition'))).
'</div>'.
"\n";
849 print
'<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.(dol_escape_htmltag($langs->trans(
"DisabledBecausePayments"))).
'">'.$langs->trans(
"Delete").
'</a></div>';
857 if (
GETPOST(
'modelselected')) {
861 if ($action !=
'edit' && $action !=
'presend') {
862 print
'<div class="fichecenter"><div class="fichehalfleft">';
863 print
'<a name="builddoc"></a>';
865 $includedocgeneration = 1;
868 if ($includedocgeneration) {
870 $relativepath = $objref.
'/'.$objref.
'.pdf';
871 $filedir =
$conf->tax->dir_output.
'/'.$objref;
872 $urlsource = $_SERVER[
"PHP_SELF"].
"?id=".
$object->id;
874 $delallowed = $user->hasRight(
'tax',
'charges',
'creer');
875 print $formfile->showdocuments(
'tax', $objref, $filedir, $urlsource, $genallowed, $delallowed,
$object->model_pdf, 1, 0, 0, 28, 0,
'',
'',
'', $langs->defaultlang);
883 print
'</div><div class="fichehalfright">';
896 print
'</div></div>';
900 if (
GETPOST(
'modelselected')) {
906 $defaulttopic =
'InformationMessage';
907 $diroutput =
$conf->tax->dir_output;
908 $trackid =
'sc'.$object->id;
910 include DOL_DOCUMENT_ROOT.
'/core/tpl/card_presend.tpl.php';
913 dol_print_error(
null,
$object->error);
$id
Support class for third parties, contacts, members, users or resources.
if(! $sortfield) if(! $sortorder) $object
length_accountg($account)
Return General accounting account with defined length (used for product and miscellaneous)
$propal type
'integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter[:Sortfield]]]',...
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...
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
dol_sanitizeFileName($str, $newstr='_', $unaccent=1, $includequotes=0, $allowdash=0)
Clean a string to use it as a file name.
price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='')
Function to format a value into an amount for visual output Function used into PDF and HTML pages.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0, $nodefault=0)
Return value of a param into GET or POST supervariable.
GETPOSTINT($paramname, $method=0, $nodefault=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dol_clone($srcobject, $native=2)
Create a clone of instance of object (new instance with same value for each properties) With native =...
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false, $decorate=0)
Output date in a string format according to outputlangs (or langs if not defined).
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
isModEnabled($module)
Is Dolibarr module enabled.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0, $morecssdiv='')
Show tabs of a record.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='', $morecssonpicto='widthpictotitle')
Load a title with picto.
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $nodie=0, $mode='')
Check permissions of a user to show a page and an object.
tax_prepare_head(ChargeSociales $object)
Prepare array with list of tabs.