dolibarr 21.0.0-beta
depreciation_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 * Copyright (C) 2024 Frédéric France <frederic.france@free.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 * Show extrafields. It also shows fields from hook formAssetAccountancyCode. Need to have the following variables defined:
20 * $object (asset, assetmodel, ...)
21 * $assetaccountancycodes
22 * $action
23 * $conf
24 * $langs
25 *
26 * $parameters
27 */
28
34// Protection to avoid direct call of template
35if (empty($object) || !is_object($object)) {
36 print "Error, template page can't be called as URL";
37 exit(1);
38}
39
40if (!is_object($form)) {
41 $form = new Form($db);
42}
43
44
45?>
46<!-- BEGIN PHP TEMPLATE depreciation_options_view.tpl.php -->
47<?php
48
49if (!is_array($parameters)) {
50 $parameters = array();
51}
52if (empty($parameters['assetdepreciationoptions'])) {
53 $parameters['assetdepreciationoptions'] = &$assetdepreciationoptions;
54}
55$reshook = $hookmanager->executeHooks('formAssetDeprecationOptions', $parameters, $object, $action);
56print $hookmanager->resPrint;
57if ($reshook < 0) {
58 setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
59}
60
61if (empty($reshook)) {
62 $class_type = get_class($object) == 'Asset' ? 0 : 1;
63 foreach ($assetdepreciationoptions->deprecation_options_fields as $mode_key => $mode_info) {
64 if (!empty($mode_info['enabled_field'])) {
65 $info = explode(':', $mode_info['enabled_field']);
66 if ($assetdepreciationoptions->deprecation_options[$info[0]][$info[1]] != $info[2]) {
67 continue;
68 }
69 }
70
71 $assetdepreciationoptions->setInfosForMode($mode_key, $class_type, true);
72
73 print load_fiche_titre($langs->trans($mode_info['label']), '', '');
74 print '<div class="fichecenter">';
75 print '<div class="fichehalfleft">';
76 print '<div class="underbanner clearboth"></div>';
77 print '<table class="border centpercent tableforfield">' . "\n";
78 $mode_info['fields'] = dol_sort_array($mode_info['fields'], 'position');
79 foreach ($mode_info['fields'] as $field_key => $field_info) {
80 if (!empty($field_info['enabled_field'])) {
81 $info = explode(':', $field_info['enabled_field']);
82 if ($assetdepreciationoptions->deprecation_options[$info[0]][$info[1]] != $info[2]) {
83 continue;
84 }
85 }
86 // Discard if extrafield is a hidden field on form
87 $isVisibleAbs = array_key_exists('visible', $field_info) ? abs((int) $field_info['visible']) : 0;
88 if (!in_array($isVisibleAbs, array(1, 3, 4, 5))) {
89 continue;
90 }
91 if (array_key_exists('enabled', $field_info) && isset($field_info['enabled']) && !verifCond($field_info['enabled'])) {
92 continue; // We don't want this field
93 }
94 if (!empty($field_info['column_break'])) {
95 print '</table>';
96
97 // We close div and reopen for second column
98 print '</div>';
99 print '<div class="fichehalfright">';
100
101 print '<div class="underbanner clearboth"></div>';
102 print '<table class="border centpercent tableforfield">';
103 }
104
105 $key = $mode_key . '_' . $field_key;
106 $value = $assetdepreciationoptions->deprecation_options[$mode_key][$field_key];
107
108 print '<tr class="field_' . $key . '"><td';
109 print ' class="' . (empty($field_info['tdcss']) ? 'titlefield' : $field_info['tdcss']) . ' fieldname_' . $key;
110 if ($field_info['type'] == 'text' || $field_info['type'] == 'html') {
111 print ' tdtop';
112 }
113 print '">';
114 if (!empty($field_info['help'])) {
115 print $form->textwithpicto($langs->trans($field_info['label']), $langs->trans($field_info['help']));
116 } else {
117 if (isset($field_info['copytoclipboard']) && $field_info['copytoclipboard'] == 1) { // @phan-suppress-current-line PhanTypeInvalidDimOffset
118 print showValueWithClipboardCPButton($value, 0, $langs->transnoentitiesnoconv($field_info['label']));
119 } else {
120 print $langs->trans($field_info['label']);
121 }
122 }
123 print '</td>';
124 print '<td class="valuefield fieldname_' . $key;
125 if ($field_info['type'] == 'text') {
126 print ' wordbreak';
127 }
128 if (!empty($field_info['cssview'])) {
129 print ' ' . $field_info['cssview'];
130 }
131 print '">';
132 if (in_array($field_info['type'], array('text', 'html'))) {
133 print '<div class="longmessagecut">';
134 }
135 if ($field_key == 'lang') {
136 $langs->load("languages");
137 $labellang = ($value ? $langs->trans('Language_' . $value) : '');
138 print picto_from_langcode($value, 'class="paddingrightonly saturatemedium opacitylow"');
139 print $labellang;
140 } else {
141 if (isset($field_info['copytoclipboard']) && $field_info['copytoclipboard'] == 2) {
142 $out = $assetdepreciationoptions->showOutputField($field_info, $field_key, $value, '', '', $mode_key . '_', 0);
143 print showValueWithClipboardCPButton($out, 0, $out);
144 } else {
145 print $assetdepreciationoptions->showOutputField($field_info, $field_key, $value, '', '', $mode_key . '_', 0);
146 }
147 }
148 if (in_array($field_info['type'], array('text', 'html'))) {
149 print '</div>';
150 }
151 print '</td>';
152 print '</tr>';
153 }
154 print '</table>';
155 print '</div>';
156 print '</div>';
157 print '<div class="clearboth"></div>';
158 }
159}
160
161?>
162<!-- END PHP TEMPLATE depreciation_options_view.tpl.php -->
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
Definition card.php:66
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.
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.
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...