Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 85171b62

Von Hans P. Schlaepfer vor etwa 4 Jahren hinzugefügt

  • ID 85171b62c74a3df56cd456abdc9b63aa57423fed
  • Vorgänger a4055da0
  • Nachfolger 17441768

Neues Design 2019 Standard-Code templates/webpages/inventory/

Unterschiede anzeigen:

templates/webpages/inventory/_journal.html
2 2
[% USE HTML %]
3 3
[% USE LxERP %]
4 4
[% USE T8 %]
5

  
5 6
<h3>[% 'Journal of Last 10 Transfers' | $T8 %]</h3>
6 7

  
7
[%- IF journal.size %]
8
<table>
9
 <tr class='listheading'>
10
  <th>[% 'Date' | $T8 %]</th>
11
  <th>[% 'Trans Type' | $T8 %]</th>
12
  <th>[% 'Part' | $T8 %]</th>
13
  <th>[% 'Warehouse From' | $T8 %]</th>
14
  <th>[% 'Qty' | $T8 %]</th>
15
  <th>[% 'Unit' | $T8 %]</th>
16
  <th>[% 'Warehouse To' | $T8 %]</th>
17
  <th>[% 'Charge Number' | $T8 %]</th>
18
  <th>[% 'Comment' | $T8 %]</th>
19
 </tr>
20
[% FOREACH row = journal %]
21
 <tr class='listrow'>
22
  <td>[% row.base.itime_as_date  %]</td>
23
  <td>[% row.base.trans_type.description | $T8 %]</td>
24
  <td>[% row.base.part.displayable_name | html %]</td>
25
  <td>[% row.out ? row.out.bin.full_description : '-' | html %]</td>
26
  <td class='numeric'>[% row.in ? row.in.qty_as_number : LxERP.format_amount(-1 * row.out.qty, 2) %]</td>
27
  <td>[% row.base.part.unit | html %]</td>
28
  <td>[% row.in ? row.in.bin.full_description : '-' | html %]</td>
29
  <td>[% row.base.chargenumber | html %]</td>
30
  <td>[% row.base.comment | html %]</td>
31
 </tr>
8
[% IF journal.size %]
9

  
10
  <table class="tbl-list wi-moderate">
11
    <thead>
12
     <tr>
13
      <th>[% 'Date' | $T8 %]</th>
14
      <th>[% 'Trans Type' | $T8 %]</th>
15
      <th>[% 'Part' | $T8 %]</th>
16
      <th>[% 'Warehouse From' | $T8 %]</th>
17
      <th class="right">[% 'Qty' | $T8 %]</th>
18
      <th>[% 'Unit' | $T8 %]</th>
19
      <th>[% 'Warehouse To' | $T8 %]</th>
20
      <th class="right">[% 'Charge Number' | $T8 %]</th>
21
      <th>[% 'Comment' | $T8 %]</th>
22
     </tr>
23
    </thead>
24
    <tbody>
25
      [% FOREACH row = journal %]
26
       <tr>
27
        <td>[% row.base.itime_as_date  %]</td>
28
        <td>[% row.base.trans_type.description | $T8 %]</td>
29
        <td>[% row.base.part.displayable_name | html %]</td>
30
        <td>[% row.out ? row.out.bin.full_description : '-' | html %]</td>
31
        <td class='numeric'>[% row.in ? row.in.qty_as_number : LxERP.format_amount(-1 * row.out.qty, 2) %]</td>
32
        <td>[% row.base.part.unit | html %]</td>
33
        <td>[% row.in ? row.in.bin.full_description : '-' | html %]</td>
34
        <td class="right">[% row.base.chargenumber | html %]</td>
35
        <td>[% row.base.comment | html %]</td>
36
       </tr>
37
      [% END %]
38
    </tbody>
39
  </table>
40

  
41
[% ELSE %]
42
  <p>[% 'No transactions yet.' | $T8 %]</p>
32 43
[% END %]
33
</table>
34
[%- ELSE %]
35
<p>[% 'No transactions yet.' | $T8 %]</p>
36
[%- END %]
templates/webpages/inventory/_stock.html
1
<h3>[% LxERP.t8('Stock for part #1', SELF.part.displayable_name) %][%- IF SELF.part.ean -%] ([%- SELF.part.ean -%])[%- END -%]</h3>
2 1
[% USE HTML %]
3 2
[% USE LxERP %]
4 3
[% USE L %]
5 4
[% USE T8 %]
6 5

  
7
[%- IF SELF.stock_empty && !SELF.part.bin_id  %]
8
<p>[% 'Nothing stocked yet.' | $T8 %]</p>
9
[%- ELSE %]
10
<table>
11
  <tr class='listheading'>
12
    <th>[% 'Warehouse' | $T8 %]</th>
13
    <th>[% 'Bin' | $T8 %]</th>
14
    <th>[% 'Qty' | $T8 %]</th>
15
  </tr>
