Revision 96674a7e
Von Tamino Steinert vor fast 2 Jahren hinzugefügt
templates/design40_webpages/reclamation/tabs/basic_data.html | ||
---|---|---|
7 | 7 |
[%- INCLUDE 'generic/set_longdescription.html' %] |
8 | 8 |
|
9 | 9 |
<div id="ui-tabs-basic-data"> |
10 |
<table width="100%"> |
|
11 |
<tr valign="top"> |
|
12 |
<td> |
|
13 |
<table width="100%"> |
|
14 |
<tr> |
|
15 |
<th align="right">[%- SELF.cv == "customer" ? LxERP.t8('Customer') : LxERP.t8('Vendor') -%]</th> |
|
16 |
[% SET cv_id = SELF.cv _ '_id' %] |
|
17 |
<td> |
|
18 |
[% P.customer_vendor.picker("reclamation.${SELF.cv}" _ '_id', SELF.reclamation.$cv_id, type=SELF.cv, style='width: 300px') %] |
|
19 |
[% P.button_tag("kivi.Reclamation.show_cv_details_dialog()", LxERP.t8("Details (one letter abbreviation)")) %] |
|
20 |
</td> |
|
21 |
</tr> |
|
22 |
|
|
23 |
<tr id='contact_row' [%- IF !SELF.reclamation.${SELF.cv}.contacts.size %]style='display:none'[%- END %]> |
|
24 |
<th align="right">[% 'Contact Person' | $T8 %]</th> |
|
25 |
<td>[% L.select_tag('reclamation.contact_id', |
|
26 |
SELF.reclamation.${SELF.cv}.contacts, |
|
27 |
default=SELF.reclamation.contact_id, |
|
28 |
title_key='full_name_dep', |
|
29 |
value_key='cp_id', |
|
30 |
with_empty=1, |
|
31 |
style='width: 300px') %]</td> |
|
32 |
</tr> |
|
33 |
|
|
34 |
<tr> |
|
35 |
<th align="right">[% 'Shipping Address' | $T8 %]</th> |
|
36 |
<td> |
|
37 |
<span id='shipto_selection' [%- IF !SELF.reclamation.${SELF.cv}.shipto.size %] style='display:none'[%- END %] > |
|
38 |
[% shiptos = [ { shipto_id => "", displayable_id => LxERP.t8("No/individual shipping address") } ] ; |
|
39 |
FOREACH s = SELF.reclamation.${SELF.cv}.shipto ; |
|
40 |
shiptos.push(s) ; |
|
41 |
END ; |
|
42 |
L.select_tag('reclamation.shipto_id', |
|
43 |
shiptos, |
|
44 |
default=SELF.reclamation.shipto_id, |
|
45 |
title_key='displayable_id', |
|
46 |
value_key='shipto_id', |
|
47 |
with_empty=0, |
|
48 |
style='width: 300px') %] |
|
49 |
</span> |
|
50 |
[% L.button_tag("kivi.Reclamation.edit_custom_shipto()", LxERP.t8("Custom shipto")) %] |
|
51 |
</td> |
|
52 |
</tr> |
|
53 |
|
|
54 |
[%- IF SELF.cv == "customer" %] |
|
55 |
<tr id="billing_address_row"[% IF !SELF.reclamation.customer.additional_billing_addresses.as_list.size %] style="display:none"[% END %]> |
|
56 |
<th align="right">[% 'Custom Billing Address' | $T8 %]</th> |
|
57 |
<td> |
|
58 |
[% L.select_tag('reclamation.billing_address_id', |
|
59 |
SELF.reclamation.customer.additional_billing_addresses, |
|
60 |
default=SELF.reclamation.billing_address_id, |
|
61 |
title_key='displayable_id', |
|
62 |
value_key='id', |
|
63 |
with_empty=1, |
|
64 |
style='width: 300px') %] |
|
65 |
</td> |
|
66 |
</tr> |
|
67 |
[%- END %] |
|
68 | 10 |
|
69 |
[%- PROCESS reclamation/tabs/basic_data/_business_info_row.html SELF=SELF %] |
|
70 |
|
|
71 |
<tr> |
|
72 |
<th align="right">[% 'Tax rate' | $T8 %]</th> |
|
73 |
<td>[% L.select_tag('reclamation.taxzone_id', SELF.all_taxzones, default=SELF.reclamation.taxzone_id, title_key='description', style='width: 300px', class='recalc') %]</td> |
|
74 |
</tr> |
|
75 |
|
|
76 |
[% SET currency_id = SELF.reclamation.currency_id || INSTANCE_CONF.get_currency_id # use default currency for new reclamation %] |
|
77 |
<tr id="currency_settings"> |
|
78 |
<th align="right">[% 'Currency' | $T8 %]</th> |
|
79 |
<td>[% L.select_tag('reclamation.currency_id', SELF.all_currencies, default=currency_id, value_key='id', title_key='name') %]</td> |
|
80 |
</tr> |
|
81 |
<tr id="exchangerate_settings" [%- IF SELF.reclamation.currency_id==INSTANCE_CONF.get_currency_id %]style='display:none'[%- END %]> |
|
82 |
<th align="right">[% 'Exchangerate' | $T8 %]</th> |
|
83 |
<td> 1 <span id="currency_name">[% SELF.reclamation.currency.name %]</span> = |
|
84 |
[% L.input_tag('reclamation.exchangerate_as_null_number', SELF.reclamation.exchangerate_as_null_number, size="15", class="reformat_number_as_null_number numeric") %] |
|
85 |
[% INSTANCE_CONF.default_currency %] |
|
86 |
[% L.hidden_tag('old_currency_id', currency_id) %] |
|
87 |
[% L.hidden_tag('old_exchangerate', SELF.reclamation.exchangerate_as_null_number) %] |
|
88 |
</td> |
|
89 |
</tr> |
|
11 |
<div class="wrapper" id="wrapper-1"> |
|
12 |
[% INCLUDE 'generic/toggle_wrapper.html' %] |
|
13 |
|
|
14 |
<div class="col"> |
|
15 |
|
|
16 |
<table class="tbl-horizontal col"> |
|
17 |
<caption>[% 'Customer & Order Information' | $T8 %]</caption> |
|
18 |
<colgroup><col class="wi-mediumsmall"><col class="wi-lightwide"></colgroup> |
|
19 |
<tbody> |
|
20 |
<tr> |
|
21 |
<th>[%- SELF.cv == "customer" ? LxERP.t8('Customer') : LxERP.t8('Vendor') -%]</th> |
|
22 |
[% SET cv_id = SELF.cv _ '_id' %] |
|
23 |
<td class="wi-lightwide"> |
|
24 |
[% P.customer_vendor.picker("reclamation.${SELF.cv}" _ '_id', SELF.reclamation.$cv_id, type=SELF.cv, class='wi-lightwide') %] |
|
25 |
[%- L.img_tag(src="image/detail.png", |
|
26 |
alt=LxERP.t8('Show details'), |
|
27 |
title= LxERP.t8('Show details'), |
|
28 |
onclick="kivi.Reclamation.show_cv_details_dialog();", |
|
29 |
class="button-image info") %] |
|
30 |
</td> |
|
31 |
</tr> |
|
32 |
|
|
33 |
<tr id='contact_row' [%- IF !SELF.reclamation.${SELF.cv}.contacts.size %]style='display:none'[%- END %]> |
|
34 |
<th>[% 'Contact Person' | $T8 %]</th> |
|
35 |
<td>[% L.select_tag('reclamation.contact_id', |
|
36 |
SELF.reclamation.${SELF.cv}.contacts, |
|
37 |
default=SELF.reclamation.contact_id, |
|
38 |
title_key='full_name_dep', |
|
39 |
value_key='cp_id', |
|
40 |
with_empty=1, |
|
41 |
class='wi-lightwide') %]</td> |
|
42 |
</tr> |
|
43 |
|
|
44 |
<tr> |
|
45 |
<th>[% 'Shipping Address' | $T8 %]</th> |
|
46 |
<td> |
|
47 |
<span id='shipto_selection' [%- IF !SELF.reclamation.${SELF.cv}.shipto.size %] style='display:none'[%- END %] > |
|
48 |
[% shiptos = [ { shipto_id => "", displayable_id => LxERP.t8("No/individual shipping address") } ] ; |
|
49 |
FOREACH s = SELF.reclamation.${SELF.cv}.shipto ; |
|
50 |
shiptos.push(s) ; |
|
51 |
END ; |
|
52 |
L.select_tag('reclamation.shipto_id', |
|
53 |
shiptos, |
|
54 |
default=SELF.reclamation.shipto_id, |
|
55 |
title_key='displayable_id', |
|
56 |
value_key='shipto_id', |
|
57 |
with_empty=0, |
|
58 |
class='wi-lightwide') %] |
|
59 |
</span> |
|
60 |
[% L.button_tag("kivi.Reclamation.edit_custom_shipto()", LxERP.t8("Custom shipto")) %] |
|
61 |
</td> |
|
62 |
</tr> |
|
63 |
|
|
64 |
[%- IF SELF.cv == "customer" %] |
|
65 |
<tr id="billing_address_row"[% IF !SELF.reclamation.customer.additional_billing_addresses.as_list.size %] style="display:none"[% END %]> |
|
66 |
<th>[% 'Custom Billing Address' | $T8 %]</th> |
|
67 |
<td> |
|
68 |
[% L.select_tag('reclamation.billing_address_id', |
|
69 |
SELF.reclamation.customer.additional_billing_addresses, |
|
70 |
default=SELF.reclamation.billing_address_id, |
|
71 |
title_key='displayable_id', |
|
72 |
value_key='id', |
|
73 |
with_empty=1, |
|
74 |
class='wi-lightwide') %] |
|
75 |
</td> |
|
76 |
</tr> |
|
77 |
[%- END %] |
|
78 |
|
|
79 |
[%- PROCESS reclamation/tabs/basic_data/_business_info_row.html SELF=SELF %] |
|
80 |
|
|
81 |
<tr> |
|
82 |
<th>[% 'Tax rate' | $T8 %]</th> |
|
83 |
<td>[% L.select_tag('reclamation.taxzone_id', SELF.all_taxzones, default=SELF.reclamation.taxzone_id, title_key='description', class='recalc wi-lightwide') %]</td> |
|
84 |
</tr> |
|
85 |
|
|
86 |
[% SET currency_id = SELF.reclamation.currency_id || INSTANCE_CONF.get_currency_id # use default currency for new reclamation %] |
|
87 |
<tr id="currency_settings"> |
|
88 |
<th>[% 'Currency' | $T8 %]</th> |
|
89 |
<td>[% L.select_tag('reclamation.currency_id', SELF.all_currencies, default=currency_id, value_key='id', title_key='name') %]</td> |
|
90 |
</tr> |
|
91 |
<tr id="exchangerate_settings" [%- IF SELF.reclamation.currency_id==INSTANCE_CONF.get_currency_id %]style='display:none'[%- END %]> |
|
92 |
<th>[% 'Exchangerate' | $T8 %]</th> |
|
93 |
<td> 1 <span id="currency_name">[% SELF.reclamation.currency.name %]</span> = |
|
94 |
[% L.input_tag('reclamation.exchangerate_as_null_number', SELF.reclamation.exchangerate_as_null_number, size="15", class="reformat_number_as_null_number numeric") %] |
|
95 |
[% INSTANCE_CONF.default_currency %] |
|
96 |
[% L.hidden_tag('old_currency_id', currency_id) %] |
|
97 |
[% L.hidden_tag('old_exchangerate', SELF.reclamation.exchangerate_as_null_number) %] |
|
98 |
</td> |
|
99 |
</tr> |
|
90 | 100 |
|
91 | 101 |
[%- IF SELF.all_languages.size %] |
92 |
<tr>
|
|
93 |
<th align="right">[% 'Language' | $T8 %]</th>
|
|
94 |
<td>
|
|
95 |
[% L.select_tag('reclamation.language_id', SELF.all_languages, default=SELF.reclamation.language_id, title_key='description', with_empty=1, style='width:300px') %]
|
|
96 |
</td>
|
|
97 |
</tr>
|
|
102 |
<tr> |
|
103 |
<th>[% 'Language' | $T8 %]</th>
|
|
104 |
<td> |
|
105 |
[% L.select_tag('reclamation.language_id', SELF.all_languages, default=SELF.reclamation.language_id, title_key='description', with_empty=1, style='wi-lightwide') %]
|
|
106 |
</td> |
|
107 |
</tr> |
|
98 | 108 |
[%- END %] |
99 | 109 |
|
100 | 110 |
[%- IF SELF.all_departments.size %] |
101 |
<tr>
|
|
102 |
<th align="right">[% 'Department' | $T8 %]</th>
|
|
103 |
<td>
|
|
104 |
[% L.select_tag('reclamation.department_id', SELF.all_departments, default=SELF.reclamation.department_id, title_key='description', with_empty=1, style='width:300px') %]
|
|
105 |
</td>
|
|
106 |
</tr>
|
|
111 |
<tr> |
|
112 |
<th>[% 'Department' | $T8 %]</th>
|
|
113 |
<td> |
|
114 |
[% L.select_tag('reclamation.department_id', SELF.all_departments, default=SELF.reclamation.department_id, title_key='description', with_empty=1, class='wi-lightwide') %]
|
|
115 |
</td> |
|
116 |
</tr> |
|
107 | 117 |
[%- END %] |
108 | 118 |
|
109 |
<tr>
|
|
110 |
<th align="right">[% 'Shipping Point' | $T8 %]</th>
|
|
111 |
<td>[% L.input_tag('reclamation.shippingpoint', SELF.reclamation.shippingpoint, style='width: 300px') %]</td>
|
|
112 |
</tr>
|
|
119 |
<tr> |
|
120 |
<th>[% 'Shipping Point' | $T8 %]</th>
|
|
121 |
<td>[% L.input_tag('reclamation.shippingpoint', SELF.reclamation.shippingpoint, class='wi-lightwide') %]</td>
|
|
122 |
</tr> |
|
113 | 123 |
|
114 |
<tr>
|
|
115 |
<th align="right">[% 'Ship via' | $T8 %]</th>
|
|
116 |
<td>[% L.input_tag('reclamation.shipvia', SELF.reclamation.shipvia, style='width: 300px') %]</td>
|
|
117 |
</tr>
|
|
124 |
<tr> |
|
125 |
<th>[% 'Ship via' | $T8 %]</th>
|
|
126 |
<td>[% L.input_tag('reclamation.shipvia', SELF.reclamation.shipvia, class='wi-lightwide') %]</td>
|
|
127 |
</tr> |
|
118 | 128 |
|
119 |
<tr>
|
|
120 |
<th align="right">[% 'Transaction description' | $T8 %]</th>
|
|
121 |
<td>[% L.input_tag('reclamation.transaction_description', SELF.reclamation.transaction_description, 'data-validate'=INSTANCE_CONF.get_require_transaction_description_ps ? 'required' : '', style='width: 300px') %]</td>
|
|
122 |
</tr>
|
|
129 |
<tr> |
|
130 |
<th>[% 'Transaction description' | $T8 %]</th>
|
|
131 |
<td>[% L.input_tag('reclamation.transaction_description', SELF.reclamation.transaction_description, 'data-validate'=INSTANCE_CONF.get_require_transaction_description_ps ? 'required' : '', class='wi-lightwide') %]</td>
|
|
132 |
</tr> |
|
123 | 133 |
|
124 |
<tr>
|
|
125 |
<th align="right">[% 'Project Number' | $T8 %]</th>
|
|
126 |
<td>[% P.project.picker('reclamation.globalproject_id', SELF.reclamation.globalproject_id, style='width: 300px') %]</td>
|
|
127 |
</tr>
|
|
134 |
<tr> |
|
135 |
<th>[% 'Project Number' | $T8 %]</th>
|
|
136 |
<td>[% P.project.picker('reclamation.globalproject_id', SELF.reclamation.globalproject_id, class='wi-lightwide') %]</td>
|
|
137 |
</tr> |
|
128 | 138 |
|
129 |
</table> |
|
130 |
</td> |
|
139 |
</tbody> |
|
140 |
</table> |
|
141 |
|
|
142 |
<table class="tbl-horizontal col"> |
|
143 |
<caption>[% 'Terms' | $T8 %]</caption> |
|
144 |
<colgroup><col class="wi-mediumsmall"><col class="wi-lightwide"></colgroup> |
|
145 |
<tbody> |
|
146 |
<tr> |
|
147 |
<td colspan="2"> |
|
148 |
<span class="label above">[% 'Payment Terms' | $T8 %]</span> |
|
149 |
[% L.select_tag('reclamation.payment_id', |
|
150 |
SELF.all_payment_terms, |
|
151 |
default = SELF.reclamation.payment_id, |
|
152 |
with_empty = 1, |
|
153 |
title_key = 'description', |
|
154 |
class = 'wi-mediumsmall-lightwide') %] |
|
155 |
</td> |
|
156 |
</tr> |
|
157 |
<tr> |
|
158 |
<td colspan="2"> |
|
159 |
<span class="label above">[% 'Delivery Terms' | $T8 %]</span> |
|
160 |
[% L.select_tag('reclamation.delivery_term_id', |
|
161 |
SELF.all_delivery_terms, |
|
162 |
default = SELF.reclamation.delivery_term_id, |
|
163 |
with_empty = 1, |
|
164 |
title_key = 'description', |
|
165 |
class = 'wi-mediumsmall-lightwide') %] |
|
166 |
</td> |
|
167 |
</tr> |
|
168 |
|
|
169 |
<tr id="taxincluded_row_id" > |
|
170 |
<th>[%- IF !SELF.taxes.size %]<label for="reclamation.taxincluded">[% 'Tax Included' | $T8 %]</label>[%- END %]</th> |
|
171 |
<td>[%- IF !SELF.taxes.size %][% L.yes_no_tag('reclamation.taxincluded', SELF.reclamation.taxincluded, class='recalc') %][%- END %] |
|
172 |
</td> |
|
173 |
</tr> |
|
174 |
|
|
175 |
</tbody> |
|
176 |
</table> |
|
131 | 177 |
|
132 |
<td align="right"> |
|
133 |
<table> |
|
134 |
|
|
135 |
<tr> |
|
136 |
<td colspan="2" align="center"> |
|
137 |
[%- IF SELF.reclamation.id %] |
|
138 |
<label for="reclamation.delivered">[% 'Delivery Order(s) for full qty created' | $T8 %]</label> |
|
139 |
[% L.yes_no_tag('reclamation.delivered', SELF.reclamation.delivered) %] |
|
140 |
<label for="reclamation.closed">[% 'Closed' | $T8 %]</label> |
|
141 |
[% L.yes_no_tag('reclamation.closed', SELF.reclamation.closed) %] |
|
142 |
[%- END %] |
|
143 |
</td> |
|
144 |
</tr> |
|
145 |
|
|
146 |
<tr> |
|
147 |
<th align="right">[% 'Employee' | $T8 %]</th> |
|
148 |
<td>[% L.select_tag('reclamation.employee_id', |
|
149 |
SELF.all_employees, |
|
150 |
default=(SELF.reclamation.employee_id ? SELF.reclamation.employee_id : SELF.current_employee_id), |
|
151 |
title_key='safe_name') %]</td> |
|
152 |
</tr> |
|
153 |
|
|
154 |
[% IF SELF.cv == 'customer' %] |
|
155 |
<tr> |
|
156 |
<th align="right">[% 'Salesman' | $T8 %]</th> |
|
157 |
<td>[% L.select_tag('reclamation.salesman_id', |
|
158 |
SELF.all_salesmen, |
|
159 |
default=(SELF.reclamation.salesman_id ? SELF.reclamation.salesman_id : SELF.current_employee_id), |
|
160 |
title_key='safe_name') %]</td> |
|
161 |
</tr> |
|
162 |
[% END %] |
|
163 |
|
|
164 |
<tr> |
|
165 |
<th width="70%" align="right" nowrap>[% 'Reclamation Number' | $T8 %]</th> |
|
166 |
<td>[% L.input_tag('reclamation.record_number', SELF.reclamation.record_number, size = 11, onchange='kivi.Reclamation.set_number_in_title(this)') %]</td> |
|
167 |
</tr> |
|
168 |
|
|
169 |
<tr> |
|
170 |
<th width="70%" align="right" nowrap>[% 'Customer Record Number' | $T8 %]</th> |
|
171 |
<td>[% L.input_tag('reclamation.cv_record_number', SELF.reclamation.cv_record_number, size = 11) %]</td> |
|
172 |
</tr> |
|
173 |
|
|
174 |
<tr> |
|
175 |
<th width="70%" align="right" nowrap>[% 'Reclamation Date' | $T8 %]</th> |
|
176 |
<td>[% L.date_tag('reclamation.transdate_as_date', SELF.reclamation.transdate_as_date) %]</td> |
|
177 |
</tr> |
|
178 |
|
|
179 |
<tr> |
|
180 |
<th width="70%" align="right" nowrap>[% 'Tax point' | $T8 %]</th> |
|
181 |
<td>[% L.date_tag('reclamation.tax_point_as_date', SELF.reclamation.tax_point_as_date, class="recalc") %]</td> |
|
182 |
</tr> |
|
183 |
|
|
184 |
<tr> |
|
185 |
<th width="70%" align="right" nowrap>[% 'Deadline' | $T8 %]</th> |
|
186 |
<td>[% L.date_tag('reclamation.reqdate_as_date', SELF.reclamation.reqdate_as_date, class="recalc") %]</td> |
|
187 |
</tr> |
|
188 |
|
|
189 |
<tr> |
|
190 |
<th width="70%" align="right" nowrap>[% 'Insert Date' | $T8 %]</th> |
|
191 |
<td>[% SELF.reclamation.itime_as_date %]</td> |
|
192 |
</tr> |
|
193 |
|
|
194 |
</table> |
|
178 |
</div><!-- /.col --> |
|
195 | 179 |
|
180 |
<table class="tbl-horizontal col"> |
|
181 |
<caption>[% 'Notes' | $T8 %]</caption> |
|
182 |
<colgroup><col class="wi-wide"></colgroup> |
|
183 |
<tbody> |
|
184 |
<tr> |
|
185 |
<td class="wi-wide"> |
|
186 |
[% L.textarea_tag('reclamation.notes', SELF.reclamation.notes, wrap="soft", style="width: 350px; height: 150px", class="texteditor wi-wide") %] |
|
187 |
</td> |
|
188 |
</tr> |
|
189 |
<tr> |
|
190 |
<td> |
|
191 |
<span class="label above">[% 'Internal Notes' | $T8 %]</span> |
|
192 |
[% L.textarea_tag('reclamation.intnotes', SELF.reclamation.intnotes, wrap="soft", style="height: 150px", class="wi-wide") %] |
|
196 | 193 |
</td> |
197 | 194 |
</tr> |
198 |
</table> |
|
199 | 195 |
|
200 |
[%- PROCESS reclamation/tabs/basic_data/_item_input.html SELF=SELF %] |
|
196 |
</tbody> |
|
197 |
</table> |
|
201 | 198 |
|
202 |
[% L.button_tag('kivi.Reclamation.open_multi_items_dialog()', LxERP.t8('Add multiple items')) %] |
|
199 |
<table class="tbl-horizontal col"> |
|
200 |
<caption>[% 'Handling, Numbers & Dates' | $T8 %]</caption> |
|
201 |
<colgroup> <col class="wi-mediumsmall"><col class="wi-lightwide"> </colgroup> |
|
202 |
<tbody> |
|
203 | 203 |
|
204 |
<table width="100%">
|
|
204 |
[%- IF SELF.reclamation.id %]
|
|
205 | 205 |
<tr> |
206 |
<th> |
|
207 |
<label for="reclamation.delivered">[% 'Delivery Order(s) for full qty created' | $T8 %]</label> |
|
208 |
</th> |
|
206 | 209 |
<td> |
207 |
[%- IF SELF.positions_scrollbar_height -%] |
|
208 |
[%- SET scroll_style = 'style="overflow-y: auto; height:' _ SELF.positions_scrollbar_height _ 'vh;"' -%] |
|
209 |
[%- ELSE -%] |
|
210 |
[%- SET scroll_style = '' -%] |
|
211 |
[%- END -%] |
|
212 |
<div id="row_table_scroll_id" [%- scroll_style -%]> |
|
213 |
<table id="row_table_id" width="100%"> |
|
214 |
<thead> |
|
215 |
<tr class="listheading"> |
|
216 |
<th class="listheading" style='text-align:center' nowrap width="1"> |
|
217 |
[%- IF MYCONFIG.show_form_details %] |
|
218 |
[%- L.img_tag(src="image/collapse.svg", alt=LxERP.t8('Hide all details'), title=LxERP.t8('Hide all details'), id='expand_all', "data-expanded"="1") %] |
|
219 |
[%- ELSE %] |
|
220 |
[%- L.img_tag(src="image/expand.svg", alt=LxERP.t8('Show all details'), title=LxERP.t8('Show all details'), id='expand_all') %] |
|
221 |
[%- END %] |
|
222 |
</th> |
|
223 |
<th class="listheading" nowrap width="3" >[%- 'position' | $T8 %] </th> |
|
224 |
<th class="listheading" style='text-align:center' nowrap width="1"><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></th> |
|
225 |
<th class="listheading" style='text-align:center' nowrap width="1"><img src="image/close.png" alt="[%- LxERP.t8('delete item') %]"></th> |
|
226 |
[%- IF SELF.show_update_button -%] |
|
227 |
<th class="listheading" style='text-align:center' nowrap width="1"> |
|
228 |
[%- L.img_tag(src="image/rotate_cw.svg", |
|
229 |
alt=LxERP.t8('Update from master data'), |
|
230 |
title= LxERP.t8('Update from master data'), |
|
231 |
onclick="if (!confirm('" _ LxERP.t8("Are you sure to update all positions from master data?") _ "')) return false; kivi.Reclamation.update_all_rows_from_master_data();", |
|
232 |
id='update_from_master') %] |
|
233 |
</th> |
|
234 |
[%- END %] |
|
235 |
<th id="partnumber_header_id" class="listheading" nowrap width="15"><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("partnumber")'> [%- 'Partnumber' | $T8 %]</a></th> |
|
236 |
[%- IF SELF.search_cvpartnumber -%] |
|
237 |
<th id="cvpartnumber_header_id" class="listheading" nowrap width="15"><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("cvpartnumber")' > [%- SELF.cv == "customer" ? LxERP.t8('Customer Part Number') : LxERP.t8('Model') %]</a></th> |
|
238 |
[%- END -%] |
|
239 |
<th id="partclass_header_id" class="listheading" nowrap width="2">[%- 'Type' | $T8 %]</th> |
|
240 |
<th id="description_header_id" class="listheading" nowrap ><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("description")'>[%- 'Description' | $T8 %]</a></th> |
|
241 |
<th id="reason_header_id" class="listheading" nowrap width="100"><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("reason")'>[%- 'Reason' | $T8 %]</a></th> |
|
242 |
<th id="reason_description_ext_header_id" class="listheading" nowrap ><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("reason_description_ext")'>[%- 'Reason Description Extern' | $T8 %]</a></th> |
|
243 |
<th id="reason_description_int_header_id" class="listheading" nowrap ><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("reason_description_int")'>[%- 'Reason Description Intern' | $T8 %]</a></th> |
|
244 |
<th id="qty_header_id" class="listheading" nowrap width="5" ><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("qty")'> [%- 'Qty' | $T8 %]</a></th> |
|
245 |
<th class="listheading" nowrap width="5" >[%- 'Price Factor' | $T8 %] </th> |
|
246 |
<th class="listheading" nowrap width="5" >[%- 'Unit' | $T8 %] </th> |
|
247 |
<th class="listheading" nowrap width="5" >[%- 'Price Source' | $T8 %] </th> |
|
248 |
<th id="sellprice_header_id" class="listheading" nowrap width="15" ><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("sellprice")'> [%- 'Price' | $T8 %]</a></th> |
|
249 |
<th id="discount_header_id" class="listheading" nowrap width="15" ><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("discount")'> [%- 'Discount' | $T8 %]</a></th> |
|
250 |
<th class="listheading" nowrap width="10">[%- 'Extended' | $T8 %] </th> |
|
251 |
</tr> |
|
252 |
</thead> |
|
253 |
|
|
254 |
[%- FOREACH item = SELF.reclamation.items_sorted %] |
|
255 |
[%- PROCESS reclamation/tabs/basic_data/_row.html ITEM=item ID=(item.id||item.new_fake_id) -%] |
|
256 |
[%- END %] |
|
257 |
|
|
258 |
</table> |
|
259 |
</div> |
|
260 |
|
|
210 |
[% L.yes_no_tag('reclamation.delivered', SELF.reclamation.delivered, class="wi-small") %] |
|
261 | 211 |
</td> |
262 | 212 |
</tr> |
213 |
<tr> |
|
214 |
<th> |
|
215 |
<label for="reclamation.closed">[% 'Closed' | $T8 %]</label> |
|
216 |
</th> |
|
217 |
<td> |
|
218 |
[% L.yes_no_tag('reclamation.closed', SELF.reclamation.closed, class="wi-small") %] |
|
219 |
</td> |
|
220 |
</tr> |
|
221 |
[%- END %] |
|
263 | 222 |
|
264 | 223 |
<tr> |
224 |
<th>[% 'Employee' | $T8 %]</th> |
|
225 |
<td>[% L.select_tag('reclamation.employee_id', |
|
226 |
SELF.all_employees, |
|
227 |
default=(SELF.reclamation.employee_id ? SELF.reclamation.employee_id : SELF.current_employee_id), |
|
228 |
title_key='safe_name', |
|
229 |
class='wi-small', |
|
230 |
) %]</td> |
|
265 | 231 |
</tr> |
266 | 232 |
|
233 |
[% IF SELF.cv == 'customer' %] |
|
267 | 234 |
<tr> |
268 |
<td colspan="100%" width="100%"> |
|
269 |
<table width="100%"> |
|
270 |
<tr> |
|
271 |
<td> |
|
272 |
<table> |
|
273 |
<tr> |
|
274 |
<th align="left">[% 'Notes' | $T8 %]</th> |
|
275 |
<th align="left">[% 'Internal Notes' | $T8 %]</th> |
|
276 |
</tr> |
|
277 |
<tr valign="top"> |
|
278 |
<td> |
|
279 |
[% L.textarea_tag('reclamation.notes', SELF.reclamation.notes, wrap="soft", style="width: 350px; height: 150px", class="texteditor") %] |
|
280 |
</td> |
|
281 |
<td> |
|
282 |
[% L.textarea_tag('reclamation.intnotes', SELF.reclamation.intnotes, wrap="soft", style="width: 350px; height: 150px") %] |
|
283 |
</td> |
|
284 |
</tr> |
|
285 |
</table> |
|
286 |
</td> |
|
287 |
|
|
288 |
<td> |
|
289 |
<table> |
|
290 |
<tr> |
|
291 |
<th align="right">[% 'Payment Terms' | $T8 %]</th> |
|
292 |
<td>[% L.select_tag('reclamation.payment_id', |
|
293 |
SELF.all_payment_terms, |
|
294 |
default = SELF.reclamation.payment_id, |
|
295 |
with_empty = 1, |
|
296 |
title_key = 'description', |
|
297 |
style = 'width: 250px') %]</td> |
|
298 |
</tr> |
|
299 |
<tr> |
|
300 |
<th align="right">[% 'Delivery Terms' | $T8 %]</th> |
|
301 |
<td>[% L.select_tag('reclamation.delivery_term_id', |
|
302 |
SELF.all_delivery_terms, |
|
303 |
default = SELF.reclamation.delivery_term_id, |
|
304 |
with_empty = 1, |
|
305 |
title_key = 'description', |
|
306 |
style = 'width: 250px') %]</td> |
|
307 |
</tr> |
|
308 |
</table> |
|
309 |
</td> |
|
310 |
|
|
311 |
|
|
312 |
<td align="right"> |
|
313 |
<table> |
|
314 |
<tr id="taxincluded_row_id" [%- IF !SELF.taxes.size %]style="display:none"[%- END %]> |
|
315 |
<td align=right colspan="2"> |
|
316 |
<label for="reclamation.taxincluded"><b>[% 'Tax Included' | $T8 %]</b></label> |
|
317 |
[% L.yes_no_tag('reclamation.taxincluded', SELF.reclamation.taxincluded, class='recalc') %] |
|
318 |
</td> |
|
319 |
</tr> |
|
320 |
|
|
321 |
<tr id="subtotal_row_id" [%- IF SELF.reclamation.taxincluded %]style="display:none"[%- END %]> |
|
322 |
<th align="right">[%- 'Subtotal' | $T8 %]</th> |
|
323 |
<td align="right"> |
|
324 |
[%- L.div_tag(SELF.reclamation.netamount_as_number, id='netamount_id') %] |
|
325 |
</td> |
|
326 |
</tr> |
|
327 |
[%- FOREACH tax = SELF.reclamation.taxes %] |
|
328 |
[%- PROCESS reclamation/tabs/basic_data/_tax_row.html TAX=tax TAXINCLUDED=SELF.reclamation.taxincluded %] |
|
329 |
[%- END %] |
|
330 |
<tr id="amount_row_id"> |
|
331 |
<th align="right">[%- 'Total' | $T8 %]</th> |
|
332 |
<td align="right"> |
|
333 |
[%- L.div_tag(SELF.reclamation.amount_as_number, id='amount_id') %] |
|
334 |
</td> |
|
335 |
</tr> |
|
336 |
</table> |
|
337 |
</td> |
|
338 |
|
|
339 |
</tr> |
|
340 |
</table> |
|
341 |
</td> |
|
235 |
<th>[% 'Salesman' | $T8 %]</th> |
|
236 |
<td>[% L.select_tag('reclamation.salesman_id', |
|
237 |
SELF.all_salesmen, |
|
238 |
default=(SELF.reclamation.salesman_id ? SELF.reclamation.salesman_id : SELF.current_employee_id), |
|
239 |
title_key='safe_name', |
|
240 |
class='wi-small', |
|
241 |
) %]</td> |
|
242 |
</tr> |
|
243 |
[% END %] |
|
244 |
|
|
245 |
<tr> |
|
246 |
<th>[% 'Reclamation Number' | $T8 %]</th> |
|
247 |
<td>[% L.input_tag('reclamation.record_number', SELF.reclamation.record_number, onchange='kivi.Reclamation.set_number_in_title(this)', class='wi-small') %]</td> |
|
342 | 248 |
</tr> |
343 | 249 |
|
250 |
<tr> |
|
251 |
<th>[% 'Customer Record Number' | $T8 %]</th> |
|
252 |
<td>[% L.input_tag('reclamation.cv_record_number', SELF.reclamation.cv_record_number, class='wi-small') %]</td> |
|
253 |
</tr> |
|
254 |
|
|
255 |
<tr> |
|
256 |
<th>[% 'Reclamation Date' | $T8 %]</th> |
|
257 |
<td>[% L.date_tag('reclamation.transdate_as_date', SELF.reclamation.transdate_as_date, class='wi-date') %]</td> |
|
258 |
</tr> |
|
259 |
|
|
260 |
<tr> |
|
261 |
<th>[% 'Tax point' | $T8 %]</th> |
|
262 |
<td>[% L.date_tag('reclamation.tax_point_as_date', SELF.reclamation.tax_point_as_date, class="recalc", class='wi-date') %]</td> |
|
263 |
</tr> |
|
264 |
|
|
265 |
<tr> |
|
266 |
<th>[% 'Deadline' | $T8 %]</th> |
|
267 |
<td>[% L.date_tag('reclamation.reqdate_as_date', SELF.reclamation.reqdate_as_date, class="recalc", class='wi-date') %]</td> |
|
268 |
</tr> |
|
269 |
|
|
270 |
<tr> |
|
271 |
<th>[% 'Insert Date' | $T8 %]</th> |
|
272 |
<td><span class="data wi-small">[% SELF.reclamation.itime_as_date %]</span></td> |
|
273 |
</tr> |
|
274 |
|
|
275 |
</tbody> |
|
276 |
</table> |
|
277 |
|
|
278 |
</div><!-- /.wrapper --> |
|
279 |
|
|
280 |
|
|
281 |
[%- PROCESS reclamation/tabs/basic_data/_item_input.html SELF=SELF %] |
|
282 |
|
|
283 |
[%- IF SELF.positions_scrollbar_height -%] |
|
284 |
[%- SET scroll_style = 'style="overflow-y: auto; height:' _ SELF.positions_scrollbar_height _ 'vh;"' -%] |
|
285 |
[%- ELSE -%] |
|
286 |
[%- SET scroll_style = '' -%] |
|
287 |
[%- END -%] |
|
288 |
<div id="row_table_scroll_id" class="wrapper horizontal-scroll-wrapper" [%- scroll_style -%]> |
|
289 |
|
|
290 |
<table id="row_table_id" class="tbl-list"> |
|
291 |
<caption>[% 'Articles' | $T8 %]</caption> |
|
292 |
<thead> |
|
293 |
<tr> |
|
294 |
<th class="center"> |
|
295 |
[%- IF MYCONFIG.show_form_details %] |
|
296 |
[%- L.img_tag(src="image/collapse.svg", alt=LxERP.t8('Hide all details'), title=LxERP.t8('Hide all details'), id='expand_all', "data-expanded"="1") %] |
|
297 |
[%- ELSE %] |
|
298 |
[%- L.img_tag(src="image/expand.svg", alt=LxERP.t8('Show all details'), title=LxERP.t8('Show all details'), id='expand_all') %] |
|
299 |
[%- END %] |
|
300 |
</th> |
|
301 |
<th>[% 'position' | $T8 %] </th> |
|
302 |
<th style='text-align:center'><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></th> |
|
303 |
<th style='text-align:center'><img src="image/close.png" alt="[%- LxERP.t8('delete item') %]"></th> |
|
304 |
[%- IF SELF.show_update_button -%] |
|
305 |
<th style='text-align:center'> |
|
306 |
[%- L.img_tag(src="image/rotate_cw.svg", |
|
307 |
alt=LxERP.t8('Update from master data'), |
|
308 |
title= LxERP.t8('Update from master data'), |
|
309 |
onclick="if (!confirm('" _ LxERP.t8("Are you sure to update all positions from master data?") _ "')) return false; kivi.Reclamation.update_all_rows_from_master_data();", |
|
310 |
id='update_from_master', |
|
311 |
class='expand', |
|
312 |
) %] |
|
313 |
</th> |
|
314 |
[%- END %] |
|
315 |
<th id="partnumber_header_id"><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("partnumber")'> [%- 'Partnumber' | $T8 %]</a></th> |
|
316 |
[%- IF SELF.search_cvpartnumber -%] |
|
317 |
<th id="cvpartnumber_header_id"><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("cvpartnumber")' > [%- SELF.cv == "customer" ? LxERP.t8('Customer Part Number') : LxERP.t8('Model') %]</a></th> |
|
318 |
[%- END -%] |
|
319 |
<th id="partclass_header_id">[%- 'Type' | $T8 %]</th> |
|
320 |
<th id="description_header_id"><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("description")'>[%- 'Description' | $T8 %]</a></th> |
|
321 |
<th id="reason_header_id"><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("reason")'>[%- 'Reason' | $T8 %]</a></th> |
|
322 |
<th id="reason_description_ext_header_id"><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("reason_description_ext")'>[%- 'Reason Description Extern' | $T8 %]</a></th> |
|
323 |
<th id="reason_description_int_header_id"><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("reason_description_int")'>[%- 'Reason Description Intern' | $T8 %]</a></th> |
|
324 |
<th id="qty_header_id"><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("qty")'> [%- 'Qty' | $T8 %]</a></th> |
|
325 |
<th class="listheading">[%- 'Price Factor' | $T8 %] </th> |
|
326 |
<th class="listheading">[%- 'Unit' | $T8 %] </th> |
|
327 |
<th class="listheading">[%- 'Price Source' | $T8 %] </th> |
|
328 |
<th id="sellprice_header_id"><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("sellprice")'> [%- 'Price' | $T8 %]</a></th> |
|
329 |
<th id="discount_header_id"><a href='#' onClick='javascript:kivi.Reclamation.reorder_items("discount")'> [%- 'Discount' | $T8 %]</a></th> |
|
330 |
<th>[%- 'Extended' | $T8 %] </th> |
|
331 |
</tr> |
|
332 |
</thead> |
|
333 |
|
|
334 |
[%- FOREACH item = SELF.reclamation.items_sorted %] |
|
335 |
[%- PROCESS reclamation/tabs/basic_data/_row.html ITEM=item ID=(item.id||item.new_fake_id) -%] |
|
336 |
[%- END %] |
|
337 |
|
|
338 |
<tfoot> |
|
339 |
<tr id="subtotal_row_id"> |
|
340 |
<td colspan="13"></td> |
|
341 |
<th colspan="3">[%- 'Subtotal' | $T8 %]</th> |
|
342 |
<td class="numeric">[% IF SELF.reclamation.taxincluded %][%- L.div_tag(SELF.reclamation.netamount_as_number, id='netamount_id') %][% END %]</td> |
|
343 |
</tr> |
|
344 |
[%- FOREACH tax = SELF.reclamation.taxes %] |
|
345 |
[%- PROCESS reclamation/tabs/basic_data/_tax_row.html TAX=tax TAXINCLUDED=SELF.reclamation.taxincluded %] |
|
346 |
[%- END %] |
|
347 |
<tr id="amount_row_id"> |
|
348 |
<td colspan="13"></td> |
|
349 |
<th colspan="3">[%- 'Total' | $T8 %]</th> |
|
350 |
<td class="numeric"> |
|
351 |
[%- L.div_tag(SELF.reclamation.amount_as_number, id='amount_id') %] |
|
352 |
</td> |
|
353 |
</tr> |
|
354 |
</tfoot> |
|
355 |
|
|
344 | 356 |
</table> |
357 |
</div><!-- /#row_table_scroll_id /.wrapper --> |
|
345 | 358 |
|
346 |
</div> |
|
359 |
</div><!-- /#ui-tabs-basic-data -->
|
|
347 | 360 |
|
348 | 361 |
[% L.sortable_element('#row_table_id') %] |
templates/design40_webpages/reclamation/tabs/basic_data/_business_info_row.html | ||
---|---|---|
1 | 1 |
[%- USE T8 %][%- USE HTML %] |
2 | 2 |
|
3 | 3 |
<tr id='business_info_row' [%- IF !SELF.reclamation.customervendor.business_id %]style='display:none'[%- END %]> |
4 |
<th align="right">[%- IF SELF.cv == 'customer' -%] |
|
5 |
[%- 'Customer type' | $T8 -%] |
|
6 |
[%- ELSE -%] |
|
7 |
[%- 'Vendor type' | $T8 -%] |
|
8 |
[%- END -%]</th> |
|
9 |
<td>[% HTML.escape(SELF.reclamation.customervendor.business.description) %]; [% 'Trade Discount' | $T8 %] [% SELF.reclamation.customervendor.business.discount_as_percent %] %</td> |
|
4 |
<th> |
|
5 |
[%- IF SELF.cv == 'customer' -%] |
|
6 |
[%- 'Customer type' | $T8 -%] |
|
7 |
[%- ELSE -%] |
|
8 |
[%- 'Vendor type' | $T8 -%] |
|
9 |
[%- END -%] |
|
10 |
</th> |
|
11 |
<td><span class="plain-data wi-lightwide">[% HTML.escape(SELF.reclamation.customervendor.business.description) %] ([% 'Trade Discount' | $T8 %] [% SELF.reclamation.customervendor.business.discount_as_percent %]%)</span></td> |
|
10 | 12 |
</tr> |
templates/design40_webpages/reclamation/tabs/basic_data/_item_input.html | ||
---|---|---|
1 | 1 |
[%- USE T8 %][%- USE HTML %][%- USE LxERP %][%- USE L %][%- USE P %] |
2 | 2 |
|
3 |
<div> |
|
4 |
<table id="input_row_table_id"> |
|
5 |
<thead> |
|
6 |
<tr class="listheading"> |
|
7 |
<th class="listheading" nowrap >[%- '+' | $T8 %] </th> |
|
8 |
<th class="listheading" nowrap >[%- 'position' | $T8 %] </th> |
|
9 |
<th class="listheading" nowrap >[%- 'Part' | $T8 %] </th> |
|
10 |
<th class="listheading" nowrap >[%- 'Description' | $T8 %] </th> |
|
11 |
<th class="listheading" nowrap width="5" >[%- 'Qty' | $T8 %] </th> |
|
12 |
<th class="listheading" nowrap width="15">[%- 'Price' | $T8 %] </th> |
|
13 |
<th class="listheading" nowrap width="5" >[%- 'Discount' | $T8 %] </th> |
|
14 |
<th></th> |
|
15 |
</tr> |
|
16 |
</thead> |
|
17 |
<tbody> |
|
18 |
<tr valign="top" class="listrow"> |
|
19 |
<td class="tooltipster-html" title="[%- 'Create a new part' | $T8 -%]"> |
|
20 |
[% SET type_options = [[ 'part', LxERP.t8('Part') ], [ 'assembly', LxERP.t8('Assembly') ], [ 'service', LxERP.t8('Service') ] ] %] |
|
21 |
[%- IF INSTANCE_CONF.get_feature_experimental_assortment %] |
|
22 |
[%- type_options.push([ 'assortment', LxERP.t8('Assortment')]) %] |
|
23 |
[%- END %] |
|
24 |
[% L.select_tag('add_item.create_part_type', type_options) %] |
|
25 |
[% L.button_tag('kivi.Reclamation.create_part()', LxERP.t8('+')) %] |
|
26 |
</td> |
|
27 |
<td>[% L.input_tag('add_item.position', '', size = 5, class="add_item_input numeric") %]</td> |
|
28 |
<td> |
|
29 |
[%- SET PARAM_KEY = SELF.cv == "customer" ? 'with_customer_partnumber' : 'with_makemodel' -%] |
|
30 |
[%- SET PARAM_VAL = SELF.search_cvpartnumber -%] |
|
31 |
[% P.part.picker('add_item.parts_id', SELF.created_part, style='width: 300px', class="add_item_input", |
|
32 |
fat_set_item=1, |
|
33 |
multiple_pos_input=1, |
|
34 |
action={set_multi_items='kivi.Reclamation.add_multi_items'}, |
|
35 |
classification_id=SELF.part_picker_classification_ids.as_list.join(','), |
|
36 |
$PARAM_KEY=PARAM_VAL) %]</td> |
|
37 |
<td>[% L.input_tag('add_item.description', SELF.created_part.description, class="add_item_input") %]</td> |
|
38 |
<td> |
|
39 |
[% L.input_tag('add_item.qty_as_number', '', size = 5, class="add_item_input numeric") %] |
|
40 |
[% L.hidden_tag('add_item.unit', SELF.created_part.unit, class="add_item_input") %] |
|
41 |
</td> |
|
42 |
[%- SET price = LxERP.format_amount(((SELF.type == 'sales_reclamation') ? SELF.created_part.sellprice : SELF.created_part.lastcost), -2) -%] |
|
43 |
<td>[% L.input_tag('add_item.sellprice_as_number', price, size = 10, class="add_item_input numeric") %]</td> |
|
44 |
<td>[% L.input_tag('add_item.discount_as_percent', '', size = 5, class="add_item_input numeric") %]</td> |
|
45 |
<td>[% L.button_tag('kivi.Reclamation.add_item()', LxERP.t8('Add part')) %]</td> |
|
46 |
</tr> |
|
47 |
</tbody> |
|
48 |
</table> |
|
49 |
</div> |
|
3 |
|
|
4 |
<div class="wrapper"> |
|
5 |
<div class="input-panel control-panel"> |
|
6 |
<table id="input_row_table_id" class="tbl-plain condensed"> |
|
7 |
<caption>[% 'Add Parts here!' | $T8 %]</caption> |
|
8 |
<tbody> |
|
9 |
<tr> |
|
10 |
<td> |
|
11 |
<span class="label above">[% 'position' | $T8 %] </span> |
|
12 |
[% L.input_tag('add_item.position', '', size = 5, class="add_item_input numeric") %] |
|
13 |
</td> |
|
14 |
<td> |
|
15 |
<span class="label above">[% 'Part' | $T8 %] </span> |
|
16 |
[%- SET PARAM_KEY = SELF.cv == "customer" ? 'with_customer_partnumber' : 'with_makemodel' -%] |
|
17 |
[%- SET PARAM_VAL = SELF.search_cvpartnumber -%] |
|
18 |
[% P.part.picker('add_item.parts_id', SELF.created_part, style='width: 300px', class="add_item_input", |
|
19 |
fat_set_item=1, |
|
20 |
multiple_pos_input=1, |
|
21 |
action={set_multi_items='kivi.Reclamation.add_multi_items'}, |
|
22 |
classification_id=SELF.part_picker_classification_ids.as_list.join(','), |
|
23 |
$PARAM_KEY=PARAM_VAL) %]</td> |
|
24 |
<td> |
|
25 |
<span class="label above">[% 'Qty' | $T8 %]</span> |
|
26 |
[% L.input_tag('add_item.description', SELF.created_part.description, class="add_item_input") %] |
|
27 |
</td> |
|
28 |
<td> |
|
29 |
<span class="label above">[% 'Qty' | $T8 %]</span> |
|
30 |
[% L.input_tag('add_item.qty_as_number', '', size = 5, class="add_item_input numeric") %] |
|
31 |
[% L.hidden_tag('add_item.unit', SELF.created_part.unit, class="add_item_input") %] |
|
32 |
</td> |
|
33 |
[%- SET price = LxERP.format_amount(((SELF.type == 'sales_reclamation') ? SELF.created_part.sellprice : SELF.created_part.lastcost), -2) -%] |
|
34 |
<td> |
|
35 |
<span class="label above">[% 'Price' | $T8 %]</span> |
|
36 |
[% L.input_tag('add_item.sellprice_as_number', price, size = 10, class="add_item_input numeric") %] |
|
37 |
</td> |
|
38 |
<td> |
|
39 |
<span class="label above">[% 'Discount' | $T8 %]</span> |
|
40 |
[% L.input_tag('add_item.discount_as_percent', '', size = 5, class="add_item_input numeric") %] |
|
41 |
</td> |
|
42 |
<td style="vertical-align:bottom;"> |
|
43 |
[% L.button_tag('kivi.Reclamation.add_item()', LxERP.t8('Add part')) %] |
|
44 |
</td> |
|
45 |
</tr> |
|
46 |
</tbody> |
|
47 |
</table> |
|
48 |
<div style="clear:both">[% L.button_tag('kivi.Reclamation.open_multi_items_dialog()', LxERP.t8('Add multiple items'), class="neutral") %]</div> |
|
49 |
</div><!-- /.entry-panel --> |
|
50 |
|
|
51 |
<div class="input-panel control-panel"> |
|
52 |
<table id="create_part_table_id" class="tbl-plain condensed"> |
|
53 |
<caption>[% 'Create a new part' | $T8 %]!</caption> |
|
54 |
<tbody> |
|
55 |
<tr> |
|
56 |
<td class="tooltipster-html" title="[%- 'Create a new part' | $T8 -%]"> |
|
57 |
<span class="label above">[% 'Part Type' | $T8 %] </span> |
|
58 |
[% SET type_options = [[ 'part', LxERP.t8('Part') ], [ 'assembly', LxERP.t8('Assembly') ], [ 'service', LxERP.t8('Service') ] ] %] |
|
59 |
[%- IF INSTANCE_CONF.get_feature_experimental_assortment %] |
|
60 |
[%- type_options.push([ 'assortment', LxERP.t8('Assortment')]) %] |
|
61 |
[%- END %] |
|
62 |
[% L.select_tag('add_item.create_part_type', type_options) %] |
|
63 |
[% L.button_tag('kivi.Reclamation.create_part()', LxERP.t8('+')) %] |
|
64 |
</td> |
|
65 |
</tr> |
|
66 |
</tbody> |
|
67 |
</table> |
|
68 |
<!-- same space as 'Add multiple items' button --> |
|
69 |
<div style="clear:both;height:15.6pt"> |
|
70 |
|
|
71 |
</div> |
|
72 |
</div><!-- /.entry-panel --> |
|
73 |
|
|
74 |
</div><!-- /.wrapper --> |
templates/design40_webpages/reclamation/tabs/basic_data/_price_sources_dialog.html | ||
---|---|---|
18 | 18 |
[% SET exfactor = price_source.record.exchangerate ? 1 / price_source.record.exchangerate : 1 %] |
19 | 19 |
[% SET exnoshow = price_source.record.currency_id==INSTANCE_CONF.get_currency_id %] |
20 | 20 |
[% SET places = exnoshow ? -2 : 5 %] |
21 |
<h2>[% 'Prices' | $T8 %]</h2>
|
|
21 |
<h2>[% 'Prices' | $T8 %]</h2> |
|
22 | 22 |
|
23 |
<table> |
|
24 |
<tr class='listheading'> |
|
23 |
<table class="tbl-list"> |
|
24 |
<thead> |
|
25 |
<tr> |
|
25 | 26 |
<th></th> |
26 | 27 |
<th>[% 'Price Source' | $T8 %]</th> |
27 | 28 |
<th>[% 'Price' | $T8 %]</th> |
... | ... | |
31 | 32 |
<th>[% 'Best Price' | $T8 %]</th> |
32 | 33 |
<th>[% 'Details' | $T8 %]</th> |
33 | 34 |
</tr> |
34 |
<tr class='listrow'>
|
|
35 |
<tr> |
|
35 | 36 |
[%- IF price_source.record_item.active_price_source %] |
36 |
<td>[% L.button_tag('kivi.Reclamation.update_price_source(\'' _ FORM.item_id _ '\', \'\', \'' _ LxERP.t8('None (PriceSource)') _ '\', \'\', ' _ price_editable _ ')', LxERP.t8('Select')) %]</td> |
|
37 |
<td> |
|
38 |
<!-- TODO(Tamino): Was soll gemacht werden? --> |
|
39 |
<a class="button neutral" onclick="kivi.Reclamation.update_price_source('[% FORM.item_id %]', '', '[% LxERP.t8('None (PriceSource)') %]' , '', [% price_editable %])">[% LxERP.t8('Select') %] </a> |
|
40 |
[% # L.button_tag('kivi.Reclamation.update_price_source(\'' _ FORM.item_id _ '\', \'\', \'' _ LxERP.t8('None (PriceSource)') _ '\', \'\', ' _ price_editable _ ')', LxERP.t8('Select'), class="button neutral") %] |
|
41 |
</td> |
|
37 | 42 |
[%- ELSE %] |
38 | 43 |
<td><b>[% 'Selected' | $T8 %]</b></td> |
39 | 44 |
[%- END %] |
... | ... | |
43 | 48 |
<td></td> |
44 | 49 |
<td></td> |
45 | 50 |
</tr> |
51 |
</thead> |
|
52 |
<tbody> |
|
46 | 53 |
[%- FOREACH price IN price_source.available_prices %] |
47 |
<tr class='listrow'>
|
|
54 |
<tr> |
|
48 | 55 |
[%- IF price_source.record_item.active_price_source != price.source %] |
49 |
<td>[% L.button_tag('kivi.Reclamation.update_price_source(\'' _ FORM.item_id _ '\', \'' _ price.source _ '\', \'' _ price.source_description _ '\', \'' _ LxERP.format_amount(price.price * exfactor, places) _ '\', ' _ price_editable _ ')', LxERP.t8('Select')) %]</td> |
|
56 |
<td>[% L.button_tag('kivi.Reclamation.update_price_source(\'' _ FORM.item_id _ '\', \'' _ price.source _ '\', \'' _ price.source_description _ '\', \'' _ LxERP.format_amount(price.price * exfactor, places) _ '\', ' _ price_editable _ ')', LxERP.t8('Select'), class="button neutral") %]</td>
|
|
50 | 57 |
[%- ELSIF price_source.record_item.sellprice * 1 != price.price * 1 %] |
51 |
<td>[% L.button_tag('kivi.Reclamation.update_price_source(\'' _ FORM.item_id _ '\', \'' _ price.source _ '\', \'' _ price.source_description _ '\', \'' _ LxERP.format_amount(price.price * exfactor, places) _ '\', ' _ price_editable _ ')', LxERP.t8('Update Price')) %]</td> |
|
58 |
<td>[% L.button_tag('kivi.Reclamation.update_price_source(\'' _ FORM.item_id _ '\', \'' _ price.source _ '\', \'' _ price.source_description _ '\', \'' _ LxERP.format_amount(price.price * exfactor, places) _ '\', ' _ price_editable _ ')', LxERP.t8('Update Price'), class="button neutral") %]</td>
|
|
52 | 59 |
[%- ELSE %] |
53 | 60 |
<td><b>[% 'Selected' | $T8 %]</b></td> |
54 | 61 |
[% END %] |
... | ... | |
65 | 72 |
<td>[% price.description | html %]</td> |
66 | 73 |
</tr> |
67 | 74 |
[%- END %] |
68 |
</table> |
|
75 |
</tbody> |
|
76 |
</table> |
|
69 | 77 |
|
70 |
<h2>[% 'Discounts' | $T8 %]</h2>
|
|
78 |
<h2>[% 'Discounts' | $T8 %]</h2> |
|
71 | 79 |
|
72 |
<table> |
|
73 |
<tr class='listheading'> |
|
80 |
<table class="tbl-list"> |
|
81 |
<thead> |
|
82 |
<tr> |
|
74 | 83 |
<th></th> |
75 | 84 |
<th>[% 'Price Source' | $T8 %]</th> |
76 | 85 |
<th>[% 'Discount' | $T8 %]</th> |
77 | 86 |
<th>[% 'Best Discount' | $T8 %]</th> |
78 | 87 |
<th>[% 'Details' | $T8 %]</th> |
79 | 88 |
</tr> |
80 |
<tr class='listrow'> |
|
89 |
</thead> |
|
90 |
<tbody> |
|
91 |
<tr> |
|
81 | 92 |
[%- IF price_source.record_item.active_discount_source %] |
82 | 93 |
<td>[% L.button_tag('kivi.Reclamation.update_discount_source(\'' _ FORM.item_id _ '\', \'\', \'' _ LxERP.t8('None (PriceSource Discount)') _ '\', \'\', ' _ price_editable _ ')', LxERP.t8('Select')) %]</td> |
83 | 94 |
[%- ELSE %] |
... | ... | |
89 | 100 |
<td></td> |
90 | 101 |
</tr> |
91 | 102 |
[%- FOREACH price IN price_source.available_discounts %] |
92 |
<tr class='listrow'>
|
|
103 |
<tr> |
|
93 | 104 |
[%- IF price_source.record_item.active_discount_source != price.source %] |
94 | 105 |
<td>[% L.button_tag('kivi.Reclamation.update_discount_source(\'' _ FORM.item_id _ '\', \'' _ price.source _ '\', \'' _ price.source_description _ '\', \'' _ price.discount_as_percent _ '\', ' _ price_editable _ ')', LxERP.t8('Select')) %]</td> |
95 | 106 |
[%- ELSIF price_source.record_item.discount * 1 != price.discount * 1 %] |
... | ... | |
100 | 111 |
<td>[% price.source_description | html %]</td> |
101 | 112 |
<td>[% price.discount_as_percent %] %</td> |
102 | 113 |
[% IF price.source == best_discount.source %] |
103 |
<td align='center'>•</td>
|
|
114 |
<td>•</td> |
|
104 | 115 |
[% ELSE %] |
105 | 116 |
<td></td> |
106 | 117 |
[% END %] |
107 | 118 |
<td>[% price.description | html %]</td> |
108 | 119 |
</tr> |
109 | 120 |
[%- END %] |
110 |
</table> |
|
121 |
</tbody> |
|
122 |
</table> |
templates/design40_webpages/reclamation/tabs/basic_data/_row.html | ||
---|---|---|
12 | 12 |
[% L.hidden_tag("converted_from_record_item_ids[+]", ITEM.converted_from_record_item_id) %] |
13 | 13 |
[% L.hidden_tag("reclamation.reclamation_items[+].id", ITEM.id, id='item_' _ ID) %] |
14 | 14 |
[% L.hidden_tag("reclamation.reclamation_items[].parts_id", ITEM.parts_id) %] |
15 |
<td align="center">
|
|
15 |
<td> |
|
16 | 16 |
[%- IF MYCONFIG.show_form_details %] |
17 | 17 |
[% L.img_tag(src="image/collapse.svg", |
18 | 18 |
alt=LxERP.t8('Hide details'), title=LxERP.t8('Hide details'), class="expand") %] |
... | ... | |
22 | 22 |
[%- END %] |
23 | 23 |
</td> |
24 | 24 |
<td> |
25 |
<div name="position" class="numeric">
|
|
25 |
<div name="position" class="center">
|
|
26 | 26 |
[% HTML.escape(ITEM.position) %] |
27 | 27 |
</div> |
28 | 28 |
</td> |
29 | 29 |
<td align="center"> |
30 | 30 |
<img src="image/updown.png" alt="[%- LxERP.t8('reclamation item') %]" class="dragdrop"> |
31 | 31 |
</td> |
32 |
<td align="center">
|
|
32 |
<td> |
|
33 | 33 |
[%- L.button_tag("kivi.Reclamation.delete_reclamation_item_row(this)", |
34 | 34 |
LxERP.t8("X"), |
35 | 35 |
confirm=LxERP.t8("Are you sure?")) %] |
36 | 36 |
</td> |
37 | 37 |
[%- IF SELF.show_update_button -%] |
38 |
<td align="center">
|
|
38 |
<td> |
|
39 | 39 |
[%- L.img_tag(src="image/rotate_cw.svg", |
40 | 40 |
alt=LxERP.t8('Update from master data'), |
41 | 41 |
title= LxERP.t8('Update from master data'), |
42 | 42 |
onclick="if (!confirm('" _ LxERP.t8("Are you sure to update this position from master data?") _ "')) return false; kivi.Reclamation.update_row_from_master_data(this);", |
43 |
id='update_from_master') %] |
|
43 |
id='update_from_master', |
|
44 |
class="expand", |
|
45 |
) %] |
|
44 | 46 |
</td> |
45 | 47 |
[%- END -%] |
46 | 48 |
<td> |
... | ... | |
60 | 62 |
[% L.areainput_tag("reclamation.reclamation_items[].description", |
61 | 63 |
ITEM.description, |
62 | 64 |
size='40', |
63 |
style='width: 300px') %]
|
|
65 |
class='wi-lightwide') %]
|
|
64 | 66 |
[%- L.hidden_tag("reclamation.reclamation_items[].longdescription", ITEM.longdescription) %] |
65 |
[%- L.button_tag("kivi.Reclamation.show_longdescription_dialog(this)", LxERP.t8("L")) %] |
|
67 |
[%- L.button_tag("kivi.Reclamation.show_longdescription_dialog(this)", LxERP.t8("L"), class="wi-tiny neutral") %]
|
|
66 | 68 |
</td> |
67 | 69 |
<td>[% L.select_tag("reclamation.reclamation_items[].reason_id", |
68 | 70 |
SELF.reclamation.valid_reclamation_reasons, |
69 | 71 |
default=ITEM.reason_id, |
70 | 72 |
title_key = 'name', |
71 | 73 |
value_key = 'id', |
72 |
with_empty=1,) %] |
|
74 |
with_empty=1, |
|
75 |
class="wi-small", |
|
76 |
) %] |
|
73 | 77 |
</td> |
74 | 78 |
<td> |
75 | 79 |
[% L.areainput_tag("reclamation.reclamation_items[].reason_description_ext", |
76 |
ITEM.reason_description_ext, |
|
77 |
size='40',
|
|
78 |
style='width: 150px') %]
|
|
80 |
ITEM.reason_description_ext,
|
|
81 |
class="wi-mediumsmall",
|
|
82 |
) %]
|
|
79 | 83 |
</td> |
80 | 84 |
<td> |
81 | 85 |
[% L.areainput_tag("reclamation.reclamation_items[].reason_description_int", |
82 |
ITEM.reason_description_int, |
|
83 |
size='40',
|
|
84 |
style='width: 150px') %]
|
|
86 |
ITEM.reason_description_int,
|
|
87 |
class="wi-mediumsmall",
|
|
88 |
) %]
|
|
85 | 89 |
</td> |
86 |
<td nowrap>
|
|
90 |
<td> |
|
87 | 91 |
[%- L.input_tag("reclamation.reclamation_items[].qty_as_number", |
88 | 92 |
ITEM.qty_as_number, |
89 | 93 |
size = 5, |
90 |
class="recalc reformat_number numeric") %] |
|
94 |
class="recalc reformat_number numeric wi-verysmall") %]
|
|
91 | 95 |
[%- IF ITEM.part.formel -%] |
92 |
[%- L.button_tag("kivi.Reclamation.show_calculate_qty_dialog(this)", LxERP.t8("*/")) %] |
|
96 |
[%- L.button_tag("kivi.Reclamation.show_calculate_qty_dialog(this)", LxERP.t8("*/"), class="neutral") %]
|
|
93 | 97 |
[%- L.hidden_tag("formula[+]", ITEM.part.formel) -%] |
94 | 98 |
[%- END -%] |
95 | 99 |
</td> |
... | ... | |
99 | 103 |
default = ITEM.price_factor_id, |
100 | 104 |
title_key = 'description', |
101 | 105 |
with_empty = 1, |
102 |
class="recalc") %] |
|
106 |
class="recalc wi-mediumsmall") %]
|
|
103 | 107 |
</td> |
104 |
<td nowrap>
|
|
108 |
<td> |
|
105 | 109 |
[%- L.select_tag("reclamation.reclamation_items[].unit", |
106 | 110 |
ITEM.part.available_units, |
107 | 111 |
default = ITEM.unit, |
108 | 112 |
title_key = 'name', |
109 | 113 |
value_key = 'name', |
110 |
class = 'unitselect') %] |
|
114 |
class = 'unitselect wi-mediumsmall') %]
|
|
111 | 115 |
</td> |
112 | 116 |
<td> |
113 | 117 |
[%- SET EDIT_PRICE_SOURCE = !(ITEM.is_linked_to_record) %] |
114 | 118 |
<div name="editable_price_source" [%- IF !EDIT_PRICE_SOURCE %]style="display:none"[%- END %]> |
115 | 119 |
[%- L.button_tag("kivi.Reclamation.price_chooser_item_row(this)", |
116 | 120 |
ITEM.active_price_source.source_description _ ' | ' _ ITEM.active_discount_source.source_description, |
117 |
name = "price_chooser_button") %] |
|
121 |
name = "price_chooser_button", |
|
122 |
class = "neutral", |
|
123 |
) %] |
|
118 | 124 |
</div> |
119 | 125 |
<div name="not_editable_price_source" [%- IF EDIT_PRICE_SOURCE %]style="display:none"[%- END %]> |
120 | 126 |
[%- L.div_tag(ITEM.active_price_source.description _ ' | ' _ ITEM.active_discount_source.source_description, style="white-space:nowrap;") %] |
... | ... | |
135 | 141 |
ITEM.sellprice_as_number, |
136 | 142 |
size = 10, |
137 | 143 |
disabled=(EDIT_PRICE? '' : 1), |
138 |
class="recalc reformat_number numeric") %] |
|
144 |
class="recalc reformat_number numeric wi-verysmall") %]
|
|
139 | 145 |
</div> |
140 | 146 |
<div name="not_editable_price" [%- IF EDIT_PRICE %]style="display:none"[%- END %]> |
141 |
[%- L.div_tag(ITEM.sellprice_as_number, name="sellprice_text", class="numeric") %] |
|
147 |
[%- L.div_tag(ITEM.sellprice_as_number, name="sellprice_text", class="numeric plain-data") %]
|
|
142 | 148 |
[%- L.hidden_tag("reclamation.reclamation_items[].sellprice_as_number", |
143 | 149 |
ITEM.sellprice_as_number, |
144 | 150 |
disabled=(EDIT_PRICE? 1 : '')) %] |
... | ... | |
161 | 167 |
disabled=(EDIT_DISCOUNT? 1 : '')) %] |
162 | 168 |
</div> |
163 | 169 |
</td> |
164 |
<td align="right">
|
|
170 |
<td> |
|
165 | 171 |
[%- L.div_tag(LxERP.format_amount(ITEM.linetotal, 2, 0), name="linetotal") %] |
166 | 172 |
</td> |
167 | 173 |
|
templates/design40_webpages/reclamation/tabs/basic_data/_second_row.html | ||
---|---|---|
5 | 5 |
[%- USE P %] |
6 | 6 |
|
7 | 7 |
<table> |
8 |
<tr><td colspan="100%"> |
|
8 |
<tr> |
|
9 |
<td> |
|
9 | 10 |
<b>[%- 'Serial No.' | $T8 %]</b> |
10 | 11 |
[%- L.input_tag("reclamation.reclamation_items[].serialnumber", ITEM.serialnumber, size = 15) %] |
11 | 12 |
<b>[%- 'Project' | $T8 %]</b> |
... | ... | |
25 | 26 |
<span[%- IF ITEM.part.onhand < ITEM.part.rop -%] class="numeric plus0"[%- END -%]> |
26 | 27 |
[%- ITEM.part.onhand_as_number -%] [%- ITEM.part.unit -%] |
27 | 28 |
</span> |
28 |
</td></tr> |
|
29 |
</td> |
|
30 |
</tr> |
|
29 | 31 |
|
30 | 32 |
<tr> |
31 | 33 |
[%- SET n = 0 %] |
templates/design40_webpages/reclamation/tabs/basic_data/_tax_row.html | ||
---|---|---|
4 | 4 |
[%- USE L %] |
5 | 5 |
|
6 | 6 |
<tr class="tax_row"> |
7 |
<th align="right">[%- IF TAXINCLUDED %][%- 'Including' | $T8 %] [%- END %][%- TAX.tax.taxdescription %] [% TAX.tax.rate_as_percent %]%</th> |
|
8 |
<td align="right">[%- LxERP.format_amount(TAX.amount, 2, 0) %]</td> |
|
7 |
<td colspan="13"></td> |
|
8 |
<th colspan="3">[%- IF TAXINCLUDED %][%- 'Including' | $T8 %] [%- END %][%- TAX.tax.taxdescription %] [% TAX.tax.rate_as_percent %]%</th> |
|
9 |
<td class="numeric">[%- LxERP.format_amount(TAX.amount, 2, 0) %]</td> |
|
9 | 10 |
</tr> |
10 | 11 |
[%- IF TAXINCLUDED %] |
11 | 12 |
<tr class="tax_row"> |
12 |
<th align="right">[%- 'Net amount' | $T8 %]</th> |
|
13 |
<td align="right">[%- LxERP.format_amount(TAX.netamount, 2, 0) %]</td> |
|
13 |
<td colspan="13"></td> |
|
14 |
<th colspan="3">[%- 'Net amount' | $T8 %]</th> |
|
15 |
<td class="numeric">[%- LxERP.format_amount(TAX.netamount, 2, 0) %]</td> |
|
14 | 16 |
</tr> |
15 | 17 |
[%- END%] |
templates/design40_webpages/reclamation_reason/_sort_list_row.html | ||
---|---|---|
1 | 1 |
[%- USE HTML -%][%- USE LxERP -%][%- USE L -%][%- USE T8 -%][% USE P %] |
2 | 2 |
[% FOREACH reason = RECLAMATION_REASONS %] |
3 |
<tr class="listrow" id="reclamation_reason_id_[% reason.id %]">
|
|
3 |
<tr id="reclamation_reason_id_[% reason.id %]"> |
|
4 | 4 |
<td align="center" class="dragdrop"><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></td> |
5 | 5 |
<td><a href="[% SELF.url_for(action='edit', id=reason.id) %]">[% HTML.escape(reason.name) %]</a></td> |
6 | 6 |
<td>[% reason.description | $T8 %]</td> |
7 |
<td>[% reason.valid_for | $T8 %]</td> |
|
7 |
<td>[% reason.valid_for_sales_as_bool_yn %]</td> |
|
8 |
<td>[% reason.valid_for_purchase_as_bool_yn %]</td> |
|
8 | 9 |
</tr> |
9 | 10 |
[% END %] |
templates/design40_webpages/reclamation_reason/form.html | ||
---|---|---|
2 | 2 |
[% INCLUDE 'common/flash.html' %] |
3 | 3 |
|
4 | 4 |
<h1>[% HTML.escape(title) %]</h1> |
5 |
<div style="padding-left:2em"> |
|
6 |
[% SET style="width: 400px" %] |
|
7 |
|
|
8 | 5 |
<form action="controller.pl" method="post" id="form"> |
9 | 6 |
[%- L.hidden_tag("id", SELF.reclamation_reason.id) %] |
10 | 7 |
|
11 |
<table> |
|
12 |
<tr> |
|
13 |
<th align="right">[% 'Name' | $T8 %]</th> |
|
14 |
<td>[%- L.input_tag("reclamation_reason.name", SELF.reclamation_reason.name, "data-validate"="required", "data-title"=LxERP.t8("Name")) %]</td> |
|
15 |
</tr> |
|
16 |
<tr> |
|
17 |
<th align="right">[% 'Description' | $T8 %]</th> |
|
18 |
<td>[%- L.textarea_tag("reclamation_reason.description", SELF.reclamation_reason.description, "data-validate"="required", cols = 50 rows = 2, "data-title"=LxERP.t8("Description")) %]</td> |
|
19 |
</tr> |
|
20 |
<tr> |
|
21 |
<th align="right">[% 'Valid for Sales' | $T8 %]</th> |
|
22 |
<td align="left">[% L.checkbox_tag("reclamation_reason.valid_for_sales", checked=SELF.reclamation_reason.valid_for_sales, for_submit=1) %]</td> |
|
23 |
</tr> |
|
24 |
<tr> |
|
25 |
<th align="right">[% 'Valid for Purchase' | $T8 %]</th> |
|
26 |
<td align="left">[% L.checkbox_tag("reclamation_reason.valid_for_purchase", checked=SELF.reclamation_reason.valid_for_purchase, for_submit=1) %]</td> |
|
27 |
</tr> |
|
28 |
</table> |
|
29 |
</form> |
|
8 |
<div class="wrapper" id="wrapper-1"> |
|
9 |
<table class="tbl-horizontal"> |
|
10 |
<tbody> |
|
11 |
<tr> |
|
12 |
<th>[% 'Name' | $T8 %]</th> |
|
13 |
<td>[%- L.input_tag("reclamation_reason.name", SELF.reclamation_reason.name, "data-validate"="required", "data-title"=LxERP.t8("Name"), class="wi-lightwide") %]</td> |
|
14 |
</tr> |
|
15 |
<tr> |
|
16 |
<th>[% 'Description' | $T8 %]</th> |
|
17 |
<td>[%- L.textarea_tag("reclamation_reason.description", SELF.reclamation_reason.description, "data-validate"="required", "data-title"=LxERP.t8("Description"), class='wi-lightwide') %]</td> |
|
18 |
</tr> |
|
19 |
<tr> |
|
20 |
<th>[% 'Valid for Sales' | $T8 %]</th> |
|
21 |
<td>[% L.checkbox_tag("reclamation_reason.valid_for_sales", checked=SELF.reclamation_reason.valid_for_sales, for_submit=1) %]</td> |
|
22 |
</tr> |
|
23 |
<tr> |
|
24 |
<th>[% 'Valid for Purchase' | $T8 %]</th> |
|
25 |
<td>[% L.checkbox_tag("reclamation_reason.valid_for_purchase", checked=SELF.reclamation_reason.valid_for_purchase, for_submit=1) %]</td> |
|
26 |
</tr> |
|
27 |
</tbody> |
|
28 |
</table> |
|
30 | 29 |
</div> |
30 |
</form> |
templates/design40_webpages/reclamation_reason/list.html | ||
---|---|---|
3 | 3 |
|
4 | 4 |
<h1>[% title %]</h1> |
5 | 5 |
|
6 |
<p>
|
|
7 |
<table id="partsgroup_list"> |
|
6 |
<div class="wrapper" id="wrapper-1">
|
|
7 |
<table id="partsgroup_list" class="tbl-list">
|
|
8 | 8 |
<thead> |
9 |
<tr class="listheading">
|
|
10 |
<th>[% 'Reclamation Reason' | $T8 %]</th>
|
|
9 |
<tr> |
|
10 |
<th>[% 'Reclamation Reason' | $T8 %]</th> |
|
11 | 11 |
<th>[% 'Description' | $T8 %]</th> |
12 | 12 |
<th>[% 'Valid for Sales' | $T8 %]</th> |
13 | 13 |
<th>[% 'Valid for Purchase' | $T8 %]</th> |
... | ... | |
16 | 16 |
|
17 | 17 |
<tbody> |
18 | 18 |
[%- FOREACH reason = RECLAMATION_REASONS %] |
19 |
<tr class="listrow" id="reason_id_[% reason.id %]">
|
|
19 |
<tr id="reason_id_[% reason.id %]"> |
|
20 | 20 |
<td><a href="[% SELF.url_for(action='edit', id=reason.id) %]">[% HTML.escape(reason.name) %] |
21 | 21 |
[% # reason.level %]</a></td> |
22 | 22 |
<td>[% reason.description | html %]</td> |
... | ... | |
25 | 25 |
[%- END %] |
26 | 26 |
</tbody> |
27 | 27 |
</table> |
28 |
</p> |
|
28 |
</div> |
templates/design40_webpages/reclamation_reason/sort_list.html | ||
---|---|---|
5 | 5 |
[% SET style="width: 400px" %] |
6 | 6 |
|
7 | 7 |
<form method="post" action="controller.pl" id="form"> |
8 |
<table id="reclamation_reasons"> |
|
8 |
<div class="wrapper" id="wrapper-1"> |
|
9 |
<table id="reclamation_reasons" class="tbl-list"> |
|
9 | 10 |
<thead> |
10 | 11 |
<tr> |
11 | 12 |
<th align="center"><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></th> |
12 |
<th align="left">[% 'Reclamation Reason' | $T8 %]</th> |
|
13 |
<th align="left">[% 'Description' | $T8 %]</th> |
|
14 |
<th align="left">[% 'Valid for' | $T8 %]</th> |
|
13 |
<th>[% 'Reclamation Reason' | $T8 %]</th> |
|
14 |
<th>[% 'Description' | $T8 %]</th> |
|
15 |
<th>[% 'Valid for Sales' | $T8 %]</th> |
|
16 |
<th>[% 'Valid for Purchase' | $T8 %]</th> |
|
15 | 17 |
</tr> |
16 | 18 |
</thead> |
17 | 19 |
|
... | ... | |
19 | 21 |
[% PROCESS 'reclamation_reason/_sort_list_row.html', RECLAMATION_REASONS = RECLAMATION_REASONS %] |
20 | 22 |
</tbody> |
21 | 23 |
</table> |
24 |
</div> |
|
22 | 25 |
</form> |
23 | 26 |
|
24 | 27 |
[% L.sortable_element('#table_body', url=SELF.url_for(action='reorder'), with='reclamation_reason_id') %] |
Auch abrufbar als: Unified diff
Design 4.0: Reklamationsmasken angepasst