Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 37933b6d

Von Werner Hahn vor 5 Monaten hinzugefügt

  • ID 37933b6d9997ce57fe927b1cebdfebaed6dbe0a1
  • Vorgänger 88e0dd95
  • Nachfolger 915f0c04

Mock POS initial

Unterschiede anzeigen:

SL/Controller/POS.pm
1
package SL::Controller::POS;
2

  
3
use strict;
4
use parent qw(SL::Controller::Base);
5

  
6
use SL::Helper::Flash qw(flash flash_later);
7
use SL::HTML::Util;
8
use SL::Presenter::Tag qw(select_tag hidden_tag div_tag);
9
use SL::Locale::String qw(t8);
10

  
11
use SL::Helper::CreatePDF qw(:all);
12
use SL::Helper::PrintOptions;
13
use SL::Helper::ShippedQty;
14
use SL::Helper::UserPreferences::DisplayPreferences;
15
use SL::Helper::UserPreferences::PositionsScrollbar;
16
use SL::Helper::UserPreferences::UpdatePositions;
17

  
18
use SL::Controller::Helper::GetModels;
19

  
20
use List::Util qw(first sum0);
21
use List::UtilsBy qw(sort_by uniq_by);
22
use List::MoreUtils qw(uniq any none pairwise first_index);
23
use English qw(-no_match_vars);
24
use File::Spec;
25
use Cwd;
26
use Sort::Naturally;
27

  
28
# show form pos
29
sub action_show_form {
30
  my ($self) = @_;
31
$main::lxdebug->dump(0, "TST:POS ", $self);
32
  $self->render(
33
    'pos/form',
34
    title => t8('POS'),
35
  );
36
}
37

  
38
sub setup_edit_action_bar {
39
  my ($self, %params) = @_;
40
  for my $bar ($::request->layout->get('actionbar')) {
41
    $bar->add(
42
      action => [
43
        t8('ACTION'),
44
        call      => [ 'kivi.POS.action', {
45
          action             => 'ACTION',
46
        }],
47
      ],
48
    );
49
  }
50
}
51
1;
menus/user/90-pos.yaml
1
---
2
- parent: ar
3
  id: pos_form
4
  name: POS for kivi
5
  order: 2370
6
  params:
7
    action: POS/show_form
templates/design40_webpages/pos/form.html
1
[% USE T8 %]
2
[% USE LxERP %]
3
[% USE L %]
4
[% USE P %]
5
[% USE HTML %]
6

  
7
<h1>[% FORM.title %]</h1>
8

  
9
<div class="wrapper" id="customer_salesman">
10
    [% P.customer_vendor.picker("customer_id",'',type="customer", show_details="1") %]
11
    [% L.button_tag("bearbeiten") %]
12
    [% L.button_tag("löschen") %]
13
    [% L.select_tag('order.salesman_id',
14
          SELF.all_salesmen,
15
          default=(SELF.order.salesman_id ? SELF.order.salesman_id : SELF.current_employee_id),
16
          class='wi-normal',
17
          title_key='safe_name') %]
18
</div>
19

  
20
<div class="wrapper" id="wrapper-1" width="50%">
21
[% INCLUDE 'generic/toggle_wrapper.html' %]
22

  
23
<div class="col">
24

  
25
  <table class="tbl-horizontal col">
26
    <caption>[% 'Customer & Order Information' | $T8 %]</caption>
27
    <colgroup><col class="wi-mediumsmall"><col class="wi-lightwide"></colgroup>
28
    <tbody>
29
      <tr id='cp_row' [% IF !SELF.order.${SELF.cv}.contacts.size %]style='display:none'[% END %]>
30
        <th>[% 'Contact Person' | $T8 %]</th>
31
        <td>[% L.select_tag('order.cp_id',
32
                            SELF.order.${SELF.cv}.contacts,
33
                            default=SELF.order.cp_id,
34
                            title_key='full_name_dep',
35
                            value_key='cp_id',
36
                            with_empty=1,
37
                            class='wi-lightwide') %]</td>
38
      </tr>
39
      <tr>
40
        <th>[% 'Shipping Address' | $T8 %]</th>
41
        <td>
42
          <span id='shipto_selection' [% IF !SELF.order.${SELF.cv}.shipto.size %]style='display:none'[% END %]>
43
            [% shiptos = [ { shipto_id => "", displayable_id => LxERP.t8("No/individual shipping address") } ] ;
44
               FOREACH s = SELF.order.${SELF.cv}.shipto ;
45
                 shiptos.push(s) ;
46
               END ;
47
               L.select_tag('order.shipto_id',
48
                             shiptos,
49
                             default=SELF.order.shipto_id,
50
                             title_key='displayable_id',
51
                             value_key='shipto_id',
52
                             with_empty=0,
53
                             class='wi-lightwide') %]
54
          </span>
55
          [% L.button_tag("kivi.Order.edit_custom_shipto()",
56
                          LxERP.t8("Custom shipto"),
57
                          class='button neutral below wi-lightwide') %]
58
        </td>
59
      </tr>
60
      <tr id="billing_address_row"[% IF !SELF.order.customer.additional_billing_addresses.as_list.size %]style="display:none"[% END %]>
