Merge branch 'test' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / templates / webpages / amcvar / render_inputs_block.html
index bea36c0..984c589 100644 (file)
@@ -1,44 +1,83 @@
 [%- USE T8 %]
 [%- USE HTML %]
+[%- USE L %]
+[%- USE P %]
+[%- USE LxERP %][%- USE P -%]
 [%- BLOCK cvar_inputs %]
-[%- var               = cvar.var  %]
-[%- hide_non_editable = cvar.hide_non_editable, %]
-[%- name_prefix       = cvar.name_prefix, %]
-[%- name_postfix      = cvar.name_postfix, %]
-[%- valid             = cvar.valid, %]
-[%- value             = cvar.value, %]
-[%- var_name          = HTML.escape(name_prefix) _ "cvar_" _ HTML.escape(var.name) _ HTML.escape(name_postfix) -%]
-[%- %]
-[%- IF hide_non_editable && !var.flag_editable %]
-<input type="hidden" name="[% var_name %]" value="[% HTML.escape(var.value) %]">
-[%- ELSIF !valid %]
+[%- SET render_cvar_tag_options = {};
+    render_cvar_tag_options.import(cvar_tag_options) IF cvar_tag_options;
+    SET cvar_tag_name = HTML.escape(cvar.name_prefix) _ "cvar_" _ HTML.escape(cvar.var.name) _ HTML.escape(cvar.name_postfix);
+    IF !render_cvar_tag_options.id && (cvar.var.type != 'select');
+      SET render_cvar_tag_options.no_id = 1;
+    END;
+%]
+
+[%- IF (!cvar.hide_non_editable || cvar.var.flag_editable) && !cvar.partsgroup_filtered %]
+
+[%- IF !cvar.valid %]
   [%- IF show_disabled_message %]
 <i>[% 'Element disabled' | $T8 %]</i>
   [%- END %]
-[%- ELSIF var.type == 'bool' %]
-<input type="checkbox" name="[% var_name %]" value="1"[% IF value %] checked[% END %]>
-[%- ELSIF var.type == 'textfield' %]
-<textarea name="[% var_name %]" cols="[% HTML.escape(var.width) %]" rows="[% HTML.escape(var.height) %]">[% HTML.escape(value) %]</textarea>
-[%- ELSIF var.type == 'date' %]
-<input name="[% var_name %]" id="[% var_name %]" size="12" value="[% HTML.escape(value) %]">
-<input name="[% var_name %]_button" id="[% var_name %]_trigger" type="button" value="?">
-<script type="text/javascript">
- <!--
-     Calendar.setup({ inputField : "[% var_name %]",
-                      ifFormat   : "[% myconfig_jsc_dateformat %]",
-                      align      : "BR",
-                      button     : "[% var_name %]_trigger" });
-   -->
-</script>
-[%- ELSIF var.type == 'timestamp' %]
-<input name="[% var_name %]" value="[% HTML.escape(value) %]">
-[%- ELSIF var.type == 'select' %]
-<select name="[% var_name %]">
- [%- FOREACH option = var.OPTIONS %]
- <option[% IF option.value == value %] selected[% END %]>[% HTML.escape(option.value) %]</option>
+
+[%- ELSIF cvar.var.type == 'bool' %]
+[%- render_cvar_tag_options.import(checked=cvar.value, value=1);
+    L.checkbox_tag(cvar_tag_name, render_cvar_tag_options) %]
+
+[%- ELSIF cvar.var.type == 'textfield' %]
+[% render_cvar_tag_options.import(cols=cvar.var.width, rows=cvar.var.height);
+   L.textarea_tag(cvar_tag_name, cvar.value, render_cvar_tag_options) %]
+
+[%- ELSIF cvar.var.type == 'htmlfield' %]
+[% render_cvar_tag_options.import(cols=cvar.var.width, rows=cvar.var.height, class="texteditor");
+   L.textarea_tag(cvar_tag_name, L.restricted_html(cvar.value), render_cvar_tag_options) %]
+
+[%- ELSIF cvar.var.type == 'date' %]
+[%- L.date_tag(cvar_tag_name, cvar.value, render_cvar_tag_options) %]
+
+[%- ELSIF cvar.var.type == 'timestamp' %]
+[%- L.input_tag(cvar_tag_name, cvar.value, render_cvar_tag_options) %]
+
+[%- ELSIF cvar.var.type == 'select' %]
+[%- render_cvar_tag_options.name=cvar_tag_name %]
+<select [% P.stringify_attributes(render_cvar_tag_options) %]>
+ [%- IF LxERP.is_rdbo(cvar.var, 'CustomVariableConfig') %]
+  [%- FOREACH option = cvar.var.processed_options %]
+   [%- SET render_cvar_opts = {
+        value = option
+       };
+       render_cvar_opts.selected = 'selected' IF option == cvar.value;
+       L.html_tag('option', option, render_cvar_opts) %]
+  [%- END %]
+ [%- ELSE %]
+  [%- FOREACH option = cvar.var.OPTIONS %]
+   [%- SET render_cvar_opts = {
+        value = option.value
+       };
+       render_cvar_opts.selected = 'selected' IF option.value == cvar.value;
+       L.html_tag('option', option.value, render_cvar_opts) %]
+  [%- END %]
  [%- END %]
 </select>
+
+[%- ELSIF cvar.var.type == 'customer' %]
+[%- render_cvar_tag_options.type = 'customer' %]
+[%- P.customer_vendor.picker(cvar_tag_name, cvar.value, render_cvar_tag_options) %]
+
+[%- ELSIF cvar.var.type == 'vendor' %]
+[%- render_cvar_tag_options.type = 'vendor' %]
+[%- P.customer_vendor.picker(cvar_tag_name, cvar.value, render_cvar_tag_options) %]
+
+[%- ELSIF cvar.var.type == 'part' %]
+[% P.part.picker(cvar_tag_name, cvar.value, render_cvar_tag_options) %]
+
+[%- ELSIF cvar.var.type == 'number' %]
+[%- L.input_tag(cvar_tag_name, LxERP.format_amount(cvar.value, -2), render_cvar_tag_options) %]
+
 [%- ELSE %]
-<input name="[% var_name %]" value="[% HTML.escape(value) %]" [%- IF var.maxlength %] maxlength="[% HTML.escape(var.maxlength) %]"[% END -%]>
+[% render_cvar_tag_options.maxlength=cvar.var.maxlength IF cvar.var.maxlength;
+   L.input_tag(cvar_tag_name, cvar.value, render_cvar_tag_options) %]
+[%- END %]
+
 [%- END %]
+
 [%- END %]