dolibarr 19.0.4
document.php
Go to the documentation of this file.
1<?php
2/* Copyright (C) 2003-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
3 * Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
4 * Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
5 * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com>
6 * Copyright (C) 2005 Simon TOSSER <simon@kornog-computing.com>
7 * Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
8 * Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 3 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program. If not, see <https://www.gnu.org/licenses/>.
22 */
23
30// Load Dolibarr environment
31require '../../main.inc.php';
32require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
33require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
34require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
35require_once DOL_DOCUMENT_ROOT.'/core/lib/tax.lib.php';
36require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
37if (isModEnabled('project')) {
38 include_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
39 include_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
40}
41
42// Load translation files required by the page
43$langs->loadLangs(array('other', 'companies', 'compta', 'bills'));
44
45$id = GETPOST('id', 'int');
46$action = GETPOST('action', 'aZ09');
47$confirm = GETPOST('confirm', 'alpha');
48
49// Get parameters
50$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit;
51$sortfield = GETPOST('sortfield', 'aZ09comma');
52$sortorder = GETPOST('sortorder', 'aZ09comma');
53$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
54if (empty($page) || $page == -1) {
55 $page = 0;
56}
57$offset = $limit * $page;
58$pageprev = $page - 1;
59$pagenext = $page + 1;
60if (!$sortorder) {
61 $sortorder = "ASC";
62}
63if (!$sortfield) {
64 $sortfield = "name";
65}
66
67
68$object = new ChargeSociales($db);
69if ($id > 0) {
70 $object->fetch($id);
71}
72
73$upload_dir = $conf->tax->dir_output.'/'.dol_sanitizeFileName($object->ref);
74$modulepart = 'tax';
75
76// Security check
77if ($user->socid) {
78 $socid = $user->socid;
79}
80$result = restrictedArea($user, 'tax', $object->id, 'chargesociales', 'charges');
81
82$permissiontoadd = $user->rights->tax->charges->creer; // Used by the include of actions_dellink.inc.php
83
84
85/*
86 * Actions
87 */
88
89include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php';
90
91if ($action == 'setlib' && $user->hasRight('tax', 'charges', 'creer')) {
92 $object->fetch($id);
93 $result = $object->setValueFrom('libelle', GETPOST('lib'), '', '', 'text', '', $user, 'TAX_MODIFY');
94 if ($result < 0) {
95 setEventMessages($object->error, $object->errors, 'errors');
96 }
97}
98
99
100/*
101 * View
102 */
103
104$form = new Form($db);
105if (isModEnabled('project')) {
106 $formproject = new FormProjets($db);
107}
108
109$title = $langs->trans("SocialContribution").' - '.$langs->trans("Documents");
110$help_url = 'EN:Module_Taxes_and_social_contributions|FR:Module Taxes et dividendes|ES:M&oacute;dulo Impuestos y cargas sociales (IVA, impuestos)';
111llxHeader("", $title, $help_url);
112
113if ($object->id) {
114 $alreadypayed = $object->getSommePaiement();
115
116 $head = tax_prepare_head($object);
117
118 print dol_get_fiche_head($head, 'documents', $langs->trans("SocialContribution"), -1, 'bill');
119
120 $morehtmlref = '<div class="refidno">';
121 // Label of social contribution
122 $morehtmlref .= $form->editfieldkey("Label", 'lib', $object->label, $object, $user->hasRight('tax', 'charges', 'creer'), 'string', '', 0, 1);
123 $morehtmlref .= $form->editfieldval("Label", 'lib', $object->label, $object, $user->hasRight('tax', 'charges', 'creer'), 'string', '', null, null, '', 1);
124 // Project
125 if (isModEnabled('project')) {
126 $langs->load("projects");
127 if (!empty($object->fk_project)) {
128 $morehtmlref .= '<br>';
129 $proj = new Project($db);
130 $proj->fetch($object->fk_project);
131 $morehtmlref .= $proj->getNomUrl(1);
132 if ($proj->title) {
133 $morehtmlref .= '<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).'</span>';
134 }
135 } else {
136 $morehtmlref .= '';
137 }
138 }
139 $morehtmlref .= '</div>';
140
141 $linkback = '<a href="'.DOL_URL_ROOT.'/compta/sociales/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
142
143 $object->totalpaid = $alreadypayed; // To give a chance to dol_banner_tab to use already paid amount to show correct status
144
145 $morehtmlright = '';
146
147 dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref', $morehtmlref, '', 0, '', $morehtmlright);
148
149 print '<div class="fichecenter">';
150 print '<div class="underbanner clearboth"></div>';
151
152 // Build file list
153 $filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', $sortfield, (strtolower($sortorder) == 'desc' ? SORT_DESC : SORT_ASC), 1);
154 $totalsize = 0;
155 foreach ($filearray as $key => $file) {
156 $totalsize += $file['size'];
157 }
158
159
160 print '<table class="border tableforfield centpercent">';
161
162 print '<tr><td class="titlefield">'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
163 print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.dol_print_size($totalsize, 1, 1).'</td></tr>';
164 print '</table>';
165
166 print '</div>';
167
168 print '<div class="clearboth"></div>';
169
170 print dol_get_fiche_end();
171
172 $modulepart = 'tax';
173 $permissiontoadd = $user->rights->tax->charges->creer;
174 $permtoedit = $user->rights->tax->charges->creer;
175 $param = '&id='.$object->id;
176 include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php';
177} else {
178 print $langs->trans("ErrorUnknown");
179}
180
181// End of page
182llxFooter();
183$db->close();
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
Definition wrapper.php:55
llxFooter()
Empty footer.
Definition wrapper.php:69
Classe permettant la gestion des paiements des charges La tva collectee n'est calculee que sur les fa...
Class to manage generation of HTML components Only common components must be here.
Class to manage building of HTML components.
Class to manage projects.
dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefilter=null, $sortcriteria="name", $sortorder=SORT_ASC, $mode=0, $nohook=0, $relativename="", $donotfollowsymlinks=0, $nbsecondsold=0)
Scan a directory and return a list of files/directories.
Definition files.lib.php:62
dol_print_size($size, $shortvalue=0, $shortunit=0)
Return string with formated size.
dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='rowid', $fieldref='ref', $morehtmlref='', $moreparam='', $nodbprefix=0, $morehtmlleft='', $morehtmlstatus='', $onlybanner=0, $morehtmlright='')
Show tab footer of a card.
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.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
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.
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.
Definition tax.lib.php:38