dolibarr  20.0.0-beta
depreciation_options_view.tpl.php
1 <?php
2 /* Copyright (C) 2021 Open-Dsi <support@open-dsi.fr>
3  * Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <https://www.gnu.org/licenses/>.
17  *
18  * Show extrafields. It also show fields from hook formAssetAccountancyCode. Need to have following variables defined:
19  * $object (asset, assetmodel, ...)
20  * $assetaccountancycodes
21  * $action
22  * $conf
23  * $langs
24  *
25  * $parameters
26  */
27 
28 // Protection to avoid direct call of template
29 if (empty($object) || !is_object($object)) {
30  print "Error, template page can't be called as URL";
31  exit(1);
32 }
33 
34 if (!is_object($form)) {
35  $form = new Form($db);
36 }
37 
38 
39 ?>
40 <!-- BEGIN PHP TEMPLATE depreciation_options_view.tpl.php -->
41 <?php
42 
43 if (!is_array($parameters)) {
44  $parameters = array();
45 }
46 if (empty($parameters['assetdepreciationoptions'])) {
47  $parameters['assetdepreciationoptions'] = &$assetdepreciationoptions;
48 }
49 $reshook = $hookmanager->executeHooks('formAssetDeprecationOptions', $parameters, $object, $action);
50 print $hookmanager->resPrint;
51 if ($reshook < 0) {
52  setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
53 }
54 
55 if (empty($reshook)) {
56  $class_type = get_class($object) == 'Asset' ? 0 : 1;
57  print '<br>';
58  foreach ($assetdepreciationoptions->deprecation_options_fields as $mode_key => $mode_info) {
59  if (!empty($mode_info['enabled_field'])) {
60  $info = explode(':', $mode_info['enabled_field']);
61  if (empty($assetdepreciationoptions->deprecation_options[$info[0]][$info[1]]) || $assetdepreciationoptions->deprecation_options[$info[0]][$info[1]] != $info[2]) {
62  continue;
63  }
64  }
65 
66  $assetdepreciationoptions->setInfosForMode($mode_key, $class_type, true);
67 
68  $width = "pull-left";
69  print '<table class="liste centpercent '. $width .'" id="block_' . $mode_key . '">' . "\n";
70  print '<tr class="liste_titre"><td colspan="5">'.$langs->trans($mode_info['label']).'</td></tr>';
71  $mode_info['fields'] = dol_sort_array($mode_info['fields'], 'position');
72  foreach ($mode_info['fields'] as $field_key => $field_info) {
73  if (!empty($field_info['enabled_field'])) {
74  $info = explode(':', $field_info['enabled_field']);
75  if (empty($assetdepreciationoptions->deprecation_options[$info[0]][$info[1]]) || $assetdepreciationoptions->deprecation_options[$info[0]][$info[1]] != $info[2]) {
76  continue;
77  }
78  }
79  // Discard if extrafield is a hidden field on form
80  if (abs($field_info['visible']) != 1 && abs($field_info['visible']) != 3 && abs($field_info['visible']) != 4 && abs($field_info['visible']) != 5) {
81  continue;
82  }
83  if (array_key_exists('enabled', $field_info) && isset($field_info['enabled']) && !verifCond($field_info['enabled'])) {
84  continue; // We don't want this field
85  }
86  $key = $mode_key . '_' . $field_key;
87  $value = $assetdepreciationoptions->deprecation_options[$mode_key][$field_key] ?? null;
88 
89  print '<tr class="field_' . $key . '" id="block_' . $mode_key . '"><td';
90  print ' class="' . (empty($field_info['tdcss']) ? 'titlefieldmiddle' : $field_info['tdcss']) . ' fieldname_' . $key;
91  if ($field_info['type'] == 'text' || $field_info['type'] == 'html') {
92  print ' tdtop';
93  }
94  print '">';
95  if (!empty($field_info['help'])) {
96  print $form->textwithpicto($langs->trans($field_info['label']), $langs->trans($field_info['help']));
97  } else {
98  if (isset($field_info['copytoclipboard']) && $field_info['copytoclipboard'] == 1) {
99  print showValueWithClipboardCPButton($value, 0, $langs->transnoentitiesnoconv($field_info['label']));
100  } else {
101  print $langs->trans($field_info['label']);
102  }
103  }
104  print '</td>';
105  print '<td class="valuefield fieldname_' . $key;
106  if ($field_info['type'] == 'text') {
107  print ' wordbreak';
108  }
109  if (!empty($field_info['cssview'])) {
110  print ' ' . $field_info['cssview'];
111  }
112  print '">';
113  if (in_array($field_info['type'], array('text', 'html'))) {
114  print '<div class="longmessagecut">';
115  }
116  if ($field_key == 'lang') {
117  $langs->load("languages");
118  $labellang = ($value ? $langs->trans('Language_' . $value) : '');
119  print picto_from_langcode($value, 'class="paddingrightonly saturatemedium opacitylow"');
120  print $labellang;
121  } else {
122  if (isset($field_info['copytoclipboard']) && $field_info['copytoclipboard'] == 2) {
123  $out = $assetdepreciationoptions->showOutputField($field_info, $field_key, $value, '', '', $mode_key . '_', 0);
124  print showValueWithClipboardCPButton($out, 0, $out);
125  } else {
126  print $assetdepreciationoptions->showOutputField($field_info, $field_key, $value, '', '', $mode_key . '_', 0);
127  }
128  }
129  if (in_array($field_info['type'], array('text', 'html'))) {
130  print '</div>';
131  }
132  print '</td>';
133  print '</tr>';
134  }
135  print '</table>';
136  print '<div class="clearboth"></div>';
137  print '<br>';
138  }
139 }
140 
141 ?>
142 <!-- END PHP TEMPLATE depreciation_options_view.tpl.php -->
if($user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
Definition: card.php:58
Class to manage generation of HTML components Only common components must be here.
verifCond($strToEvaluate, $onlysimplestring='1')
Verify if condition in string is ok or not.
picto_from_langcode($codelang, $moreatt='', $notitlealt=0)
Return img flag of country for a language code or country code.
showValueWithClipboardCPButton($valuetocopy, $showonlyonhover=1, $texttoshow='')
Create a button to copy $valuetocopy in the clipboard (for copy and paste feature).
dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensitive=0, $keepindex=0)
Advanced sort array by the value of a given key, which produces ascending (default) or descending out...
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.