61
        <th>[% 'Custom Billing Address' | $T8 %]</th>
62
        <td>
63
          [% L.select_tag('order.billing_address_id',
64
                           SELF.order.customer.additional_billing_addresses,
65
                           default=SELF.order.billing_address_id,
66
                           title_key='displayable_id',
67
                           value_key='id',
68
                           with_empty=1,
69
                           class='wi-lightwide') %]
70
        </td>
71
      </tr>
72
      [% PROCESS order/tabs/_business_info_row.html SELF=SELF %]
73
      <tr>
74
        <th>[% 'Steuersatz' | $T8 %]</th>
75
        <td>[% L.select_tag('order.taxzone_id', SELF.all_taxzones, default=SELF.order.taxzone_id, title_key='description', class='recalc wi-lightwide') %]</td>
76
      </tr>
77
      <!-- CURRENCY und EXCAHANGERATE rausgenommen -->
78
      [% IF SELF.all_languages.size %]
79
        <tr>
80
          <th>[% 'Language' | $T8 %]</th>
81
          <td>
82
            [% L.select_tag('order.language_id', SELF.all_languages, default=SELF.order.language_id, title_key='description', with_empty=1, class='wi-lightwide') %]
83
          </td>
84
        </tr>
85
      [% END %]
86
      [% IF SELF.all_departments.size %]
87
        <tr>
88
          <th>[% 'Department' | $T8 %]</th>
89
          <td>
90
            [% L.select_tag('order.department_id', SELF.all_departments, default=SELF.order.department_id, title_key='description', with_empty=1, class='wi-lightwide') %]
91
          </td>
92
        </tr>
93
      [% END %]
94
      <tr>
95
        <th>[% 'Shipping Point' | $T8 %]</th>
96
        <td>[% L.input_tag('order.shippingpoint', SELF.order.shippingpoint, class='wi-lightwide') %]</td>
97
      </tr>
98
      <tr>
99
        <th>[% 'Ship via' | $T8 %]</th>
100
        <td>[% L.input_tag('order.shipvia', SELF.order.shipvia, class='wi-lightwide') %]</td>
101
      </tr>
102
      <tr>
103
        <th>[% 'Transaction description' | $T8 %]</th>
104
        <td>[% L.input_tag('order.transaction_description', SELF.order.transaction_description, 'data-validate'=INSTANCE_CONF.get_require_transaction_description_ps ? 'required' : '', class='wi-lightwide') %]</td>
105
      </tr>
106
      <tr>
107
        <th>[% 'Project Number' | $T8 %]</th>
108
        <td>[% P.project.picker('order.globalproject_id', SELF.order.globalproject_id, class='wi-lightwide') %]</td>
109
      </tr>
110
    </tbody>
111
  </table>
112

  
113
  <table class="tbl-horizontal col">
114
    <caption>[% 'Terms' | $T8 %]</caption>
115
    <colgroup><col class="wi-mediumsmall"><col class="wi-lightwide"></colgroup>
116
    <tbody>
117
      <tr>
118
        <td colspan="2">
119
          <span class="label above">[% 'Payment Terms' | $T8 %]</span>
120
          [% L.select_tag('order.payment_id',
121
                            SELF.all_payment_terms,
122
                            default = SELF.order.payment_id,
123
                            with_empty = 1,
124
                            title_key = 'description',
125
                            class = 'wi-mediumsmall-lightwide') %]
126
        </td>
127
      </tr>
128
      <tr>
129
        <td colspan="2">
130
          <span class="label above">[% 'Delivery Terms' | $T8 %]</span>
131
          [% L.select_tag('order.delivery_term_id',
132
                            SELF.all_delivery_terms,
133
                            default = SELF.order.delivery_term_id,
134
                            with_empty = 1,
135
                            title_key = 'description',
136
                            class = 'wi-mediumsmall-lightwide') %]
137
        </td>
138
      </tr>
139
      <tr id="taxincluded_row_id">
140
        <th>[% IF !SELF.taxes.size %]<label for="order.taxincluded">[% 'Tax Included' | $T8 %]</label> [% END %]</th>
141
        <td>[% IF !SELF.taxes.size %][% L.yes_no_tag('order.taxincluded', SELF.order.taxincluded, class='recalc') %][% END %]</td>
142
      </tr>
143
    </tbody>
144
  </table>
145

  
146
</div><!-- /.col -->
147

  
148
<table class="tbl-horizontal col">
149
  <caption>[% 'Notes' | $T8 %]</caption>
150
  <colgroup><col class="wi-wide"></colgroup>
151
  <tbody>
152
    <tr>
153
      <td class="wi-wide">[% L.textarea_tag('order.notes', SELF.order.notes, wrap="soft",rows=7, class="texteditor wi-wide") %]</td>
154
    </tr>
155
    <tr>
156
      <td><span class="label above">[% 'Internal Notes' | $T8 %]</span>[% L.textarea_tag('order.intnotes', SELF.order.intnotes, wrap="soft", style="height: 150px", class="wi-wide") %]</td>
157
    </tr>
158
  </tbody>
159
</table>
160

  
161
</div><!-- /.wrapper -->
162

  
163

  
164

  
165

  

Auch abrufbar als: Unified diff