42@phan-var-force Conf $conf
43@phan-var-force DoliDB $db
44@phan-var-force ?Form $form
45@phan-var-force HookManager $hookmanager
46@phan-var-force AssetDepreciationOptions $assetdepreciationoptions
47@phan-var-force Translate $langs
48@phan-var-force ?array<array{mode_key:string,field_key:string,value:string,target:string}> $enabled_field_info
53 print
"Error, template page can't be called as URL";
57if (!is_object($form)) {
58 $form =
new Form($db);
61if (!isset($formadmin) || !is_object($formadmin)) {
62 require_once DOL_DOCUMENT_ROOT .
'/core/class/html.formadmin.class.php';
68<!-- BEGIN PHP TEMPLATE depreciation_options_edit.tpl.php -->
71if (!is_array($parameters)) {
72 $parameters = array();
74$enabled_field_info = array();
75if (empty($parameters[
'enabled_field_info'])) {
76 $parameters[
'enabled_field_info'] = &$enabled_field_info;
78if (empty($parameters[
'assetdepreciationoptions'])) {
79 $parameters[
'assetdepreciationoptions'] = &$assetdepreciationoptions;
81$reshook = $hookmanager->executeHooks(
'formAssetDeprecationOptions', $parameters,
$object, $action);
82print $hookmanager->resPrint;
88 $class_type = get_class(
$object) ==
'Asset' ? 0 : 1;
89 foreach ($assetdepreciationoptions->deprecation_options_fields as $mode_key => $mode_info) {
90 if (!empty($mode_info[
'enabled_field'])) {
91 $info = explode(
':', $mode_info[
'enabled_field']);
92 $enabled_field_info[] = array(
93 'mode_key' => $info[0],
94 'field_key' => $info[1],
96 'target' =>
'block_' . $mode_key,
100 $assetdepreciationoptions->setInfosForMode($mode_key, $class_type,
true);
101 $prefix_html_name = $mode_key .
'_';
102 $width = ($mode_key ==
"economic") ?
"width50p pull-left" :
"width50p";
103 print
'<table class="border '. $width .
'" id="block_' . $mode_key .
'">' .
"\n";
104 print
'<tr><td class="info-box-title">'.$langs->trans($mode_info[
'label']).
'</td></tr>';
105 if ($mode_key ==
"economic") {
108 $mode_info[
'fields'] =
dol_sort_array($mode_info[
'fields'],
'position');
109 foreach ($mode_info[
'fields'] as $field_key => $field_info) {
111 if (abs($field_info[
'visible']) != 1 && abs($field_info[
'visible']) != 3 && abs($field_info[
'visible']) != 4) {
114 if (array_key_exists(
'enabled', $field_info) && isset($field_info[
'enabled']) && !
verifCond($field_info[
'enabled'])) {
119 if (!empty($field_info[
'only_on_asset']) && !empty($class_type)) {
124 $html_name = $prefix_html_name . $field_key;
125 if (!empty($field_info[
'enabled_field'])) {
126 $info = explode(
':', $field_info[
'enabled_field']);
127 $enabled_field_info[] = array(
128 'mode_key' => $info[0],
129 'field_key' => $info[1],
131 'target' =>
'field_' . $html_name,
136 if (!empty($field_info[
'required'])) {
137 $more_class .=
'width40p fieldrequired';
139 if (isset($val[
'type']) && preg_match(
'/^(text|html)/', $val[
'type'])) {
140 $more_class .=
' tdtop';
143 print
'<tr class="field_' . $html_name .
'" id="field_' . $html_name .
'"><td';
144 print
' class="' . $more_class .
'">';
145 if (!empty($field_info[
'help'])) {
146 print $form->textwithpicto($langs->trans($field_info[
'label']), $langs->trans($field_info[
'help']));
148 print $langs->trans($field_info[
'label']);
151 print
'<td class="valuefieldcreate">';
152 if (!empty($field_info[
'picto'])) {
153 print
img_picto(
'', $field_info[
'picto'],
'', 0, 0, 0,
'',
'pictofixedwidth');
155 if (in_array($field_info[
'type'], array(
'int',
'integer'))) {
156 $value = GETPOSTISSET($html_name) ?
GETPOSTINT($html_name) : $assetdepreciationoptions->$field_key;
157 } elseif ($field_info[
'type'] ==
'double') {
158 $value = GETPOSTISSET($html_name) ?
price2num(
GETPOST($html_name,
'alphanohtml')) : $assetdepreciationoptions->$field_key;
159 } elseif (preg_match(
'/^(text|html)/', $field_info[
'type'])) {
160 $tmparray = explode(
':', $field_info[
'type']);
161 if (!empty($tmparray[1])) {
162 $check = $tmparray[1];
164 $check =
'restricthtml';
166 $value = GETPOSTISSET($html_name) ?
GETPOST($html_name, $check) : $assetdepreciationoptions->$field_key;
167 } elseif ($field_info[
'type'] ==
'price') {
168 $value = GETPOSTISSET($html_name) ?
price2num(
GETPOST($html_name)) : ($assetdepreciationoptions->$field_key ?
price2num($assetdepreciationoptions->$field_key) : (!empty($field_info[
'default']) ?
dol_eval((string) $field_info[
'default'], 1) : 0));
170 $value = GETPOSTISSET($html_name) ?
GETPOST($html_name,
'alpha') : $assetdepreciationoptions->$field_key;
172 if (!empty($field_info[
'noteditable'])) {
173 print $assetdepreciationoptions->showOutputField($field_info, $field_key, $value,
'',
'', $prefix_html_name, 0);
175 if ($field_key ==
'lang') {
176 print
img_picto(
'',
'language',
'class="pictofixedwidth"');
177 print $formadmin->select_language($value, $html_name, 0, array(), 1, 0, 0,
'minwidth300', 2);
179 print $assetdepreciationoptions->showInputField($field_info, $field_key, $value,
'',
'', $prefix_html_name, 0);
187 print
'<div class="clearboth"></div>';
190if (!empty($enabled_field_info)) {
191 $enabled_field_info = json_encode($enabled_field_info);
193<script
type=
"text/javascript">
194 jQuery(document).ready(
function () {
195 var enabled_field_info = $enabled_field_info;
198 enabled_field_info.map(
function(info) {
199 var html_name = info.mode_key +
'_' + info.field_key;
200 var source = $(
'#' + html_name);
201 if (!(source.length > 0)) source = $(
'[name="' + html_name +
'"]');
202 if (source.length > 0) {
203 source.attr(
'data-asset-enabled-field-value', info.value);
204 source.attr(
'data-asset-enabled-field-target', info.target);
205 updateEnabledField(source);
206 source.on(
'change click',
function() {
207 updateEnabledField(jQuery(
this));
212 function updateEnabledField(_this) {
213 var value = _this.attr(
'data-asset-enabled-field-value');
214 var target_name = _this.attr(
'data-asset-enabled-field-target');
217 var target = $(
'table#' + target_name);
220 if (!(target.length > 0)) {
221 target = $(
'#' + target_name);
222 if (!(target.length > 0)) target = $(
'[name="' + target_name +
'"]');
223 if (target.length > 0) target = target.closest(
'tr');
226 if (target.length > 0) {
227 var source_value = _this.attr(
'type') ==
'checkbox' ? (_this.is(
':checked') ? 1 : 0) : _this.val();
229 if (source_value != value) {
242<!-- END PHP TEMPLATE depreciation_options_edit.tpl.php -->
if(! $sortfield) if(! $sortorder) $object
verifCond($strToEvaluate, $onlysimplestring='1')
Verify if condition in string is ok or not.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2, $allowothertags=array())
Show picto whatever it's its name (generic function)
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
dol_eval($s, $returnvalue=1, $hideerrors=1, $onlysimplestring='1')
Replace eval function to add more security.
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...
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
if(preg_match('/(crypted|dolcrypt):/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type
'integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter[:Sortfield]]]',...