31 print
"Error, template page can't be called as URL";
35if (!is_object($form)) {
36 $form =
new Form($db);
41<!-- BEGIN PHP TEMPLATE extrafields_view.tpl.php -->
43if (!isset($parameters) || !is_array($parameters)) {
44 $parameters = array();
47 $parameters[
'colspan'] =
' colspan="'.$cols.
'"';
50 $parameters[
'cols'] = $cols;
53 $parameters[
'socid'] =
$object->fk_soc;
55$reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters,
$object, $action);
56print $hookmanager->resPrint;
63if (empty($reshook) && !empty(
$object->table_element) && isset($extrafields->attributes[
$object->table_element][
'label']) && is_array($extrafields->attributes[
$object->table_element][
'label'])) {
64 $lastseparatorkeyfound =
'';
65 $extrafields_collapse_num =
'';
66 $extrafields_collapse_num_old =
'';
70 foreach ($extrafields->attributes[
$object->table_element][
'label'] as $tmpkeyextra => $tmplabelextra) {
76 if ($enabled && isset($extrafields->attributes[
$object->table_element][
'enabled'][$tmpkeyextra])) {
77 $enabled = (int)
dol_eval($extrafields->attributes[
$object->table_element][
'enabled'][$tmpkeyextra], 1, 1,
'2');
79 if ($enabled && isset($extrafields->attributes[
$object->table_element][
'list'][$tmpkeyextra])) {
80 $enabled = (int)
dol_eval($extrafields->attributes[
$object->table_element][
'list'][$tmpkeyextra], 1, 1,
'2');
84 if ($perms && isset($extrafields->attributes[
$object->table_element][
'perms'][$tmpkeyextra])) {
85 $perms = (int)
dol_eval($extrafields->attributes[
$object->table_element][
'perms'][$tmpkeyextra], 1, 1,
'2');
89 if (empty($enabled)) {
92 if (abs($enabled) != 1 && abs($enabled) != 3 && abs($enabled) != 5 && abs($enabled) != 4) {
100 if (!empty($extrafields->attributes[
$object->table_element][
'langfile'][$tmpkeyextra])) {
101 $langs->load($extrafields->attributes[
$object->table_element][
'langfile'][$tmpkeyextra]);
103 if ($action ==
'edit_extras') {
104 $value = (GETPOSTISSET(
"options_".$tmpkeyextra) ?
GETPOST(
"options_".$tmpkeyextra) : (isset(
$object->array_options[
"options_".$tmpkeyextra]) ?
$object->array_options[
"options_".$tmpkeyextra] :
''));
106 $value = (isset(
$object->array_options[
"options_".$tmpkeyextra]) ?
$object->array_options[
"options_".$tmpkeyextra] :
'');
111 if ($extrafields->attributes[
$object->table_element][
'type'][$tmpkeyextra] ==
'separate') {
112 $extrafields_collapse_num = $tmpkeyextra;
114 print $extrafields->showSeparator($tmpkeyextra,
$object);
116 $lastseparatorkeyfound = $tmpkeyextra;
118 $collapse_group = $extrafields_collapse_num.(!empty(
$object->id) ?
'_'.$object->id :
'');
120 print
'<tr class="trextrafields_collapse'.$collapse_group;
124 if ($extrafields_collapse_num && $i == count($extrafields->attributes[
$object->table_element][
'label'])) {
125 print
' trextrafields_collapse_last';
128 if (isset($extrafields->expand_display) && empty($extrafields->expand_display[$collapse_group])) {
129 print
' style="display: none;"';
132 $extrafields_collapse_num_old = $extrafields_collapse_num;
134 print
'<table class="nobordernopadding centpercent">';
138 if ((!empty($action) && ($action ==
'create' || $action ==
'edit')) && !empty($extrafields->attributes[
$object->table_element][
'required'][$tmpkeyextra])) {
139 print
' fieldrequired';
142 if (!empty($extrafields->attributes[
$object->table_element][
'help'][$tmpkeyextra])) {
144 $tmptooltip = explode(
':', $extrafields->attributes[
$object->table_element][
'help'][$tmpkeyextra]);
145 print $form->textwithpicto($langs->trans($tmplabelextra), $langs->trans($tmptooltip[0]), 1,
'help',
'', 0, 3, (empty($tmptooltip[1]) ?
'' :
'extra_'.$tmpkeyextra.
'_'.$tmptooltip[1]));
147 print $langs->trans($tmplabelextra);
154 $keyforperm =
$object->element;
156 if (
$object->element ==
'fichinter') {
157 $keyforperm =
'ficheinter';
159 if (
$object->element ==
'product') {
160 $keyforperm =
'produit';
162 if (isset($user->rights->$keyforperm)) {
163 $permok = $user->hasRight($keyforperm,
'creer') || $user->hasRight($keyforperm,
'create') || $user->hasRight($keyforperm,
'write');
165 if (
$object->element ==
'order_supplier') {
167 $permok = $user->hasRight(
'fournisseur',
'commande',
'creer');
169 $permok = $user->hasRight(
'supplier_order',
'creer');
172 if (
$object->element ==
'invoice_supplier') {
174 $permok = $user->hasRight(
'fournisseur',
'facture',
'creer');
176 $permok = $user->hasRight(
'supplier_invoice',
'creer');
179 if (
$object->element ==
'shipping') {
180 $permok = $user->hasRight(
'expedition',
'creer');
182 if (
$object->element ==
'delivery') {
183 $permok = $user->hasRight(
'expedition',
'delivery',
'creer');
185 if (
$object->element ==
'productlot') {
186 $permok = $user->hasRight(
'stock',
'creer');
188 if (
$object->element ==
'facturerec') {
189 $permok = $user->hasRight(
'facture',
'creer');
191 if (
$object->element ==
'mo') {
192 $permok = $user->hasRight(
'mrp',
'write');
194 if (
$object->element ==
'contact') {
195 $permok = $user->hasRight(
'societe',
'contact',
'creer');
197 if (
$object->element ==
'salary') {
198 $permok = $user->hasRight(
'salaries',
'read');
202 if (($isdraft || !empty($extrafields->attributes[
$object->table_element][
'alwayseditable'][$tmpkeyextra]))
203 && $permok && $enabled != 5 && ($action !=
'edit_extras' ||
GETPOST(
'attribute') != $tmpkeyextra)
204 && empty($extrafields->attributes[
$object->table_element][
'computed'][$tmpkeyextra])) {
205 $fieldid = empty($forcefieldid) ?
'id' : $forcefieldid;
206 $valueid = empty($forceobjectid) ?
$object->id : $forceobjectid;
207 if (
$object->table_element ==
'societe') {
211 print
'<td class="right"><a class="reposition editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?'.$fieldid.
'='.$valueid.
'&action=edit_extras&token='.
newToken().
'&attribute='.$tmpkeyextra.
'&ignorecollapsesetup=1">'.
img_edit().
'</a></td>';
213 print
'</tr></table>';
216 $cssview = !empty($extrafields->attributes[
$object->table_element][
'cssview'][$tmpkeyextra]) ? ($extrafields->attributes[
$object->table_element][
'cssview'][$tmpkeyextra] .
' ') :
'';
219 print
'<td id="' . $html_id .
'" class="valuefield ' . $cssview .
$object->element .
'_extras_' . $tmpkeyextra .
' wordbreakimp"' . (!empty($cols) ?
' colspan="' . $cols .
'"' :
'') .
'>';
222 if (in_array($extrafields->attributes[
$object->table_element][
'type'][$tmpkeyextra], array(
'date'))) {
223 $datenotinstring = empty(
$object->array_options[
'options_'.$tmpkeyextra]) ?
'' :
$object->array_options[
'options_'.$tmpkeyextra];
225 if (!empty(
$object->array_options[
'options_'.$tmpkeyextra]) && !is_numeric(
$object->array_options[
'options_'.$tmpkeyextra])) {
226 $datenotinstring = $db->jdate($datenotinstring);
229 $value = GETPOSTISSET(
"options_".$tmpkeyextra) ?
dol_mktime(12, 0, 0,
GETPOSTINT(
"options_".$tmpkeyextra.
"month"),
GETPOSTINT(
"options_".$tmpkeyextra.
"day"),
GETPOSTINT(
"options_".$tmpkeyextra.
"year")) : $datenotinstring;
231 if (in_array($extrafields->attributes[
$object->table_element][
'type'][$tmpkeyextra], array(
'datetime'))) {
232 $datenotinstring = empty(
$object->array_options[
'options_'.$tmpkeyextra]) ?
'' :
$object->array_options[
'options_'.$tmpkeyextra];
234 if (!empty(
$object->array_options[
'options_'.$tmpkeyextra]) && !is_numeric(
$object->array_options[
'options_'.$tmpkeyextra])) {
235 $datenotinstring = $db->jdate($datenotinstring);
238 $value = GETPOSTISSET(
"options_".$tmpkeyextra) ?
dol_mktime(
GETPOSTINT(
"options_".$tmpkeyextra.
"hour"),
GETPOSTINT(
"options_".$tmpkeyextra.
"min"),
GETPOSTINT(
"options_".$tmpkeyextra.
"sec"),
GETPOSTINT(
"options_".$tmpkeyextra.
"month"),
GETPOSTINT(
"options_".$tmpkeyextra.
"day"),
GETPOSTINT(
"options_".$tmpkeyextra.
"year"),
'tzuserrel') : $datenotinstring;
242 if ($action ==
'edit_extras' && $permok &&
GETPOST(
'attribute',
'restricthtml') == $tmpkeyextra) {
244 if (
$object->table_element ==
'societe') {
247 print
'<form enctype="multipart/form-data" action="'.$_SERVER[
"PHP_SELF"] .
'?' . $fieldid .
'=' .
$object->id .
'" method="post" name="formextra">';
248 print
'<input type="hidden" name="action" value="update_extras">';
249 print
'<input type="hidden" name="attribute" value="'.$tmpkeyextra.
'">';
250 print
'<input type="hidden" name="token" value="'.newToken().
'">';
251 print
'<input type="hidden" name="'.$fieldid.
'" value="'.
$object->id.
'">';
252 print $extrafields->showInputField($tmpkeyextra, $value,
'',
'',
'', 0,
$object->id,
$object->table_element);
254 print
'<input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans(
'Modify')).
'">';
259 print $extrafields->showOutputField($tmpkeyextra, $value,
'',
$object->table_element);
269 if (!empty($conf->use_javascript_ajax)) {
273 jQuery(document).ready(function() {
274 function showOptions(child_list, parent_list)
276 var val = $("select[name="+parent_list+"]").val();
277 var parentVal = parent_list + ":" + val;
279 $("select[name=\""+child_list+"\"] option[parent]").hide();
280 $("select[name=\""+child_list+"\"] option[parent=\""+parentVal+"\"]").show();
282 $("select[name=\""+child_list+"\"] option").show();
285 function setListDependencies() {
286 jQuery("select option[parent]").parent().each(function() {
287 var child_list = $(this).attr("name");
288 var parent = $(this).find("option[parent]:first").attr("parent");
289 var infos = parent.split(":");
290 var parent_list = infos[0];
291 showOptions(child_list, parent_list);
293 /* Activate the handler to call showOptions on each future change */
294 $("select[name=\""+parent_list+"\"]").change(function() {
295 showOptions(child_list, parent_list);
299 setListDependencies();
305<!-- END PHP TEMPLATE extrafields_view.tpl.php -->
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
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...
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dol_eval($s, $returnvalue=1, $hideerrors=1, $onlysimplestring='1')
Replace eval function to add more security.
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.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
img_edit($titlealt='default', $float=0, $other='')
Show logo edit/modify fiche.