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';
49$langs->loadLangs(array(
'compta',
'bills',
'banks',
'hrm'));
53$action =
GETPOST(
'action',
'aZ09');
54$confirm =
GETPOST(
'confirm',
'alpha');
55$cancel =
GETPOST(
'cancel',
'aZ09');
56$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'myobjectcard';
57$backtopage =
GETPOST(
'backtopage',
'alpha');
58$backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
66$label =
GETPOST(
'label',
'alpha');
71$hookmanager->initHooks(array(
'taxcard',
'globalcard'));
76$diroutputmassaction = $conf->tax->dir_output.
'/temp/massgeneration/'.$user->id;
77$hookmanager->initHooks(array(
'taxsocialcontributioncard',
'globalcard'));
79if (empty($action) && empty($id) && empty($ref)) {
88$permissiontoread = $user->hasRight(
'tax',
'charges',
'lire');
89$permissiontoadd = $user->hasRight(
'tax',
'charges',
'creer');
90$permissiontodelete = $user->rights->tax->charges->supprimer || ($permissiontoadd && isset(
$object->status) &&
$object->status == $object::STATUS_UNPAID);
91$permissionnote = $user->hasRight(
'tax',
'charges',
'creer');
92$permissiondellink = $user->hasRight(
'tax',
'charges',
'creer');
93$upload_dir = $conf->tax->multidir_output[isset(
$object->entity) ?
$object->entity : 1];
98 $socid = $user->socid;
107$parameters = array(
'socid' => $socid);
108$reshook = $hookmanager->executeHooks(
'doActions', $parameters,
$object, $action);
113if (empty($reshook)) {
115 if ($action ==
'confirm_paid' && $permissiontoadd && $confirm ==
'yes') {
116 $result =
$object->setPaid($user);
119 if ($action ==
'reopen' && $user->hasRight(
'tax',
'charges',
'creer')) {
121 $result =
$object->setUnpaid($user);
123 header(
'Location: '.$_SERVER[
"PHP_SELF"].
'?id='.$id);
132 if ($action ==
'classin' && $permissiontoadd) {
136 if ($action ==
'setfk_user' && $permissiontoadd) {
141 if ($action ==
'setlib' && $permissiontoadd) {
142 $result =
$object->setValueFrom(
'libelle',
GETPOST(
'lib'),
'',
null,
'text',
'', $user,
'TAX_MODIFY');
149 if ($action ==
'setmode' && $permissiontoadd) {
157 if ($action ==
'setbankaccount' && $permissiontoadd) {
165 if ($action ==
'confirm_delete' && $permissiontodelete && $confirm ==
'yes') {
166 $totalpaid =
$object->getSommePaiement();
167 if (empty($totalpaid)) {
168 $result =
$object->delete($user);
170 header(
"Location: list.php");
182 if ($action ==
'add' && $permissiontoadd) {
186 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Date")),
null,
'errors');
188 } elseif (!$dateperiod) {
189 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Period")),
null,
'errors');
191 } elseif (!($actioncode > 0)) {
192 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Type")),
null,
'errors');
194 } elseif (empty($amount)) {
195 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")),
null,
'errors');
197 } elseif (!is_numeric($amount)) {
198 setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")),
null,
'errors');
204 $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');
243 $object->periode = $dateperiod;
247 $result =
$object->update($user);
260 if ($action ==
'confirm_clone' && $confirm !=
'yes') {
264 if ($action ==
'confirm_clone' && $confirm ==
'yes' && $permissiontoadd) {
273 if (
GETPOST(
'amount',
'alphanohtml')) {
277 if (
GETPOST(
'clone_label',
'alphanohtml')) {
290 if ($newdateperiod) {
291 $object->period = $newdateperiod;
292 if (empty($newdateech)) {
297 $object->date_ech = $newdateech;
298 if (empty($newdateperiod)) {
306 $resultcheck =
$object->check();
313 header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?id=".$id);
329 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
337$form =
new Form($db);
340$bankaccountstatic =
new Account($db);
341if (isModEnabled(
'project')) {
347$title = $langs->trans(
"SocialContribution").
' - '.$langs->trans(
"Card");
348$help_url =
'EN:Module_Taxes_and_social_contributions|FR:Module_Taxes_et_charges_spéciales|ES:Módulo Impuestos y cargas sociales (IVA, impuestos)';
353if ($action ==
'create') {
356 print
'<form name="charge" method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
357 print
'<input type="hidden" name="token" value="'.newToken().
'">';
358 print
'<input type="hidden" name="action" value="add">';
362 print
'<table class="border centpercent tableforfieldcreate">';
366 print
'<td class="titlefieldcreate fieldrequired">';
367 print $langs->trans(
"Label");
369 print
'<td><input type="text" name="label" class="flat minwidth300" value="'.dol_escape_htmltag(
GETPOST(
'label',
'alpha')).
'" autofocus></td>';
374 print
'<td class="fieldrequired">';
375 print $langs->trans(
"Type");
378 $formsocialcontrib->select_type_socialcontrib(
GETPOST(
'actioncode',
'alpha') ?
GETPOST(
'actioncode',
'alpha') :
'',
'actioncode', 1);
384 print
'<td class="fieldrequired">';
385 print $langs->trans(
"Date");
388 print $form->selectDate(!empty($dateech) ? $dateech :
'-1',
'ech', 0, 0, 0,
'charge', 1, 1);
394 print
'<td class="fieldrequired">';
395 print $form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo"));
398 print $form->selectDate(!empty($dateperiod) ? $dateperiod :
'-1',
'period', 0, 0, 0,
'charge', 1);
404 print
'<td class="fieldrequired">';
405 print $langs->trans(
"Amount");
407 print
'<td><input type="text" size="6" name="amount" class="flat" value="'.dol_escape_htmltag(
GETPOST(
'amount',
'alpha')).
'"></td>';
412 print $langs->trans(
'Employee');
414 print
'<td>'.img_picto(
'',
'user',
'class="pictofixedwidth"').$form->select_dolusers(
'',
'userid', 1).
'</td></tr>';
417 if (isModEnabled(
'project')) {
421 $langs->load(
"projects");
423 print
'<tr><td>'.$langs->trans(
"Project").
'</td><td>';
425 print
img_picto(
'',
'project',
'class="pictofixedwidth"').$formproject->select_projects(-1, $fk_project,
'fk_project', 0, 0, 1, 1, 0, 0, 0,
'', 1);
431 print
'<tr><td>'.$langs->trans(
'DefaultPaymentMode').
'</td><td colspan="2">';
432 $form->select_types_paiements(
GETPOSTINT(
'mode_reglement_id'),
'mode_reglement_id');
436 if (isModEnabled(
"bank")) {
437 print
'<tr><td>'.$langs->trans(
'DefaultBankAccount').
'</td><td colspan="2">';
438 print
img_picto(
'',
'bank_account',
'class="pictofixedwidth"').$form->select_comptes(
GETPOSTINT(
'fk_account'),
'fk_account', 0,
'', 2,
'', 0,
'', 1);
446 print
'<div class="center">';
447 print
'<input type="submit" class="button button-add" value="'.$langs->trans(
"Add").
'">';
448 print
' ';
449 print
'<input type="button" class="button button-cancel" value="'.$langs->trans(
"Cancel").
'" onClick="history.go(-1)">';
462 $totalpaid =
$object->getSommePaiement();
465 if ($action ===
'clone') {
466 $formquestion = array(
467 array(
'type' =>
'text',
'name' =>
'clone_label',
'label' => $langs->trans(
"Label"),
'value' => $langs->trans(
"CopyOf").
' '.
$object->label,
'tdclass' =>
'fieldrequired'),
470 $formquestion[] = array(
'type' =>
'checkbox',
'name' =>
'clone_for_next_month',
'label' => $langs->trans(
"CloneTaxForNextMonth"),
'value' => 1);
472 $formquestion[] = array(
'type' =>
'date',
'datenow' => 1,
'name' =>
'clone_date_ech',
'label' => $langs->trans(
"Date"),
'value' => -1);
473 $formquestion[] = array(
'type' =>
'date',
'name' =>
'clone_period',
'label' => $langs->trans(
"PeriodEndDate"),
'value' => -1);
474 $formquestion[] = array(
'type' =>
'text',
'name' =>
'amount',
'label' => $langs->trans(
"Amount"),
'value' =>
price(
$object->amount),
'morecss' =>
'width100');
477 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneTax',
$object->ref),
'confirm_clone', $formquestion,
'yes', 1, 280);
481 if ($action ==
'paid') {
482 $text = $langs->trans(
'ConfirmPaySocialContribution');
483 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
"?id=".
$object->id, $langs->trans(
'PaySocialContribution'), $text,
"confirm_paid",
'',
'', 2);
487 if ($action ==
'delete') {
488 $text = $langs->trans(
'ConfirmDeleteSocialContribution');
489 $formconfirm = $form->formconfirm($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, $langs->trans(
'DeleteSocialContribution'), $text,
'confirm_delete',
'',
'', 2);
492 if ($action ==
'edit') {
493 print
'<form name="charge" action="'.$_SERVER[
"PHP_SELF"].
'?id='.
$object->id.
'" method="POST">';
494 print
'<input type="hidden" name="token" value="'.newToken().
'">';
495 print
'<input type="hidden" name="action" value="update">';
498 $parameters = array(
'formConfirm' => $formconfirm,
'lineid' => $lineid);
499 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters,
$object, $action);
500 if (empty($reshook)) {
501 $formconfirm .= $hookmanager->resPrint;
502 } elseif ($reshook > 0) {
503 $formconfirm = $hookmanager->resPrint;
507 print
dol_get_fiche_head($head,
'card', $langs->trans(
"SocialContribution"), -1,
'bill', 0,
'',
'', 0,
'', 1);
514 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
516 $morehtmlref =
'<div class="refidno">';
518 $morehtmlref .= $form->editfieldkey(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'', 0, 1);
519 $morehtmlref .= $form->editfieldval(
"Label",
'lib',
$object->label,
$object, $user->hasRight(
'tax',
'charges',
'creer'),
'string',
'',
null,
null,
'', 1);
522 if ($action !=
'editfk_user') {
524 $userstatic =
new User($db);
525 $result = $userstatic->fetch(
$object->fk_user);
527 $morehtmlref .=
'<br>' .$langs->trans(
'Employee').
' : '.$userstatic->getNomUrl(1);
530 $morehtmlref .=
'<br>' . $form->editfieldkey(
"Employee",
'fk_user',
$object->label,
$object, $user->hasRight(
'salaries',
'write'),
'string',
'', 0, 1);
532 $userstatic =
new User($db);
533 $result = $userstatic->fetch(
$object->fk_user);
535 $morehtmlref .= $userstatic->getNomUrl(1);
543 $morehtmlref .=
'<br>'.$langs->trans(
'Employee').
' : ';
544 $morehtmlref .=
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
545 $morehtmlref .=
'<input type="hidden" name="action" value="setfk_user">';
546 $morehtmlref .=
'<input type="hidden" name="token" value="'.newToken().
'">';
547 $morehtmlref .= $form->select_dolusers(
$object->fk_user,
'userid', 1);
548 $morehtmlref .=
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
549 $morehtmlref .=
'</form>';
553 if (isModEnabled(
'project')) {
554 $langs->load(
"projects");
555 $morehtmlref .=
'<br>';
556 if ($permissiontoadd) {
557 $morehtmlref .=
img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
558 if ($action !=
'classify') {
559 $morehtmlref .=
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.((int)
$object->id).
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
561 $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');
563 if (!empty(
$object->fk_project)) {
565 $proj->fetch(
$object->fk_project);
566 $morehtmlref .= $proj->getNomUrl(1);
568 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
573 $morehtmlref .=
'</div>';
577 $object->totalpaid = $totalpaid;
579 dol_banner_tab(
$object,
'id', $linkback, 1,
'rowid',
'ref', $morehtmlref,
'', 0,
'',
'', 0, $morehtmlright);
581 print
'<div class="fichecenter">';
582 print
'<div class="fichehalfleft">';
583 print
'<div class="underbanner clearboth"></div>';
585 print
'<table class="border centpercent tableforfield">';
588 print
'<tr><td class="titlefieldmiddle">';
589 print $langs->trans(
"Type").
"</td><td>";
590 if ($action ==
'edit' &&
$object->getSommePaiement() == 0) {
592 $formsocialcontrib->select_type_socialcontrib($actionPostValue ? $actionPostValue :
$object->
type,
'actioncode', 1);
601 if ($action ==
'edit') {
602 print
'<tr><td>'.$langs->trans(
"Date").
"</td><td>";
603 print $form->selectDate(
$object->date_ech,
'ech', 0, 0, 0,
'charge', 1, 1);
606 print
"<tr><td>".$langs->trans(
"Date").
"</td><td>".
dol_print_date(
$object->date_ech,
'day').
"</td></tr>";
610 print
"<tr><td>".$form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")).
"</td>";
612 if ($action ==
'edit') {
613 print $form->selectDate(
$object->period,
'period', 0, 0, 0,
'charge', 1);
620 if ($action ==
'edit') {
621 print
'<tr><td>'.$langs->trans(
"AmountTTC").
"</td><td>";
622 print
'<input type="text" name="amount" size="12" class="flat" value="'.price(
$object->amount).
'">';
625 print
'<tr><td>'.$langs->trans(
"AmountTTC").
'</td><td><span class="amount">'.
price(
$object->amount, 0, $langs, 1, -1, -1, $conf->currency).
'</span></td></tr>';
630 print
'<table class="nobordernopadding" width="100%"><tr><td>';
631 print $langs->trans(
'DefaultPaymentMode');
633 if ($action !=
'editmode') {
634 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>';
636 print
'</tr></table>';
638 if ($action ==
'editmode') {
639 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->mode_reglement_id,
'mode_reglement_id',
'', 1, 1);
641 $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->mode_reglement_id,
'none');
646 if (isModEnabled(
"bank")) {
647 print
'<tr><td class="nowrap">';
648 print
'<table class="centpercent nobordernopadding"><tr><td class="nowrap">';
649 print $langs->trans(
'DefaultBankAccount');
651 if ($action !=
'editbankaccount' && $user->hasRight(
'tax',
'charges',
'creer')) {
652 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>';
654 print
'</tr></table>';
656 if ($action ==
'editbankaccount') {
657 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'fk_account', 1);
659 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->fk_account,
'none');
666 $parameters = array();
667 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters,
$object, $action);
668 print $hookmanager->resPrint;
673 print
'<div class="fichehalfright">';
675 print
'<div class="underbanner clearboth"></div>';
678 if (isModEnabled(
"bank")) {
685 $sql =
"SELECT p.rowid, p.num_paiement as num_payment, p.datep as dp, p.amount,";
686 $sql .=
" c.code as type_code,c.libelle as paiement_type,";
687 $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';
688 $sql .=
" FROM ".MAIN_DB_PREFIX.
"paiementcharge as p";
689 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
690 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
691 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepaiement = c.id";
692 $sql .=
", ".MAIN_DB_PREFIX.
"chargesociales as cs";
693 $sql .=
" WHERE p.fk_charge = ".((int) $id);
694 $sql .=
" AND p.fk_charge = cs.rowid";
695 $sql .=
" AND cs.entity IN (".getEntity(
'sc').
")";
696 $sql .=
" ORDER BY dp DESC";
699 $resql = $db->query($sql);
703 $num = $db->num_rows($resql);
707 print
'<div class="div-table-responsive-no-min">';
708 print
'<table class="noborder paymenttable">';
709 print
'<tr class="liste_titre">';
710 print
'<td>'.$langs->trans(
"RefPayment").
'</td>';
711 print
'<td>'.$langs->trans(
"Date").
'</td>';
712 print
'<td>'.$langs->trans(
"Type").
'</td>';
713 if (isModEnabled(
"bank")) {
714 print
'<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
716 print
'<td class="right">'.$langs->trans(
"Amount").
'</td>';
723 $objp = $db->fetch_object($resql);
725 $paymentsocialcontributiontmp->id = $objp->rowid;
726 $paymentsocialcontributiontmp->ref = $objp->rowid;
727 $paymentsocialcontributiontmp->datep = $db->jdate($objp->dp);
729 print
'<tr class="oddeven"><td>';
730 print $paymentsocialcontributiontmp->getNomUrl(1);
733 print
'<td>'.dol_print_date($db->jdate($objp->dp),
'day').
"</td>\n";
734 $labeltype = $langs->trans(
"PaymentType".$objp->type_code) !=
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
735 print
"<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
736 if (isModEnabled(
"bank")) {
737 $bankaccountstatic->id = $objp->baid;
738 $bankaccountstatic->ref = $objp->baref;
739 $bankaccountstatic->label = $objp->baref;
740 $bankaccountstatic->number = $objp->banumber;
741 $bankaccountstatic->currency_code = $objp->bacurrency_code;
743 if (isModEnabled(
'accounting')) {
744 $bankaccountstatic->account_number = $objp->account_number;
747 $accountingjournal->fetch($objp->fk_accountancy_journal);
748 $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1,
'', 1);
751 print
'<td class="right">';
752 if ($bankaccountstatic->id) {
753 print $bankaccountstatic->getNomUrl(1,
'transactions');
757 print
'<td class="right"><span class="amount">'.price($objp->amount).
"</span></td>\n";
759 $totalpaid += $objp->amount;
763 print
'<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
764 print
'<td></td><td></td><td></td><td></td>';
768 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AlreadyPaid").
' :</td><td class="right nowraponall">'.
price($totalpaid).
"</td></tr>\n";
769 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AmountExpected").
' :</td><td class="right nowraponall">'.
price(
$object->amount).
"</td></tr>\n";
771 $resteapayer =
$object->amount - $totalpaid;
772 $cssforamountpaymentcomplete =
'amountpaymentcomplete';
774 print
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"RemainderToPay").
" :</td>";
775 print
'<td class="right nowraponall'.($resteapayer ?
' amountremaintopay' : (
' '.$cssforamountpaymentcomplete)).
'">'.
price($resteapayer).
"</td></tr>\n";
788 print
'<div class="clearboth"></div>';
792 if ($action ==
'edit') {
793 print $form->buttonsSaveCancel();
802 if ($action !=
'edit') {
803 print
'<div class="tabsAction">'.
"\n";
806 if (
$object->paye && $user->hasRight(
'tax',
'charges',
'creer')) {
807 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>';
811 if (
$object->paye == 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=edit&token='.
newToken().
'">'.$langs->trans(
"Modify").
'</a></div>';
817 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>";
821 if (
$object->paye == 0 && round($resteapayer) <= 0 && $user->hasRight(
'tax',
'charges',
'creer')) {
822 print
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.
$object->id.
'&action=paid&token='.
newToken().
'">'.$langs->trans(
"ClassifyPaid").
'</a></div>';
826 if ($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=clone&token='.
newToken().
'">'.$langs->trans(
"ToClone").
"</a></div>";
831 if ($user->hasRight(
'tax',
'charges',
'supprimer') && empty($totalpaid)) {
832 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>';
834 print
'<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.(dol_escape_htmltag($langs->trans(
"DisabledBecausePayments"))).
'">'.$langs->trans(
"Delete").
'</a></div>';
842 if (
GETPOST(
'modelselected')) {
846 if ($action !=
'presend') {
847 print
'<div class="fichecenter"><div class="fichehalfleft">';
848 print
'<a name="builddoc"></a>';
850 $includedocgeneration = 1;
853 if ($includedocgeneration) {
855 $relativepath = $objref.
'/'.$objref.
'.pdf';
856 $filedir = $conf->tax->dir_output.
'/'.$objref;
857 $urlsource = $_SERVER[
"PHP_SELF"].
"?id=".
$object->id;
859 $delallowed = $user->hasRight(
'tax',
'charges',
'creer');
860 print $formfile->showdocuments(
'tax', $objref, $filedir, $urlsource, $genallowed, $delallowed,
$object->model_pdf, 1, 0, 0, 28, 0,
'',
'',
'', $langs->defaultlang);
868 print
'</div><div class="fichehalfright">';
881 print
'</div></div>';
885 if (
GETPOST(
'modelselected')) {
891 $defaulttopic =
'InformationMessage';
892 $diroutput = $conf->tax->dir_output;
893 $trackid =
'sc'.$object->id;
895 include DOL_DOCUMENT_ROOT.
'/core/tpl/card_presend.tpl.php';
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
Empty header.
Class to manage bank accounts.
Class to manage accounting journals.
Class for managing the social charges.
Class to manage payments of social contributions.
Class to manage projects.
Class to manage Dolibarr users.
dol_time_plus_duree($time, $duration_value, $duration_unit, $ruleforendofmonth=0)
Add a delay to a date.
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed information (by default a local PHP server timestamp) Rep...
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='')
Function to format a value into an amount for visual output Function used into PDF and HTML pages.
dol_now($mode='auto')
Return date for now.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
newToken()
Return the value of token currently saved into session with name 'newtoken'.
dol_clone($object, $native=0)
Create a clone of instance of object (new instance with same value for each properties) With native =...
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
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.
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.