16
[%- FOREACH wh = SELF.warehouses -%]
17
[%- FOREACH bin = wh.bins -%]
18
  [%#- display any bins with stock and default bin -%]
19
  [%- SET stock__set = SELF.stock_by_bin.${bin.id} -%]
20
  [%- IF stock__set.sum > 0 || SELF.part.bin_id == bin.id -%]
21
  <tr class='listrow'>
22
    <td>[% bin.warehouse.description %]</td>
23
    <td>[% bin.description %]</td>
24
    <td class='numeric'>[% LxERP.format_amount(stock__set.sum, 2) %]&nbsp;[%- SELF.part.unit -%]</td>
25
  </tr>
26
  [%- END -%]
27
[%- END -%]
28
[%- END %]
29
</table>
30
[%- END %]
31
[%- END %]
6
[% IF SELF.part.id %]
7

  
8
<h3>[% LxERP.t8('Stock for part #1', SELF.part.displayable_name) %][% IF SELF.part.ean %] ([% SELF.part.ean %])[% END %]</h3>
9

  
10
[% IF SELF.stock_empty && !SELF.part.bin_id  %]
11
  <p>[% 'Nothing stocked yet.' | $T8 %]</p>
12
[% ELSE %]
13
  <table class="tbl-list wi-moderate">
14
    <thead>
15
      <tr>
16
        <th>[% 'Warehouse' | $T8 %]</th>
17
        <th>[% 'Bin' | $T8 %]</th>
18
        <th>[% 'Qty' | $T8 %]</th>
19
      </tr>
20
    </thead>
21
    <tbody>
22
    [% FOREACH wh = SELF.warehouses %]
23
      [% FOREACH bin = wh.bins %]
24
        [% # display any bins with stock and default bin %]
25
        [% SET stock__set = SELF.stock_by_bin.${bin.id} %]
26
        [% IF stock__set.sum > 0 || SELF.part.bin_id == bin.id %]
27
          <tr>
28
            <td>[% bin.warehouse.description %]</td>
29
            <td>[% bin.description %]</td>
30
            <td class='numeric'>[% LxERP.format_amount(stock__set.sum, 2) %]&nbsp;[% SELF.part.unit %]</td>
31
          </tr>
32
        [% END %]
33
      [% END %]
34
    [% END %]
35
    </tbody>
36
  </table>
37
[% END %]
38

  
39
[% END %]
templates/webpages/inventory/report_bottom.html
1
[%- PROCESS 'common/paginate.html' pages=SELF.pages, base_url = SELF.base_url %]
1
[% PROCESS 'common/paginate.html' pages=SELF.pages, base_url = SELF.base_url %]
templates/webpages/inventory/stocktaking/_already_counted_dialog.html
5 5

  
6 6
<form method="post" id="already_counted_form" method="POST">
7 7

  
8
<p>
8 9
  [% 'This part was already counted for this bin:' | $T8 %]<br>
9 10
  [% SELF.part.displayable_name %] / [% SELF.part.ean %]<br>
10
  [% already_counted.first.bin.full_description %], [% 'Stocked Qty' | $T8 %]: [%- LxERP.format_amount(stocked_qty, -2) -%]&nbsp;[%- SELF.part.unit -%]
11
  [%- IF SELF.part.unit != SELF.unit.name -%]
12
    ([%- LxERP.format_amount(stocked_qty_in_form_units, -2) -%]&nbsp;[%- SELF.unit.name -%])<br>
13
  [%- END -%]
14
  <br>
15
  <br>
16
  <table>
17
    <tr class='listheading'>
11
  [% already_counted.first.bin.full_description %], [% 'Stocked Qty' | $T8 %]: [% LxERP.format_amount(stocked_qty, -2) %] [% SELF.part.unit %]
12
  [% IF SELF.part.unit != SELF.unit.name %]
13
    ([% LxERP.format_amount(stocked_qty_in_form_units, -2) %] [% SELF.unit.name %])<br>
14
  [% END %]
15
</p>
16

  
17
<table class="tbl-list">
18
  <thead>
19
    <tr>
18 20
      <th>[% 'Insert Date' | $T8 %]</th>
19 21
      <th>[% 'Employee' | $T8 %]</th>
20 22
      <th>[% 'Bin' | $T8 %]</th>
21
      <th>[% 'Target Qty' | $T8 %]</th>
23
      <th class="right">[% 'Target Qty' | $T8 %]</th>
22 24
    </tr>
25
  </thead>
26
  <tbody>
23 27
    [% FOREACH ac = already_counted %]
24
    <tr class='listrow'>
25
      <td>[%- ac.itime_as_timestamp -%]</td>
26
      <td>[%- ac.employee.safe_name -%]</td>
27
      <td>[%- ac.bin.full_description -%]</td>
28
      <td class="numeric">[%- ac.qty_as_number -%]&nbsp;[%- ac.part.unit -%]</td>
29
    </tr>
28
      <tr>
29
        <td>[% ac.itime_as_timestamp %]</td>
30
        <td>[% ac.employee.safe_name %]</td>
31
        <td>[% ac.bin.full_description %]</td>
32
        <td class="numeric">[% ac.qty_as_number %] [% ac.part.unit %]</td>
33
      </tr>
30 34
    [% END %]
31
  </table>
35
  </tbody>
36
</table>
32 37

  
33
  <p>
34
    [% 'Please choose the action to be processed for your target quantity:' | $T8 %]<br>
35
    [% 'Correct counted' | $T8 %]: [% 'The stock will be changed to your target quantity.' | $T8 %]<br>
36
    [% 'Add counted' | $T8 %]: [% 'Your target quantity will be added to the stocked quantity.' | $T8 %]<br>
37
  </p>
38
<p>
39
  [% 'Please choose the action to be processed for your target quantity:' | $T8 %]<br>
40
  [% 'Correct counted' | $T8 %]: [% 'The stock will be changed to your target quantity.' | $T8 %]<br>
41
  [% 'Add counted' | $T8 %]: [% 'Your target quantity will be added to the stocked quantity.' | $T8 %]<br>
42
</p>
38 43

  
39
  <br>
44
<div class="buttons">
40 45
  [% L.hidden_tag('action', 'Inventory/dispatch') %]
41 46
  [% L.button_tag('kivi.Inventory.stocktaking_correct_counted()', LxERP.t8("Correct counted")) %]
42 47
  [% L.button_tag('kivi.Inventory.stocktaking_add_counted(' _ stocked_qty_in_form_units _ ')', LxERP.t8("Add counted")) %]
43
  <a href="#" onclick="kivi.Inventory.close_already_counted_dialog();">[%- LxERP.t8("Cancel") %]</a>
48
  <a href="#" onclick="kivi.Inventory.close_already_counted_dialog();" class="button neutral">[% LxERP.t8("Cancel") %]</a>
49
</div>
44 50

  
45 51
</form>
templates/webpages/inventory/stocktaking/_filter.html
3 3
[% USE L %]
4 4
[% USE LxERP %]
5 5

  
6
<table id="filter_table">
7
 <tr>
8
  <th align="right">[% 'EAN' | $T8 %]</th>
9
  <td>[% L.input_tag('filter.parts.ean:substr::ilike', filter.parts.ean_substr__ilike) %]</td>
10
 </tr>
11
 <tr>
12
  <th align="right">[% 'Part Number' | $T8 %]</th>
13
  <td>[% L.input_tag('filter.parts.partnumber:substr::ilike', filter.parts.partnumber_substr__ilike) %]</td>
14
 </tr>
15
 <tr>
16
  <th align="right">[% 'Part Description' | $T8 %]</th>
17
  <td>[% L.input_tag('filter.parts.description:substr::ilike', filter.parts.description_substr__ilike) %]</td>
18
 </tr>
19
 <tr>
20
  <th align="right">[% 'Cutoff Date' | $T8 %]</th>
21
  <td>[% L.date_tag('filter.cutoff_date:date', filter.cutoff_date_date) %]</td>
22
 </tr>
23
 <tr>
24
  <th align="right">[% 'Comment' | $T8 %]</th>
25
  <td>[% L.input_tag('filter.comment:substr::ilike', filter.comment_substr__ilike, size=60) %]</td>
26
 </tr>
6
<table id="filter_table" class="tbl-horizontal">
7
  <tbody>
8
    <tr>
9
      <th>[% 'EAN' | $T8 %]</th>
10
      <td>[% L.input_tag('filter.parts.ean:substr::ilike', filter.parts.ean_substr__ilike) %]</td>
11
    </tr>
12
    <tr>
13
      <th>[% 'Part Number' | $T8 %]</th>
14
      <td>[% L.input_tag('filter.parts.partnumber:substr::ilike', filter.parts.partnumber_substr__ilike) %]</td>
15
    </tr>
16
    <tr>
17
      <th>[% 'Part Description' | $T8 %]</th>
18
      <td>[% L.input_tag('filter.parts.description:substr::ilike', filter.parts.description_substr__ilike) %]</td>
19
    </tr>
20
    <tr>
21
      <th>[% 'Cutoff Date' | $T8 %]</th>
22
      <td>[% L.date_tag('filter.cutoff_date:date', filter.cutoff_date_date) %]</td>
23
    </tr>
24
    <tr>
25
      <th>[% 'Comment' | $T8 %]</th>
26
      <td>[% L.input_tag('filter.comment:substr::ilike', filter.comment_substr__ilike, size=60) %]</td>
27
    </tr>
28
  </tbody>
27 29
</table>
30

  
templates/webpages/inventory/stocktaking/form.html
6 6

  
7 7
<h1>[% title | html %]</h1>
8 8

  
9
[%- INCLUDE 'common/flash.html' %]
9
<div class="wrapper">
10 10

  
11
<form method="post" action="controller.pl" id="stocktaking_form">
12

  
13
 <p>
14
  <label for="part_id">[% "Article" | $T8 %]</label>
15
  [% P.part.picker("part_id", "") %]
16
 </p>
17

  
18
 <p>
19
   <div id="stock"></div>
20
 </p>
11
[% INCLUDE 'common/flash.html' %]
21 12

  
22
 <table id="stocktaking_settings_table">
23
   <tr>
24
     <th align="right" nowrap>[% 'Destination warehouse' | $T8 %]</th>
25
     <td>[% L.select_tag('warehouse_id', SELF.warehouses, default=SELF.warehouse.id, title_key='description') %]
26
       [% IF SELF.warehouse.id %]
27
         [% L.select_tag('bin_id', SELF.warehouse.bins, default=SELF.bin.id, title_key='description') %]
28
       [%- ELSE %]
29
         <span id='bin_id'></span>
30
       [% END %]
31
     </td>
32
   </tr>
13
<form method="post" action="controller.pl" id="stocktaking_form">
33 14

  
34
   <tr>
35
     <th align="right" nowrap>[% 'Charge number' | $T8 %]</th>
36
     <td>[% L.input_tag('chargenumber', "", size=30) %]</td>
37
   </tr>
15
<div class="select-item control-panel">
16
  [% "Select article" | $T8 %] [% P.part.picker("part_id", "") %]
17
</div>
38 18

  
39
   [% IF INSTANCE_CONF.get_show_bestbefore %]
40
     <tr>
41
       <th align="right" nowrap>[% 'Best Before' | $T8 %]</th>
42
       <td>[% L.date_tag('bestbefore', "") %]</td>
43
     </tr>
44
   [%- END %]
19
<div id="stock"></div>
45 20

  
46
   <tr>
47
     <th align="right" nowrap>[% 'Target Qty' | $T8 %]</th>
48
     <td>
49
       [% L.input_tag('target_qty', '', size=10, class='numeric') %]
50
       [%- IF SELF.part.unit %]
51
         [% L.select_tag('unit_id', SELF.part.available_units, title_key='name', default=SELF.unit.id) %]
52
       [%- ELSE %]
53
         [% L.select_tag('unit_id', SELF.units, title_key='name') %]
54
       [%- END %]
55
     </td>
56
   </tr>
21
<table id="stocktaking_settings_table" class="tbl-horizontal">
22
  <caption>[% 'Settings stocktaking' | $T8 %]</caption>
23
  <colgroup><col class="wi-mediumsmall"><col class="wi-wide"></colgroup>
24
  <tbody>
25
    <tr>
26
      <th>[% 'Destination warehouse' | $T8 %]</th>
27
      <td class="wi-wide">
28
        [% L.select_tag('warehouse_id', SELF.warehouses, default=SELF.warehouse.id, title_key='description', class='wi-wide' ) %]
29
        [% IF SELF.warehouse.id %]
30
          <span class="below wi-wide condensed">[% L.select_tag('bin_id', SELF.warehouse.bins, default=SELF.bin.id, title_key='description', class='wi-wide' ) %]</span>
31
        [% ELSE %]
32
          <span id="bin_id" class="wi-wide"></span>
33
        [% END %]
34
      </td>
35
    </tr>
36
    <tr>
37
      <th>[% 'Charge number' | $T8 %]</th>
38
      <td>[% L.input_tag('chargenumber', "", size=30, class='wi-wide') %]</td>
39
    </tr>
40
    [% IF INSTANCE_CONF.get_show_bestbefore %]
41
      <tr>
42
        <th>[% 'Best Before' | $T8 %]</th>
43
        <td>[% L.date_tag('bestbefore', "", class='wi-date') %]</td>
44
      </tr>
45
    [% END %]
46
    <tr>
47
      <th>[% 'Target Qty' | $T8 %]</th>
48
      <td>
49
        [% L.input_tag('target_qty', '', size=10, class='numeric wi-small') %]
50
        [% IF SELF.part.unit %]
51
          [% L.select_tag('unit_id', SELF.part.available_units, title_key='name', default=SELF.unit.id, class='wi-small' ) %]
52
        [% ELSE %]
53
          [% L.select_tag('unit_id', SELF.units, title_key='name', class='wi-small') %]
54
        [% END %]
55
      </td>
56
    </tr>
57
    <tr>
58
      <th>[% 'Cutoff Date' | $T8 %]</th>
59
      <td>[% L.date_tag('cutoff_date_as_date', SELF.stocktaking_cutoff_date, class='wi-date' ) %]</td>
60
    </tr>
61
    <tr>
62
      <th>[% 'Optional comment' | $T8 %]</th>
63
      <td>[% L.input_tag('comment', SELF.stocktaking_comment, size=30, class='wi-wide') %]</td>
64
    </tr>
65
  </tbody>
66
</table>
57 67

  
58
   <tr>
59
     <th align="right" nowrap>[% 'Cutoff Date' | $T8 %]</th>
60
     <td>
61
       [% L.date_tag('cutoff_date_as_date', SELF.stocktaking_cutoff_date) %]
62
     </td>
63
   </tr>
68
</form>
64 69

  
65
   <tr>
66
     <th align="right" nowrap>[% 'Optional comment' | $T8 %]</th>
67
     <td>
68
       [% L.input_tag('comment', SELF.stocktaking_comment, size=40) %]
69
     </td>
70
   </tr>
71
 </table>
70
<div id="stocktaking_history">[% LxERP.t8("Loading...") %]</div>
72 71

  
73
</form>
74 72

  
75
<p>
76
  <div id="stocktaking_history">
77
    [%- LxERP.t8("Loading...") %]
78
  </div>
79
</p>
73
</div><!-- /.wrapper -->
templates/webpages/inventory/stocktaking/full_report_top.html
1
<form action='controller.pl' method='post'>
2
<div class='filter_toggle'>
3
<a href='#' onClick='javascript:$(".filter_toggle").toggle()'>[% 'Show Filter' | $T8 %]</a>
4
  [% SELF.filter_summary | html %]
5
</div>
6
<div class='filter_toggle' style='display:none'>
7
<a href='#' onClick='javascript:$(".filter_toggle").toggle()'>[% 'Hide Filter' | $T8 %]</a>
8
[%- PROCESS 'inventory/stocktaking/_filter.html' filter=SELF.stocktaking_models.filtered.laundered %]
9

  
10
[% L.hidden_tag('action', 'Inventory/dispatch') %]
11
[% L.hidden_tag('sort_by', FORM.sort_by) %]
12
[% L.hidden_tag('sort_dir', FORM.sort_dir) %]
13
[% L.hidden_tag('page', FORM.page) %]
14
[% L.input_tag('action_stocktaking_journal', LxERP.t8('Continue'), type = 'submit', class='submit')%]
15 1
[% USE L %]
16 2
[% USE T8 %]
17 3
[% USE LxERP %]
18 4
[% USE HTML %]
19 5

  
6
<form action='controller.pl' method='post'>
7
<div class="wrapper">
20 8

  
21
<a href='#' onClick='javascript:$("#filter_table input").val("");$("#filter_table input[type=checkbox]").prop("checked", 0);'>[% 'Reset' | $T8 %]</a>
9
  [% BLOCK filter_toggle_panel %]
10
    [% PROCESS 'inventory/stocktaking/_filter.html' filter=SELF.stocktaking_models.filtered.laundered %]
11
    [% L.hidden_tag('action', 'Inventory/dispatch') %]
12
    [% L.hidden_tag('sort_by', FORM.sort_by) %]
13
    [% L.hidden_tag('sort_dir', FORM.sort_dir) %]
14
    [% L.hidden_tag('page', FORM.page) %]
15
    <div class="buttons">
16
      [% L.input_tag('action_stocktaking_journal', LxERP.t8('Continue'), type = 'submit',)%]
17
      <a href='#' onClick='javascript:$("#filter_table input").val("");$("#filter_table input[type=checkbox]").prop("checked", 0);' class="button neutral">[% 'Reset' | $T8 %]</a>
18
    </div>
19
  [% END %]
22 20

  
23
</div>
21
  [% INCLUDE common/toggle_panel.html %]
24 22

  
23
</div><!-- /.wrapper -->
25 24
</form>
26
 <hr>
templates/webpages/inventory/stocktaking/report_bottom.html
1 1
[% USE L %]
2
[%- L.paginate_controls(models=SELF.stocktaking_models) %]
2
[% L.paginate_controls(models=SELF.stocktaking_models) %]
templates/webpages/inventory/warehouse_selection_stock.html
6 6

  
7 7
<h1>[% title | html %]</h1>
8 8

  
9
[%- INCLUDE 'common/flash.html' %]
9
[% INCLUDE 'common/flash.html' %]
10 10

  
11 11
<form name="Form" method="post" action="controller.pl" id="form">
12 12

  
13
 <table>
14
  <tr>
15
   <th align="right" nowrap>[% 'Part' | $T8 %]</th>
16
   <td>[% P.part.picker('part_id', SELF.part) %]</td>
17
  </tr>
13
<div class="wrapper">
18 14

  
19
  <tr>
20
   <th align="right" nowrap>[% 'Destination warehouse' | $T8 %]</th>
21
   <td>[% L.select_tag('warehouse_id', SELF.warehouses, default=SELF.warehouse.id, title_key='description') %]
22
     [% IF SELF.warehouse.id %]
23
       [% L.select_tag('bin_id', SELF.warehouse.bins, default=SELF.bin.id, title_key='description') %]
24
      [%- ELSE %]
25
       <span id='bin_id'></span>
15
  <table class="tbl-horizontal">
16
    <colgroup> <col class="wi-mediumsmall"><col class="wi-verywide"> </colgroup>
17
    <tbody>
18
      <tr>
19
        <th>[% 'Part' | $T8 %]</th>
20
        <td>[% P.part.picker('part_id', SELF.part, class='wi-wide') %]</td>
21
      </tr>
22
      <tr>
23
        <th>[% 'Destination warehouse' | $T8 %]</th>
24
        <td class="wi-wide below">
25
          [% L.select_tag('warehouse_id', SELF.warehouses, default=SELF.warehouse.id, title_key='description', class='wi-wide') %]
26
          [% IF SELF.warehouse.id %]
27
            [% L.select_tag('bin_id', SELF.warehouse.bins, default=SELF.bin.id, title_key='description', class='wi-wide below') %]
28
          [% ELSE %]
29
            <span id="bin_id" class="data wi-wide"></span>
30
          [% END %]
31
          <span id="write_default_bin_span" style="display:none;" class="below">[% L.checkbox_tag('write_default_bin', label=LxERP.t8('Write bin to default bin in part?')) %]</span>
32
        </td>
33
      </tr>
34
      <tr>
35
        <th>[% 'Charge number' | $T8 %]</th>
36
        <td>[% L.input_tag('chargenumber', FORM.chargenumber, class='wi-wide') %]</td>
37
      </tr>
38
      [% IF INSTANCE_CONF.get_show_bestbefore %]
39
        <tr>
40
          <th>[% 'Best Before' | $T8 %]</th>
41
          <td>[% L.date_tag('bestbefore', FORM.bestbefore) %]</td>
42
        </tr>
26 43
      [% END %]
27
       <span id='write_default_bin_span' style='display:none'><br>[% L.checkbox_tag('write_default_bin', label=LxERP.t8('Write bin to default bin in part?')) %]</span>
28
    </td>
29
  </tr>
44
      <tr>
45
        <th>[% 'Quantity' | $T8 %]</th>
46
        <td>
47
          [% L.input_tag('qty', LxERP.format_amount(FORM.qty), class='wi-verysmall') %]
48
          [% IF SELF.part.unit %]
49
            [% L.select_tag('unit_id', SELF.part.available_units, title_key='name', default=SELF.unit.id, class='wi-small') %]
50
          [% ELSE %]
51
            [% L.select_tag('unit_id', SELF.units, title_key='name', class='wi-small') %]
52
          [% END %]
53
        </td>
54
      </tr>
55
      <tr>
56
        <th>[% 'Select type of transfer in' | $T8 %]</th>
57
        <td>[% L.select_tag('transfer_type_id', TRANSFER_TYPES, title_key='description', class='wi-wide') %]</td>
58
      </tr>
59
      <tr>
60
        <th>[% 'Optional comment' | $T8 %]</th>
61
        <td>[% L.input_tag('comment', FORM.comment, class='wi-wide') %]</td>
62
      </tr>
63
    </tbody>
64
  </table>
30 65

  
31
  <tr>
32
   <th align="right" nowrap>[% 'Charge number' | $T8 %]</th>
33
   <td>[% L.input_tag('chargenumber', FORM.chargenumber, size=30) %]</td>
34
  </tr>
66
</div><!-- /.wrapper -->
35 67

  
36
[% IF INSTANCE_CONF.get_show_bestbefore %]
37
  <tr>
38
   <th align="right" nowrap>[% 'Best Before' | $T8 %]</th>
39
   <td>[% L.date_tag('bestbefore', FORM.bestbefore) %]</td>
40
  </tr>
41
[%- END %]
68
</form>
42 69

  
43
  <tr>
44
   <th align="right" nowrap>[% 'Quantity' | $T8 %]</th>
45
   <td>
46
    [% L.input_tag('qty', LxERP.format_amount(FORM.qty), size=10) %]
47
[%- IF SELF.part.unit %]
48
    [% L.select_tag('unit_id', SELF.part.available_units, title_key='name', default=SELF.unit.id) %]
49
[%- ELSE %]
50
    [% L.select_tag('unit_id', SELF.units, title_key='name') %]
51
[%- END %]
52
   </td>
53
  </tr>
70
<div class="wrapper">
54 71

  
55
  <tr>
56
   <td>[% 'Select type of transfer in' | $T8 %]:</td>
57
   <td>[% L.select_tag('transfer_type_id', TRANSFER_TYPES, title_key='description') %] </td>
58
  </tr>
72
  <div id="stock">
73
    [% PROCESS 'inventory/_stock.html' %]
74
  </div>
75
  <div id="journal">
76
    [% PROCESS 'inventory/_journal.html' journal=SELF.mini_journal %]
77
  </div>
59 78

  
60
  <tr>
61
   <th align="right" nowrap>[% 'Optional comment' | $T8 %]</th>
62
   <td>[% L.input_tag('comment', FORM.comment, size=60) %]</td>
63
  </tr>
64
 </table>
65
</form>
79
</div><!-- /.wrapper -->
66 80

  
67
<div id='stock'>
68
  [%- PROCESS 'inventory/_stock.html' %]
69
</div>
70
<div id='journal'>
71
 [%- PROCESS 'inventory/_journal.html' journal=SELF.mini_journal %]
72
</div>
73 81

  
74
<script type='text/javascript'>
75
function reload_warehouse_selection () {
76
  $.post("controller.pl", { action: 'Inventory/part_changed', part_id: function(){ return $('#part_id').val() } }, kivi.eval_json_result);
77
  $.post("controller.pl", { action: 'Inventory/mini_stock', part_id: function(){ return $('#part_id').val() } }, kivi.eval_json_result);
78
}
79
function reload_bin_selection () {
80
  $.post("controller.pl", { action: 'Inventory/warehouse_changed', warehouse_id: function(){ return $('#warehouse_id').val() } }, kivi.eval_json_result);
81
}
82
function check_part_selection_before_stocking() {
83
  if ($('#part_id').val() !== '')
84
    return true;
82
<script type="text/javascript">
83
  function reload_warehouse_selection () {
84
    $.post("controller.pl", { action: 'Inventory/part_changed', part_id: function(){ return $('#part_id').val() } }, kivi.eval_json_result);
85
    $.post("controller.pl", { action: 'Inventory/mini_stock', part_id: function(){ return $('#part_id').val() } }, kivi.eval_json_result);
86
  }
87
  function reload_bin_selection () {
88
    $.post("controller.pl", { action: 'Inventory/warehouse_changed', warehouse_id: function(){ return $('#warehouse_id').val() } }, kivi.eval_json_result);
89
  }
90
  function check_part_selection_before_stocking() {
91
    if ($('#part_id').val() !== '')
92
      return true;
85 93

  
86
  alert(kivi.t8('No article has been selected yet.'));
87
  return false;
88
}
89
$(function(){
90
  $('#part_id').change(reload_warehouse_selection);
91
  $('#warehouse_id').change(reload_bin_selection);
92
})
94
    alert(kivi.t8('No article has been selected yet.'));
95
    return false;
96
  }
97
  $(function(){
98
    $('#part_id').change(reload_warehouse_selection);
99
    $('#warehouse_id').change(reload_bin_selection);
100
  })
93 101
</script>
templates/webpages/inventory/warehouse_usage.html
7 7

  
8 8
<h1>[% title | html %]</h1>
9 9

  
10
[%- INCLUDE 'common/flash.html' %]
10
[% INCLUDE 'common/flash.html' %]
11 11

  
12 12
<form name="Form" method="post" action="controller.pl" id="form">
13 13

  
14
 <table border="0">
15
    <tr>
16
     <th class="listheading" align="left" valign="top" colspan="5" nowrap>[% 'Period:' | $T8 %]</th>
17
    </tr>
18
  <tr>
19
    <th align=left><input name=reporttype class=radio type=radio value="custom" checked>[% 'Customized Report' | $T8 %]</th>
20
  </tr>
21
  <tr>
22
    <th colspan=1>[% 'Year' | $T8 %]</th>
23
    <td><input name=year size=11 title="[% 'YYYY' | $T8 %]" value="[% year %]" class="initial_focus"></td>
24
  </tr>
25
  <tr>
26
    <td align=right> <b>[% 'Yearly' | $T8 %]</b> </td>
27
    <th align=left>[% 'Quarterly' | $T8 %]</th>
28
    <th align=left colspan=3>[% 'Monthly' | $T8 %]</th>
29
  </tr>
14
<div class="wrapper">
15

  
16
<table class="tbl-horizontal col">
17
  <caption>[% 'Periods' | $T8 %]</caption>
18
  <colgroup> <col class="wi-smallest"><col class="wi-small"><col class="wi-small"><col class="wi-small"> </colgroup>
19
  <tbody>
30 20
  <tr>
31
    <td align=right>&nbsp; <input name=duetyp class=radio type=radio value="13" checked></td>
32
    <td><input name=duetyp class=radio type=radio value="A">&nbsp;1. [% 'Quarter' | $T8 %]</td>
33
    <td><input name=duetyp class=radio type=radio value="1">&nbsp;[% 'January' | $T8 %]</td>
34
    <td><input name=duetyp class=radio type=radio value="5">&nbsp;[% 'May' | $T8 %]</td>
35
    <td><input name=duetyp class=radio type=radio value="9">&nbsp;[% 'September' | $T8 %]</td>
21
    <th colspan="4"><h4><input name=reporttype type=radio value="custom" checked> [% 'Customized Report' | $T8 %]</h4></th>
36 22
  </tr>
37 23
  <tr>
38
    <td align= right>&nbsp;</td>
39
    <td><input name=duetyp class=radio type=radio value="B">&nbsp;2. [% 'Quarter' | $T8 %]</td>
40
    <td><input name=duetyp class=radio type=radio value="2">&nbsp;[% 'February' | $T8 %]</td>
41
    <td><input name=duetyp class=radio type=radio value="6">&nbsp;[% 'June' | $T8 %]</td>
42
    <td><input name=duetyp class=radio type=radio value="10">&nbsp;[% 'October' | $T8 %]</td>
24
    <th></th>
25
    <th>[% 'Year' | $T8 %]</th>
26
    <td colspan="2">
27
      <input type="text" name=year class="wi-smallest" title="[% 'YYYY' | $T8 %]" value="[% year %]" class="initial_focus" oninput='set_from_to(duetyp.value, this.value)'>
28
    </td>
43 29
  </tr>
44 30
  <tr>
45
    <td> &nbsp;</td>
46
    <td><input name=duetyp class=radio type=radio value="C">&nbsp;3. [% 'Quarter' | $T8 %]</td>
47
    <td><input name=duetyp class=radio type=radio value="3">&nbsp;[% 'March' | $T8 %]</td>
48
    <td><input name=duetyp class=radio type=radio value="7">&nbsp;[% 'July' | $T8 %]</td>
49
    <td><input name=duetyp class=radio type=radio value="11">&nbsp;[% 'November' | $T8 %]</td>
31
    <th></th>
32
    <th>[% 'Yearly'    | $T8 %]</th>
33
    <th>[% 'Quarterly' | $T8 %]</th>
34
    <th>[% 'Monthly'   | $T8 %]</th>
50 35
  </tr>
51 36
  <tr>
52
    <td> &nbsp;</td>
53
    <td><input name=duetyp class=radio type=radio value="D">&nbsp;4. [% 'Quarter' | $T8 %]</td>
54
    <td><input name=duetyp class=radio type=radio value="4">&nbsp;[% 'April' | $T8 %]</td>
55
    <td><input name=duetyp class=radio type=radio value="8">&nbsp;[% 'August' | $T8 %]</td>
56
    <td><input name=duetyp class=radio type=radio value="12">&nbsp;[% 'December' | $T8 %]</td>
37
    <th></th>
38
    <td>
39
      <input name=duetyp type=radio value="13" checked onchange='set_from_to(this.value, year.value)'>[% 'Yearly'    | $T8 %]
40
    </td>
41
    <td>
42
      <input name=duetyp type=radio value="A" onchange='set_from_to(this.value, year.value)'>1. [% 'Quarter' | $T8 %]<br>
43
      <input name=duetyp type=radio value="B" onchange='set_from_to(this.value, year.value)'>2. [% 'Quarter' | $T8 %]<br>
44
      <input name=duetyp type=radio value="C" onchange='set_from_to(this.value, year.value)'>3. [% 'Quarter' | $T8 %]<br>
45
      <input name=duetyp type=radio value="D" onchange='set_from_to(this.value, year.value)'>4. [% 'Quarter' | $T8 %]<br>
46
    </td>
47
    <td>
48
      <input name=duetyp type=radio value="1" onchange='set_from_to(this.value, year.value)'>[% 'January' | $T8 %]<br>
49
      <input name=duetyp type=radio value="2" onchange='set_from_to(this.value, year.value)'>[% 'February' | $T8 %]<br>
50
      <input name=duetyp type=radio value="3" onchange='set_from_to(this.value, year.value)'>[% 'March' | $T8 %]<br>
51
      <input name=duetyp type=radio value="4" onchange='set_from_to(this.value, year.value)'>[% 'April' | $T8 %]<br>
52
      <input name=duetyp type=radio value="5" onchange='set_from_to(this.value, year.value)'>[% 'May' | $T8 %]<br>
53
      <input name=duetyp type=radio value="6" onchange='set_from_to(this.value, year.value)'>[% 'June' | $T8 %]<br>
54
      <input name=duetyp type=radio value="7" onchange='set_from_to(this.value, year.value)'>[% 'July' | $T8 %]<br>
55
      <input name=duetyp type=radio value="8" onchange='set_from_to(this.value, year.value)'>[% 'August' | $T8 %]<br>
56
      <input name=duetyp type=radio value="9" onchange='set_from_to(this.value, year.value)'>[% 'September' | $T8 %]<br>
57
      <input name=duetyp type=radio value="10" onchange='set_from_to(this.value, year.value)'>[% 'October' | $T8 %]<br>
58
      <input name=duetyp type=radio value="11" onchange='set_from_to(this.value, year.value)'>[% 'November' | $T8 %]<br>
59
      <input name=duetyp type=radio value="12" onchange='set_from_to(this.value, year.value)'>[% 'December' | $T8 %]<br>
60
    </td>
57 61
  </tr>
58 62
  <tr>
59
    <td colspan="5"><hr size=3 noshade></td>
63
    <th colspan="4"><h4><input name=reporttype type=radio value="free">[% 'Free report period' | $T8 %]</h4></th>
60 64
  </tr>
61 65
  <tr>
62
    <th align=left><input name=reporttype class=radio type=radio value="free">[% 'Free report period' | $T8 %]</th>
63
    <td align=left colspan=4>
66
    <th></th>
67
    <td colspan="3">
64 68
      [% 'From' | $T8 %] [% L.date_tag('fromdate', fromdate) %]
65
      [% 'Bis' | $T8 %] [% L.date_tag('todate', todate) %]
69
      [% 'Bis' | $T8 %] [% L.date_tag('todate', todate)  %]
66 70
    </td>
67 71
  </tr>
72
  </tbody>
73
</table>
74

  
75
<table class="tbl-horizontal col">
76
  <caption>[% 'Storage & Article' | $T8 %]</caption>
77
  <tbody>
68 78
    <tr>
69
     <th class="listheading" align="left" valign="top" colspan="5" nowrap>[% 'Filter' | $T8 %]</th>
79
      <th>[% 'Warehouse' | $T8 %]</th>
80
      <td>
81
        <select name="warehouse_id" id="warehouse_id" onchange="warehouse_selected(this.value, 0)" class="wi-normal">
82
          <option value="">---</option>
83
          [% FOREACH warehouse = WAREHOUSES %]
84
            <option value="[% HTML.escape(warehouse.id) %]">[% warehouse.description %]</option>
85
          [% END %]
86
        </select>
87
      </td>
70 88
    </tr>
71 89
    <tr>
72
     <td colspan="5">
73
      <table>
74
       <tr>
75
        <th align="right" nowrap>[% 'Warehouse' | $T8 %]:</th>
76
        <td>
77
         <select name="warehouse_id" id="warehouse_id" onchange="warehouse_selected(this.value, 0)">
78
          <option value="">---</option>
79
          [%- FOREACH warehouse = WAREHOUSES %]
80
          <option value="[% HTML.escape(warehouse.id) %]">[% warehouse.description %]</option>
81
          [%- END %]
82
         </select>
83
        </td>
84
       </tr>
85
       <tr>
86
        <th align="right" nowrap>[% 'Bin' | $T8 %]:</th>
87
        <td><select name="bin_id" id="bin_id"></select></td>
88
       </tr>
89
       <tr>
90
        <th align="right" nowrap>[% 'Part Number' | $T8 %]:</th>
91
        <td><input name="partnumber" size=20></td>
92
       </tr>
93
       <tr>
94
        <th align="right" nowrap>[% 'Part Description' | $T8 %]:</th>
95
        <td><input name="description" size=40></td>
96
       </tr>
97
[% IF PARTSCLASSIFICATIONS %]
98
       <tr>
99
        <td>
100
           [% L.select_tag('partsclassification',PARTSCLASSIFICATION,title_key="partsclassification") %]
101
        </td>
102
       </tr>
103
[% END %]
104
       <tr>
105
        <th align="right" nowrap>[% 'Charge Number' | $T8 %]:</th>
106
        <td><input name="chargenumber" size=40></td>
107
       </tr>
108
       [% IF INSTANCE_CONF.get_show_bestbefore %]
109
       <tr>
110
        <th align="right" nowrap>[% 'Best Before' | $T8 %]:</th>
111
        <td>
112
          [% L.date_tag('bestbefore') %]
113
        </td>
114
       </tr>
115
       [% END %]
116
      </table>
117
     </td>
90
      <th>[% 'Bin' | $T8 %]</th>
91
      <td><select name="bin_id" id="bin_id" class="wi-normal"></select></td>
92
    </tr>
93
    <tr>
94
      <th>[% 'Part Number' | $T8 %]</th>
95
      <td><input type="text" name="partnumber" class="wi-normal"></td>
96
    </tr>
97
    <tr>
98
      <th>[% 'Part Description' | $T8 %]</th>
99
      <td><input type="text" name="description" class="wi-normal"></td>
118 100
    </tr>
119
   </table>
120
  </p>
121
 </form>
101
    [% IF PARTSCLASSIFICATIONS %]
102
      <tr>
103
        <th>[% 'Part Classification' | $T8 %]</th>
104
        <td>[% L.select_tag('partsclassification',PARTSCLASSIFICATION,title_key="partsclassification", class='wi-normal') %]</td>
105
      </tr>
106
    [% END %]
107
    <tr>
108
      <th>[% 'Charge Number' | $T8 %]</th>
109
      <td><input type="text" name="chargenumber" class="wi-normal"></td>
110
    </tr>
111
    [% IF INSTANCE_CONF.get_show_bestbefore %]
112
    <tr>
113
      <th>[% 'Best Before' | $T8 %]</th>
114
      <td>[% L.date_tag('bestbefore') %]</td>
115
    </tr>
116
    [% END %]
117
  </tbody>
118
</table>
119

  
120
</div>
121

  
122
</form>

Auch abrufbar als: Unified diff