dolibarr 18.0.6
admin_extrafields_view.tpl.php
1<?php
2/* Copyright (C) 2010-2018 Laurent Destailleur <eldy@users.sourceforge.net>
3 * Copyright (C) 2012-2021 Regis Houssin <regis.houssin@inodbox.com>
4 * Copyright (C) 2018-2019 Frédéric France <frederic.france@netlogic.fr>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20/* To call this template, you must define
21 * $textobject
22 * $langs
23 * $extrafield
24 * $elementtype
25 */
26
27// Protection to avoid direct call of template
28if (empty($langs) || !is_object($langs)) {
29 print "Error, template page can't be called as URL";
30 exit;
31}
32
33
34$langs->load("modulebuilder");
35
36?>
37
38<!-- BEGIN PHP TEMPLATE admin_extrafields_view.tpl.php -->
39<?php
40
41$title = '<span class="opacitymedium">'.$langs->trans("DefineHereComplementaryAttributes", empty($textobject) ? '': $textobject).'</span><br>'."\n";
42//if ($action != 'create' && $action != 'edit') {
43$newcardbutton = dolGetButtonTitle($langs->trans('NewAttribute'), '', 'fa fa-plus-circle', $_SERVER["PHP_SELF"].'?action=create', '', (($action != 'create' && $action != 'edit') ? 1 : 1));
44/*} else {
45 $newcardbutton = '';
46}*/
47
48print '<div class="centpercent tagtable marginbottomonly">';
49print '<div class="tagtr">';
50print '<div class="tagtd inline-block valignmiddle hideonsmartphoneimp">'.$title.'</div>';
51print '<div class="tagtd right inline-block valignmiddle"">'.$newcardbutton.'</div>';
52print '</div>';
53print '</div>';
54
55// Load $extrafields->attributes
56$extrafields->fetch_name_optionals_label($elementtype);
57
58print '<div class="div-table-responsive">';
59print '<table summary="listofattributes" class="noborder centpercent small">';
60
61print '<tr class="liste_titre">';
62print '<td class="left">'.$langs->trans("Position");
63print '<span class="nowrap">';
64print img_picto('A-Z', '1downarrow.png');
65print '</span>';
66print '</td>';
67print '<td>'.$langs->trans("LabelOrTranslationKey").'</td>';
68print '<td>'.$langs->trans("TranslationString").'</td>';
69print '<td>'.$langs->trans("AttributeCode").'</td>';
70print '<td>'.$langs->trans("Type").'</td>';
71print '<td class="right">'.$langs->trans("Size").'</td>';
72print '<td>'.$langs->trans("ComputedFormula").'</td>';
73print '<td class="center">'.$langs->trans("Unique").'</td>';
74print '<td class="center">'.$langs->trans("Mandatory").'</td>';
75print '<td class="center">'.$form->textwithpicto($langs->trans("AlwaysEditable"), $langs->trans("EditableWhenDraftOnly")).'</td>';
76print '<td class="center">'.$form->textwithpicto($langs->trans("Visibility"), $langs->trans("VisibleDesc").'<br><br>'.$langs->trans("ItCanBeAnExpression")).'</td>';
77print '<td class="center">'.$form->textwithpicto($langs->trans("DisplayOnPdf"), $langs->trans("DisplayOnPdfDesc")).'</td>';
78print '<td class="center">'.$form->textwithpicto($langs->trans("Totalizable"), $langs->trans("TotalizableDesc")).'</td>';
79print '<td class="center">'.$form->textwithpicto($langs->trans("CssOnEdit"), $langs->trans("HelpCssOnEditDesc")).'</td>';
80print '<td class="center">'.$form->textwithpicto($langs->trans("CssOnView"), $langs->trans("HelpCssOnViewDesc")).'</td>';
81print '<td class="center">'.$form->textwithpicto($langs->trans("CssOnList"), $langs->trans("HelpCssOnListDesc")).'</td>';
82if (isModEnabled('multicompany')) {
83 print '<td class="center">'.$langs->trans("Entity").'</td>';
84}
85print '<td width="80">&nbsp;</td>';
86print "</tr>\n";
87
88if (isset($extrafields->attributes[$elementtype]['type']) && is_array($extrafields->attributes[$elementtype]['type']) && count($extrafields->attributes[$elementtype]['type'])) {
89 foreach ($extrafields->attributes[$elementtype]['type'] as $key => $value) {
90 /*if (! dol_eval($extrafields->attributes[$elementtype]['enabled'][$key], 1, 1, '1')) {
91 // TODO Uncomment this to exclude extrafields of modules not enabled. Add a link to "Show extrafields disabled"
92 // continue;
93 }*/
94
95 // Load language if required
96 if (!empty($extrafields->attributes[$elementtype]['langfile'][$key])) {
97 $langs->load($extrafields->attributes[$elementtype]['langfile'][$key]);
98 }
99
100 print '<tr class="oddeven">';
101 // Position
102 print "<td>".dol_escape_htmltag($extrafields->attributes[$elementtype]['pos'][$key])."</td>\n";
103 // Label
104 print '<td title="'.dol_escape_htmltag($extrafields->attributes[$elementtype]['label'][$key]).'" class="tdoverflowmax150">'.dol_escape_htmltag($extrafields->attributes[$elementtype]['label'][$key])."</td>\n"; // We don't translate here, we want admin to know what is the key not translated value
105 // Label translated
106 print '<td class="tdoverflowmax150" title="'.dol_escape_htmltag($langs->transnoentitiesnoconv($extrafields->attributes[$elementtype]['label'][$key])).'">'.dol_escape_htmltag($langs->transnoentitiesnoconv($extrafields->attributes[$elementtype]['label'][$key]))."</td>\n";
107 // Key
108 print '<td title="'.dol_escape_htmltag($key).'" class="tdoverflowmax100">'.dol_escape_htmltag($key)."</td>\n";
109 // Type
110 $typetoshow = $type2label[$extrafields->attributes[$elementtype]['type'][$key]];
111 print '<td title="'.dol_escape_htmltag($typetoshow).'" class="tdoverflowmax100">';
112 print dol_escape_htmltag($typetoshow);
113 print "</td>\n";
114 // Size
115 print '<td class="right">'.dol_escape_htmltag($extrafields->attributes[$elementtype]['size'][$key])."</td>\n";
116 // Computed field
117 print '<td class="tdoverflowmax100" title="'.dol_escape_htmltag($extrafields->attributes[$elementtype]['computed'][$key]).'">'.dol_escape_htmltag($extrafields->attributes[$elementtype]['computed'][$key])."</td>\n";
118 // Is unique ?
119 print '<td class="center">'.yn($extrafields->attributes[$elementtype]['unique'][$key])."</td>\n";
120 // Is mandatory ?
121 print '<td class="center">'.yn($extrafields->attributes[$elementtype]['required'][$key])."</td>\n";
122 // Can always be editable ?
123 print '<td class="center">'.yn($extrafields->attributes[$elementtype]['alwayseditable'][$key])."</td>\n";
124 // Visible
125 print '<td class="center tdoverflowmax100" title="'.dol_escape_htmltag($extrafields->attributes[$elementtype]['list'][$key]).'">'.dol_escape_htmltag($extrafields->attributes[$elementtype]['list'][$key])."</td>\n";
126 // Print on PDF
127 print '<td class="center tdoverflowmax100" title="'.dol_escape_htmltag($extrafields->attributes[$elementtype]['printable'][$key]).'">'.dol_escape_htmltag($extrafields->attributes[$elementtype]['printable'][$key])."</td>\n";
128 // Summable
129 print '<td class="center">'.yn($extrafields->attributes[$elementtype]['totalizable'][$key])."</td>\n";
130 // CSS
131 print '<td class="center tdoverflowmax100" title="'.dol_escape_htmltag($extrafields->attributes[$elementtype]['css'][$key]).'">'.dol_escape_htmltag($extrafields->attributes[$elementtype]['css'][$key])."</td>\n";
132 // CSS view
133 print '<td class="center tdoverflowmax100" title="'.dol_escape_htmltag($extrafields->attributes[$elementtype]['cssview'][$key]).'">'.dol_escape_htmltag($extrafields->attributes[$elementtype]['cssview'][$key])."</td>\n";
134 // CSS list
135 print '<td class="center tdoverflowmax100" title="'.dol_escape_htmltag($extrafields->attributes[$elementtype]['csslist'][$key]).'">'.dol_escape_htmltag($extrafields->attributes[$elementtype]['csslist'][$key])."</td>\n";
136 // Multicompany
137 if (isModEnabled('multicompany')) {
138 print '<td class="center">';
139 if (empty($extrafields->attributes[$elementtype]['entityid'][$key])) {
140 print $langs->trans("All");
141 } else {
142 global $multicompanylabel_cache;
143 if (!is_array($multicompanylabel_cache)) {
144 $multicompanylabel_cache = array();
145 }
146 if (empty($multicompanylabel_cache[$extrafields->attributes[$elementtype]['entityid'][$key]])) {
147 global $mc;
148 $mc->getInfo($extrafields->attributes[$elementtype]['entityid'][$key]);
149 $multicompanylabel_cache[$extrafields->attributes[$elementtype]['entityid'][$key]] = $mc->label ? $mc->label : $extrafields->attributes[$elementtype]['entityid'][$key];
150 }
151 print $multicompanylabel_cache[$extrafields->attributes[$elementtype]['entityid'][$key]];
152 }
153 print '</td>';
154 }
155 // Actions
156 print '<td class="right nowraponall">';
157 print '<a class="editfielda" href="'.$_SERVER["PHP_SELF"].'?action=edit&token='.newToken().'&attrname='.urlencode($key).'#formeditextrafield">'.img_edit().'</a>';
158 print '&nbsp; <a class="paddingleft" href="'.$_SERVER["PHP_SELF"].'?action=delete&token='.newToken().'&attrname='.urlencode($key).'">'.img_delete().'</a>';
159 print '</td>'."\n";
160 print "</tr>";
161 }
162} else {
163 $colspan = 17;
164 if (isModEnabled('multicompany')) {
165 $colspan++;
166 }
167
168 print '<tr class="oddeven">';
169 print '<td colspan="'.$colspan.'"><span class="opacitymedium">';
170 print $langs->trans("None");
171 print '</span></td>';
172 print '</tr>';
173}
174
175print "</table>";
176print '</div>';
177?>
178<!-- END PHP TEMPLATE admin_extrafields_view.tpl.php -->
img_delete($titlealt='default', $other='class="pictodelete"', $morecss='')
Show delete logo.
dolGetButtonTitle($label, $helpText='', $iconClass='fa fa-file', $url='', $id='', $status=1, $params=array())
Function dolGetButtonTitle : this kind of buttons are used in title in list.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
img_edit($titlealt='default', $float=0, $other='')
Show logo editer/modifier fiche.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0, $cleanalsojavascript=0)
Returns text escaped for inclusion in HTML alt or title or value tags, or into values of HTML input f...