Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 6918860d

Von Tamino Steinert vor fast 2 Jahren hinzugefügt

  • ID 6918860dcbbebb30a9111c407e63c7f4cc30b48f
  • Vorgänger dd9981ae
  • Nachfolger 96674a7e

Design 4.0: Reklamationsmasken kopiert

Unterschiede anzeigen:

templates/design40_webpages/reclamation/_report_bottom.html
1
[% USE L %]
2
[%- L.paginate_controls(models=models) %]
templates/design40_webpages/reclamation/_report_top.html
1
[%- USE L %]
2
[%- FILTER_HTML %]
3
 <hr>
templates/design40_webpages/reclamation/form.html
1
[%- USE T8 %]
2
[%- USE LxERP %]
3
[%- USE L %]
4
[%- USE HTML %]
5
[% # L.dump( SELF.reclamation.items_sorted ) %]
6

  
7
<h1>[% FORM.title %] <span id='nr_in_title'>[%- SELF.reclamation.record_number -%]</span></h1>
8

  
9
<div id="print_options" style="display:none">
10
  <form method="post" action="controller.pl" id="print_options_form">
11
    [% SELF.print_options %]
12
    <br>
13
    [% L.button_tag('kivi.Reclamation.print()', LxERP.t8('Print')) %]
14
    <a href="#" onclick="$('#print_options').dialog('close');">[% LxERP.t8("Cancel") %]</a>
15
  </form>
16
</div>
17

  
18
<div id="shipto_dialog" class="hidden"></div>
19

  
20
<form method="post" action="controller.pl" id="reclamation_form">
21
  [% L.hidden_tag('callback',             FORM.callback) %]
22
  [% L.hidden_tag('type',                 FORM.type) %]
23
  [% L.hidden_tag('id',                   SELF.reclamation.id) %]
24
  [% L.hidden_tag('converted_from_record_type_ref', SELF.reclamation.converted_from_record_type_ref) %]
25
  [% L.hidden_tag('converted_from_record_id',  SELF.reclamation.converted_from_record_id) %]
26

  
27
  [% IF !SELF.reclamation.id %]
28
  [%   L.hidden_tag('form_validity_token', FORM.form_validity_token) %]
29
  [% END %]
30

  
31
  [%- INCLUDE 'common/flash.html' %]
32

  
33
  <div class="tabwidget" id="reclamation_tabs">
34
    <ul>
35
      <li><a href="#ui-tabs-basic-data">[% 'Basic Data' | $T8 %]</a></li>
36
[%- IF INSTANCE_CONF.get_webdav %]
37
      <li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
38
[%- END %]
39
[%- IF SELF.reclamation.id AND INSTANCE_CONF.get_doc_storage %]
40
      <li><a href="controller.pl?action=File/list&file_type=document&object_type=[% HTML.escape(FORM.type) %]&object_id=[% HTML.url(SELF.reclamation.id) %]">[% 'Documents' | $T8 %]</a></li>
41
      <li><a href="controller.pl?action=File/list&file_type=attachment&object_type=[% HTML.escape(FORM.type) %]&object_id=[% HTML.url(SELF.reclamation.id) %]">[% 'Attachments' | $T8 %]</a></li>
42
[%- END %]
43
[%- IF SELF.reclamation.id %]
44
      <li><a href="controller.pl?action=RecordLinks/ajax_list&object_model=Reclamation&object_id=[% SELF.reclamation.id %]">[% 'Linked Records' | $T8 %]</a></li>
45
[%- END %]
46
    </ul>
47

  
48
    [% PROCESS "reclamation/tabs/basic_data.html" %]
49
    [% PROCESS 'webdav/_list.html' %]
50
    <div id="ui-tabs-1">
51
      [%- LxERP.t8("Loading...") %]
52
    </div>
53

  
54
    <div id="shipto_inputs" class="hidden">
55
      [%- PROCESS 'common/_ship_to_dialog.html'
56
        cv_obj=SELF.reclamation.customervendor
57
        cs_obj=SELF.reclamation.custom_shipto
58
        cvars=SELF.reclamation.custom_shipto.cvars_by_config
59
        id_selector='#reclamation_shipto_id' %]
60
    </div>
61

  
62
  </div>
63

  
64
</form>
templates/design40_webpages/reclamation/tabs/basic_data.html
1
[%- USE T8 %]
2
[%- USE HTML %]
3
[%- USE LxERP %]
4
[%- USE L %]
5
[%- USE P %]
6

  
7
[%- INCLUDE 'generic/set_longdescription.html' %]
8

  
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

  
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>
90

  
91
[%- 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>
98
[%- END %]
99

  
100
[%- 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>
107
[%- END %]
108

  
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>
113

  
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>
118

  
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>
123

  
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>
128

  
129
        </table>
130
      </td>
131

  
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>
195

  
196
      </td>
197
    </tr>
198
  </table>
199

  
200
  [%- PROCESS reclamation/tabs/basic_data/_item_input.html SELF=SELF %]
201

  
202
  [% L.button_tag('kivi.Reclamation.open_multi_items_dialog()', LxERP.t8('Add multiple items')) %]
203

  
204
  <table width="100%">
205
    <tr>
206
      <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

  
261
      </td>
262
    </tr>
263

  
264
    <tr>
265
    </tr>
266

  
267
    <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>
342
    </tr>
343

  
344
  </table>
345

  
346
</div>
347

  
348
[% L.sortable_element('#row_table_id') %]
templates/design40_webpages/reclamation/tabs/basic_data/_business_info_row.html
1
[%- USE T8 %][%- USE HTML %]
2

  
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>
10
</tr>
templates/design40_webpages/reclamation/tabs/basic_data/_item_input.html
1
[%- USE T8 %][%- USE HTML %][%- USE LxERP %][%- USE L %][%- USE P %]
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>
templates/design40_webpages/reclamation/tabs/basic_data/_price_sources_dialog.html
1
[%- USE T8 %]
2
[%- USE HTML %]
3
[%- USE L %]
4
[%- USE LxERP %]
5
[%-  #L.dump( price_source ) %]
6

  
7
[% SET best_price = price_source.best_price %]
8
[% SET best_discount = price_source.best_discount %]
9

  
10
[% SET price_editable = 0 %]
11
[% IF (FORM.type == "sales_reclamation") %]
12
  [% SET price_editable = AUTH.assert('sales_edit_prices', 1) %]
13
[% END %]
14
[% IF (FORM.type == "purchase_reclamation") %]
15
  [% SET price_editable = AUTH.assert('purchase_edit_prices', 1) %]
16
[% END %]
17

  
18
[% SET exfactor = price_source.record.exchangerate ? 1 / price_source.record.exchangerate : 1 %]
19
[% SET exnoshow = price_source.record.currency_id==INSTANCE_CONF.get_currency_id %]
20
[% SET places   = exnoshow ? -2 : 5 %]
21
  <h2>[% 'Prices' | $T8 %]</h2>
22

  
23
  <table>
24
   <tr class='listheading'>
25
    <th></th>
26
    <th>[% 'Price Source' | $T8 %]</th>
27
    <th>[% 'Price' | $T8 %]</th>
28
    <th [%- IF exnoshow -%]style='display:none'[%- END %]>
29
      [% 'Price' | $T8 -%]/[%- price_source.record.currency.name %]
30
    </th>
31
    <th>[% 'Best Price' | $T8 %]</th>
32
    <th>[% 'Details' | $T8 %]</th>
33
   </tr>
34
   <tr class='listrow'>
35
[%- 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
[%- ELSE %]
38
    <td><b>[% 'Selected' | $T8 %]</b></td>
39
[%- END %]
40
    <td>[% 'None (PriceSource)' | $T8 %]</td>
41
    <td>-</td>
42
    <td [%- IF exnoshow -%]style='display:none'[%- END %]>-</td>
43
    <td></td>
44
    <td></td>
45
   </tr>
46
   [%- FOREACH price IN price_source.available_prices %]
47
    <tr class='listrow'>
48
[%- 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>
50
[%- 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>
52
[%- ELSE %]
53
    <td><b>[% 'Selected' | $T8 %]</b></td>
54
[% END %]
55
     <td>[% price.source_description | html %]</td>
56
     <td>[% price.price_as_number %]</td>
57
     <td [%- IF exnoshow -%]style='display:none'[%- END %]>
58
       [% LxERP.format_amount(price.price * exfactor, places) %]
59
     </td>
60
[% IF price.source == best_price.source %]
61
     <td align='center'>&#x2022;</td>
62
[% ELSE %]
63
     <td></td>
64
[% END %]
65
     <td>[% price.description | html %]</td>
66
    </tr>
67
   [%- END %]
68
  </table>
69

  
70
  <h2>[% 'Discounts' | $T8 %]</h2>
71

  
72
  <table>
73
   <tr class='listheading'>
74
    <th></th>
75
    <th>[% 'Price Source' | $T8 %]</th>
76
    <th>[% 'Discount' | $T8 %]</th>
77
    <th>[% 'Best Discount' | $T8 %]</th>
78
    <th>[% 'Details' | $T8 %]</th>
79
   </tr>
80
   <tr class='listrow'>
81
[%- IF price_source.record_item.active_discount_source %]
82
    <td>[% L.button_tag('kivi.Reclamation.update_discount_source(\'' _ FORM.item_id _ '\', \'\', \'' _ LxERP.t8('None (PriceSource Discount)') _ '\', \'\', ' _ price_editable _ ')', LxERP.t8('Select')) %]</td>
83
[%- ELSE %]
84
    <td><b>[% 'Selected' | $T8 %]</b></td>
85
[%- END %]
86
    <td>[% 'None (PriceSource Discount)' | $T8 %]</td>
87
    <td>-</td>
88
    <td></td>
89
    <td></td>
90
   </tr>
91
   [%- FOREACH price IN price_source.available_discounts %]
92
    <tr class='listrow'>
93
[%- IF price_source.record_item.active_discount_source != price.source %]
94
     <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
[%- ELSIF price_source.record_item.discount * 1 != price.discount * 1 %]
96
     <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('Update Discount')) %]</td>
97
[%- ELSE %]
98
    <td><b>[% 'Selected' | $T8 %]</b></td>
99
[% END %]
100
     <td>[% price.source_description | html %]</td>
101
     <td>[% price.discount_as_percent %] %</td>
102
[% IF price.source == best_discount.source %]
103
     <td align='center'>&#x2022;</td>
104
[% ELSE %]
105
     <td></td>
106
[% END %]
107
     <td>[% price.description | html %]</td>
108
    </tr>
109
   [%- END %]
110
  </table>
templates/design40_webpages/reclamation/tabs/basic_data/_row.html
1
[%- USE T8 %]
2
[%- USE HTML %]
3
[%- USE LxERP %]
4
[%- USE L %]
5
[%- USE P %]
6
[% # L.dump( ITEM ) %]
7

  
8
<tbody class="row_entry listrow" data-position="[%- HTML.escape(ITEM.position) -%]"[%- IF MYCONFIG.show_form_details -%] data-expanded="1"[%- END -%]>
9
  <tr>
10
  [% L.hidden_tag("reclamation_items_ids[+]", ID) %]
11
  [% L.hidden_tag("converted_from_record_item_type_refs[+]", ITEM.converted_from_record_item_type_ref) %]
12
  [% L.hidden_tag("converted_from_record_item_ids[+]",       ITEM.converted_from_record_item_id) %]
13
  [% L.hidden_tag("reclamation.reclamation_items[+].id", ITEM.id, id='item_' _ ID) %]
14
  [% L.hidden_tag("reclamation.reclamation_items[].parts_id", ITEM.parts_id) %]
15
    <td align="center">
16
      [%- IF MYCONFIG.show_form_details %]
17
        [% L.img_tag(src="image/collapse.svg",
18
                     alt=LxERP.t8('Hide details'), title=LxERP.t8('Hide details'), class="expand") %]
19
      [%- ELSE %]
20
        [% L.img_tag(src="image/expand.svg",
21
                     alt=LxERP.t8('Show details'), title=LxERP.t8('Show details'), class="expand") %]
22
      [%- END %]
23
    </td>
24
    <td>
25
      <div name="position" class="numeric">
26
        [% HTML.escape(ITEM.position) %]
27
      </div>
28
    </td>
29
    <td align="center">
30
      <img src="image/updown.png" alt="[%- LxERP.t8('reclamation item') %]" class="dragdrop">
31
    </td>
32
    <td align="center">
33
      [%- L.button_tag("kivi.Reclamation.delete_reclamation_item_row(this)",
34
                       LxERP.t8("X"),
35
                       confirm=LxERP.t8("Are you sure?")) %]
36
    </td>
37
    [%- IF SELF.show_update_button -%]
38
    <td align="center">
39
      [%- L.img_tag(src="image/rotate_cw.svg",
40
                    alt=LxERP.t8('Update from master data'),
41
                    title= LxERP.t8('Update from master data'),
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') %]
44
    </td>
45
    [%- END -%]
46
    <td>
47
      <div name="partnumber">
48
        [%- P.link_tag(SELF.url_for(controller='Part', action='edit', 'part.id'=ITEM.part.id), ITEM.part.partnumber, target="_blank", title=LxERP.t8('Open in new window')) -%]
49
      </div>
50
    </td>
51
    [%- IF SELF.search_cvpartnumber -%]
52
    <td>
53
      <div name="cvpartnumber">[% HTML.escape(ITEM.cvpartnumber) %]</div>
54
    </td>
55
    [%- END -%]
56
    <td>
57
      <div name="partclassification">[% ITEM.part.presenter.typeclass_abbreviation %]</div>
58
    </td>
59
    <td>
60
      [% L.areainput_tag("reclamation.reclamation_items[].description",
61
                     ITEM.description,
62
                     size='40',
63
                     style='width: 300px') %]
64
      [%- L.hidden_tag("reclamation.reclamation_items[].longdescription", ITEM.longdescription) %]
65
      [%- L.button_tag("kivi.Reclamation.show_longdescription_dialog(this)", LxERP.t8("L")) %]
66
    </td>
67
    <td>[% L.select_tag("reclamation.reclamation_items[].reason_id",
68
                        SELF.reclamation.valid_reclamation_reasons,
69
                        default=ITEM.reason_id,
70
                        title_key = 'name',
71
                        value_key = 'id',
72
                        with_empty=1,) %]
73
    </td>
74
    <td>
75
      [% L.areainput_tag("reclamation.reclamation_items[].reason_description_ext",
76
                     ITEM.reason_description_ext,
77
                     size='40',
78
                     style='width: 150px') %]
79
    </td>
80
    <td>
81
      [% L.areainput_tag("reclamation.reclamation_items[].reason_description_int",
82
                     ITEM.reason_description_int,
83
                     size='40',
84
                     style='width: 150px') %]
85
    </td>
86
    <td nowrap>
87
      [%- L.input_tag("reclamation.reclamation_items[].qty_as_number",
88
                      ITEM.qty_as_number,
89
                      size = 5,
90
                      class="recalc reformat_number numeric") %]
91
      [%- IF ITEM.part.formel -%]
92
        [%- L.button_tag("kivi.Reclamation.show_calculate_qty_dialog(this)", LxERP.t8("*/")) %]
93
        [%- L.hidden_tag("formula[+]", ITEM.part.formel) -%]
94
      [%- END -%]
95
    </td>
96
    <td>
97
      [%- L.select_tag("reclamation.reclamation_items[].price_factor_id",
98
                       SELF.all_price_factors,
99
                       default = ITEM.price_factor_id,
100
                       title_key = 'description',
101
                       with_empty = 1,
102
                       class="recalc") %]
103
    </td>
104
    <td nowrap>
105
      [%- L.select_tag("reclamation.reclamation_items[].unit",
106
                      ITEM.part.available_units,
107
                      default = ITEM.unit,
108
                      title_key = 'name',
109
                      value_key = 'name',
110
                      class = 'unitselect') %]
111
    </td>
112
    <td>
113
      [%- SET EDIT_PRICE_SOURCE = !(ITEM.is_linked_to_record) %]
114
      <div name="editable_price_source" [%- IF !EDIT_PRICE_SOURCE %]style="display:none"[%- END %]>
115
        [%- L.button_tag("kivi.Reclamation.price_chooser_item_row(this)",
116
                         ITEM.active_price_source.source_description _ ' | ' _ ITEM.active_discount_source.source_description,
117
                         name = "price_chooser_button") %]
118
      </div>
119
      <div name="not_editable_price_source" [%- IF EDIT_PRICE_SOURCE %]style="display:none"[%- END %]>
120
        [%- L.div_tag(ITEM.active_price_source.description _ ' | ' _ ITEM.active_discount_source.source_description, style="white-space:nowrap;") %]
121
      </div>
122
    </td>
123
    [% SET RIGHT_TO_EDIT_PRICES = 0 %]
124
    [% IF (SELF.type == "sales_reclamation") %]
125
      [% SET RIGHT_TO_EDIT_PRICES = AUTH.assert('sales_edit_prices', 1) %]
126
    [% END %]
127
    [% IF (SELF.type == "purchase_reclamation") %]
128
      [% SET RIGHT_TO_EDIT_PRICES = AUTH.assert('purchase_edit_prices', 1) %]
129
    [% END %]
130
    <td>
131
      [%- L.hidden_tag("reclamation.reclamation_items[].active_price_source", ITEM.active_price_source.source) %]
132
      [%- SET EDIT_PRICE = (RIGHT_TO_EDIT_PRICES && ITEM.active_price_source.source == '' && !ITEM.is_linked_to_record) %]
133
      <div name="editable_price" [%- IF !EDIT_PRICE %]style="display:none"[%- END %] class="numeric">
134
        [%- L.input_tag("reclamation.reclamation_items[].sellprice_as_number",
135
                        ITEM.sellprice_as_number,
136
                        size = 10,
137
                        disabled=(EDIT_PRICE? '' : 1),
138
                        class="recalc reformat_number numeric") %]
139
      </div>
140
      <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") %]
142
        [%- L.hidden_tag("reclamation.reclamation_items[].sellprice_as_number",
143
                         ITEM.sellprice_as_number,
144
                         disabled=(EDIT_PRICE? 1 : '')) %]
145
      </div>
146
    </td>
147
    <td>
148
      [%- L.hidden_tag("reclamation.reclamation_items[].active_discount_source", ITEM.active_discount_source.source) %]
149
      [%- SET EDIT_DISCOUNT = (RIGHT_TO_EDIT_PRICES && ITEM.active_discount_source.source == '' && !ITEM.is_linked_to_record) %]
150
      <div name="editable_discount" [%- IF !EDIT_DISCOUNT %]style="display:none"[%- END %] class="numeric">
151
        [%- L.input_tag("reclamation.reclamation_items[].discount_as_percent",
152
                        ITEM.discount_as_percent,
153
                        size = 5,
154
                        disabled=(EDIT_DISCOUNT? '' : 1),
155
                        class="recalc reformat_number numeric") %]
156
      </div>
157
      <div name="not_editable_discount" [%- IF EDIT_DISCOUNT %]style="display:none"[%- END %]>
158
        [%- L.div_tag(ITEM.discount_as_percent, name="discount_text", class="numeric") %]
159
        [%- L.hidden_tag("reclamation.reclamation_items[].discount_as_percent",
160
                         ITEM.discount_as_percent,
161
                         disabled=(EDIT_DISCOUNT? 1 : '')) %]
162
      </div>
163
    </td>
164
    <td align="right">
165
      [%- L.div_tag(LxERP.format_amount(ITEM.linetotal, 2, 0), name="linetotal") %]
166
    </td>
167

  
168
  </tr>
169

  
170
  <tr [%- IF !MYCONFIG.show_form_details -%]style="display:none"[%- END -%]>
171
    <td colspan="100%">
172
      [%- IF MYCONFIG.show_form_details || ITEM.render_second_row %]
173
        <div name="second_row" data-loaded="1">
174
          [%- PROCESS reclamation/tabs/basic_data/_second_row.html ITEM=ITEM TYPE=SELF.type %]
175
        </div>
176
      [%- ELSE %]
177
        <div name="second_row" id="second_row_[% ID %]">
178
          [%- LxERP.t8("Loading...") %]
179
        </div>
180
      [%- END %]
181
    </td>
182
  </tr>
183

  
184
</tbody>
templates/design40_webpages/reclamation/tabs/basic_data/_second_row.html
1
[%- USE T8 %]
2
[%- USE HTML %]
3
[%- USE LxERP %]
4
[%- USE L %]
5
[%- USE P %]
6

  
7
<table>
8
  <tr><td colspan="100%">
9
      <b>[%- 'Serial No.' | $T8 %]</b>&nbsp;
10
      [%- L.input_tag("reclamation.reclamation_items[].serialnumber", ITEM.serialnumber, size = 15) %]&nbsp;
11
    <b>[%- 'Project' | $T8 %]</b>&nbsp;
12
    [% P.project.picker("reclamation.reclamation_items[].project_id", ITEM.project_id, size = 15) %]&nbsp;
13
      <b>[%- 'Reqdate' | $T8 %]</b>&nbsp;
14
      [% L.date_tag("reclamation.reclamation_items[].reqdate_as_date", ITEM.reqdate_as_date) %]&nbsp;
15
    [%- IF (TYPE == "sales_reclamation") %]
16
      <b>[%- 'LP' | $T8 %]</b>&nbsp;
17
      [%- LxERP.format_amount(ITEM.part.listprice, 2, 0) %]&nbsp;
18
      <b>[%- 'EK' | $T8 %]</b>&nbsp;
19
        [%- L.input_tag("reclamation.reclamation_items[].lastcost_as_number",
20
                        ITEM.lastcost_as_number,
21
                        size = 5,
22
                        class="recalc reformat_number numeric") %]&nbsp;
23
    [%- END %]
24
    <b>[%- 'On Hand' | $T8 %]</b>&nbsp;
25
      <span[%- IF ITEM.part.onhand < ITEM.part.rop -%] class="numeric plus0"[%- END -%]>
26
        [%- ITEM.part.onhand_as_number -%]&nbsp;[%- ITEM.part.unit -%]
27
      </span>&nbsp;
28
  </td></tr>
29

  
30
  <tr>
31
    [%- SET n = 0 %]
32
    [%- FOREACH var = ITEM.cvars_by_config %]
33
      [%- NEXT UNLESS (var.config.processed_flags.editable && ITEM.part.cvar_by_name(var.config.name).is_valid) %]
34
      [%- SET n = n + 1 %]
35
    <th>
36
      [% var.config.description %]
37
    </th>
38
    <td>
39
      [% L.hidden_tag('reclamation.reclamation_items[].custom_variables[+].config_id', var.config.id) %]
40
      [% L.hidden_tag('reclamation.reclamation_items[].custom_variables[].id', var.id) %]
41
      [% L.hidden_tag('reclamation.reclamation_items[].custom_variables[].sub_module', var.sub_module) %]
42
      [% INCLUDE 'common/render_cvar_input.html' var_name='reclamation.reclamation_items[].custom_variables[].unparsed_value' %]
43
    </td>
44
      [%- IF (n % (MYCONFIG.form_cvars_nr_cols || 3)) == 0 %]
45
        </tr><tr>
46
      [%- END %]
47
    [%- END %]
48
  </tr>
49
</table>
templates/design40_webpages/reclamation/tabs/basic_data/_tax_row.html
1
[%- USE T8 %]
2
[%- USE HTML %]
3
[%- USE LxERP %]
4
[%- USE L %]
5

  
6
<tr class="tax_row">
7
  <th align="right">[%- IF TAXINCLUDED %][%- 'Including' | $T8 %]&nbsp;[%- END %][%- TAX.tax.taxdescription %] [% TAX.tax.rate_as_percent %]%</th>
8
  <td align="right">[%- LxERP.format_amount(TAX.amount, 2, 0) %]</td>
9
</tr>
10
[%- IF TAXINCLUDED %]
11
<tr class="tax_row">
12
  <th align="right">[%- 'Net amount' | $T8 %]</th>
13
  <td align="right">[%- LxERP.format_amount(TAX.netamount, 2, 0) %]</td>
14
</tr>
15
[%- END%]
templates/design40_webpages/reclamation_reason/_sort_list_row.html
1
[%- USE HTML -%][%- USE LxERP -%][%- USE L -%][%- USE T8 -%][% USE P %]
2
[% FOREACH reason = RECLAMATION_REASONS %]
3
<tr class="listrow" id="reclamation_reason_id_[% reason.id %]">
4
  <td align="center" class="dragdrop"><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></td>
5
  <td><a href="[% SELF.url_for(action='edit', id=reason.id) %]">[% HTML.escape(reason.name) %]</a></td>
6
  <td>[% reason.description | $T8 %]</td>
7
  <td>[% reason.valid_for | $T8 %]</td>
8
</tr>
9
[% END %]
templates/design40_webpages/reclamation_reason/form.html
1
[%- USE HTML -%][%- USE LxERP -%][%- USE L -%][%- USE P -%][%- USE T8 -%]
2
[% INCLUDE 'common/flash.html' %]
3

  
4
<h1>[% HTML.escape(title) %]</h1>
5
<div style="padding-left:2em">
6
[% SET style="width: 400px" %]
7

  
8
<form action="controller.pl" method="post" id="form">
9
[%- L.hidden_tag("id", SELF.reclamation_reason.id) %]
10

  
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>
30
</div>
templates/design40_webpages/reclamation_reason/list.html
1
[%- USE HTML -%][%- USE LxERP -%][%- USE L -%][%- USE T8 -%]
2
[%- INCLUDE 'common/flash.html' %]
3

  
4
<h1>[% title %]</h1>
5

  
6
<p>
7
 <table id="partsgroup_list">
8
  <thead>
9
   <tr class="listheading">
10
    <th>[% 'Reclamation Reason'      | $T8 %]</th>
11
    <th>[% 'Description' | $T8 %]</th>
12
    <th>[% 'Valid for Sales' | $T8 %]</th>
13
    <th>[% 'Valid for Purchase' | $T8 %]</th>
14
   </tr>
15
  </thead>
16

  
17
  <tbody>
18
    [%- FOREACH reason = RECLAMATION_REASONS %]
19
    <tr class="listrow" id="reason_id_[% reason.id %]">
20
    <td><a href="[% SELF.url_for(action='edit', id=reason.id) %]">[% HTML.escape(reason.name) %]
21
[% # reason.level %]</a></td>
22
    <td>[% reason.description | html %]</td>
23
    <td>[% reason.valid_for_sales_as_bool_yn %]</td>
24
    <td>[% reason.valid_for_purchase_as_bool_yn %]</td>
25
   [%- END %]
26
  </tbody>
27
 </table>
28
</p>
templates/design40_webpages/reclamation_reason/sort_list.html
1
[%- USE HTML -%][%- USE LxERP -%][%- USE L -%][%- USE P -%][%- USE T8 -%]
2
[% INCLUDE 'common/flash.html' %]
3

  
4
<h1>[% HTML.escape(title) %]</h1>
5
[% SET style="width: 400px" %]
6

  
7
<form method="post" action="controller.pl" id="form">
8
<table id="reclamation_reasons">
9
 <thead>
10
  <tr>
11
    <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>
15
  </tr>
16
 </thead>
17

  
18
 <tbody id="table_body">
19
  [% PROCESS 'reclamation_reason/_sort_list_row.html', RECLAMATION_REASONS = RECLAMATION_REASONS %]
20
  </tbody>
21
</table>
22
</form>
23

  
24
[% L.sortable_element('#table_body', url=SELF.url_for(action='reorder'), with='reclamation_reason_id') %]

Auch abrufbar als: Unified diff