Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision fa654209

Von Moritz Bunkus vor mehr als 17 Jahren hinzugefügt

  • ID fa654209d149de56340fa28d3f57678bb81562c9
  • Vorgänger 75a472b9
  • Nachfolger eef466c1

Funktion "show_invoices" auf die Verwendung von HTML-Vorlagen umgestellt.

Unterschiede anzeigen:

bin/mozilla/dn.pl
86 86
  DN->get_invoices(\%myconfig, \%$form);
87 87
  $form->{title} = $locale->text('Start Dunning Process');
88 88

  
89
  if (@{ $form->{DUNNING_CONFIG} }) {
90
    foreach $item (@{ $form->{DUNNING_CONFIG} }) {
91
        $form->{selectdunning} .=
92
          "<option value=$item->{id}>$item->{dunning_description}</option>";
93
    }
94
  }
95

  
96

  
97
  $form->{nextsub} = "save_dunning";
98

  
99
  $form->{jsscript} = 1;
100
  $form->{javascript} .= qq|<script type="text/javascript" src="js/checkbox_utils.js"></script>|;
101

  
102
  $form->{callback} =
103
    "$form->{script}?action=show_invoices&login=$form->{login}&password=$form->{password}&customer=$form->{customer}&invnumber=$form->{invnumber}&ordnumber=$form->{ordnumber}&paymentuntil=$form->{paymentuntil}&groupinvoices=$form->{groupinvoices}&minamount=$form->{minamount}&dunning_level=$form->{dunning_level}&notes=$form->{notes}"
104
    unless $form->{callback};
105

  
106
  @column_index = qw(dunning_description dunning_description_next active email customername invnumber invdate inv_duedate amount next_duedate fee interest );
107

  
108
  $column_header{dunning_description} =
109
      qq|<th class="listheading" colspan="2">|
110
    . $locale->text('Current / Next Level')
111
    . qq|</th>|;
112
  $column_header{active} =
113
      qq|<th class=listheading>|
114
    . NTI($cgi->checkbox('-name' => 'selectall_active',
115
                         '-label' => $locale->text('Active?'),
116
                         '-checked' => 0,
117
                         '-onclick' => "checkbox_check_all('selectall_active', 'active_', 1, " . scalar(@{ $form->{DUNNINGS} }) . ")"))
118
    . qq|</th>|;
119
  $column_header{email} =
120
      qq|<th class=listheading>|
121
    . NTI($cgi->checkbox('-name' => 'selectall_email',
122
                         '-label' => $locale->text('eMail?'),
123
                         '-checked' => 0,
124
                         '-onclick' => "checkbox_check_all('selectall_email', 'email_', 1, " . scalar(@{ $form->{DUNNINGS} }) . ")"))
125
    . qq|</th>|;
126
  $column_header{customername} =
127
      qq|<th class=listheading>|
128
    . $locale->text('Customername')
129
    . qq|</th>|;
130
  $column_header{invnumber} =
131
      qq|<th class=listheading>|
132
    . $locale->text('Invno.')
133
    . qq|</th>|;
134
  $column_header{inv_duedate} =
135
      qq|<th class=listheading>|
136
    . $locale->text('Inv. Duedate')
137
    . qq|</th>|;
138
  $column_header{next_duedate} =
139
      qq|<th class=listheading>|
140
    . $locale->text('Dunning Duedate')
141
    . qq|</th>|;
142
  $column_header{invdate} =
143
      qq|<th class=listheading>|
144
    . $locale->text('Invdate')
145
    . qq|</th>|;
146
  $column_header{amount} =
147
      qq|<th class=listheading>|
148
    . $locale->text('Amount')
149
    . qq|</th>|;
150
  $column_header{fee} =
151
      qq|<th class=listheading>|
152
    . $locale->text('Total Fees')
153
    . qq|</th>|;
154
  $column_header{interest} =
155
      qq|<th class=listheading>|
156
    . $locale->text('Interest')
157
    . qq|</th>|;
158

  
159
  $form->header;
160

  
161

  
162
  print qq|
163
<body>
164
<script type="text/javascript" src="js/common.js"></script>
165
<script type="text/javascript" src="js/dunning.js"></script>
166
<form name=Form method=post action=$form->{script}>
89
  foreach my $row (@{ $form->{DUNNINGS} }) {
90
    $row->{DUNNING_CONFIG} = [ map +{ %{ $_ } }, @{ $form->{DUNNING_CONFIG} } ];
167 91

  
168

  
169
<table width=100%>
170
  <tr>
171
    <th class=listtop colspan=12>$form->{title}</th>
172
  </tr>
173
  <tr height="5"></tr>
174
  <tr>|;
175
  map { print "$column_header{$_}\n" if $column_header{$_}; } @column_index;
176

  
177
  print qq|
178
        </tr>
179
|;
180
  my $i = 0;
181
  foreach $ref (@{ $form->{DUNNINGS} }) {
182

  
183
    $i++;
184
    my $j = $i % 2;
185

  
186
    print qq|
187
        <tr valign=top class=listrow$j>
188
|;
189

  
190
    $form->{selectdunning} =~ s/ selected//g;
191
    if ($ref->{next_dunning_config_id} ne "") {
192
      $form->{selectdunning} =~ s/value=$ref->{next_dunning_config_id}/value=$ref->{next_dunning_config_id} selected/;
92
    if ($row->{next_dunning_config_id}) {
93
      map { $_->{SELECTED} = $_->{id} == $row->{next_dunning_config_id} } @{ $row->{DUNNING_CONFIG } };
193 94
    }
194

  
195
    $column_data{dunning_description} =
196
      qq|<td>|
197
      . qq|<input type=hidden name=inv_id_$i size=2 value="$ref->{id}">|
198
      . qq|<input type=hidden name=customer_id_$i size=2 value="$ref->{customer_id}">|
199
      . ($ref->{dunning_level} ? $ref->{dunning_level} : "&nbsp;")
200
      . qq|</td>|;
201
    $column_data{dunning_description_next} =
202
      qq|<td>|
203
      . qq|<select name=next_dunning_config_id_$i>$form->{selectdunning}</select>|
204
      . qq|</td>|;
205
    my $active = ($ref->{active}) ? "checked" : "";
206
    $column_data{active} =
207
      qq|<td><input type=checkbox name=active_$i value=1 $active></td>|;
208
    my $email = ($ref->{email}) ? "checked" : "";
209
    $column_data{email} =
210
      qq|<td><input type=checkbox name=email_$i value=1 $email></td>|;
211
    $column_data{next_duedate}           = qq|<td>$ref->{next_duedate}</td>|;
212

  
213
    $column_data{inv_duedate}           = qq|<td><input type=hidden name=inv_duedate_$i size=6 value="$ref->{duedate}">$ref->{duedate}</td>|;
214
    $column_data{invdate}           = qq|<td><input type=hidden name=invdate_$i size=6 value="$ref->{transdate}">$ref->{transdate}</td>|;
215
    $column_data{invnumber}           = qq|<td><input type=hidden name=invnumber_$i size=6 value="$ref->{invnumber}">$ref->{invnumber}</td>|;
216
    $column_data{customername}           = qq|<td><input type=hidden name=customername_$i size=6 value="$ref->{customername}">$ref->{customername}</td>|;
217

  
218
    map { $column_data{$_} =
219
            qq|<td align="right">|
220
            . H($form->format_amount(\%myconfig, $ref->{$_} * 1, -2))
221
            . qq|</td>|
222
    } qw(amount fee interest);
223

  
224
    map { print "$column_data{$_}\n" } @column_index;
225

  
226
    print qq|
227
	</tr>
228
|;
95
    map { $row->{$_} = $form->format_amount(\%myconfig, $row->{$_} * 1, -2) } qw(amount fee interest);
229 96
  }
230 97

  
231
  $form->{rowcount} = $i;
98
  $form->{rowcount}       = scalar @{ $form->{DUNNINGS} };
99
  $form->{jsscript}       = 1;
100
  $form->{callback}     ||= build_std_url("action=show_invoices", qw(login password customer invnumber ordnumber groupinvoices minamount dunning_level notes));
232 101

  
233
  print qq|
234
      </table>
235
    </td>
236
  </tr>
237
  <tr>
238
  <td><hr size=3 noshade></td>
239
  </tr>
240
</table>|;
241
  print_options();
242
  print qq|
243
<br>
244
<form method=post action=$form->{script}>
245

  
246
<input name=callback type=hidden value="$form->{callback}">
247
<input name=rowcount type=hidden value="$form->{rowcount}">
248
<input name=nextsub type=hidden value="$form->{nextsub}">
249
<input name=groupinvoices type=hidden value="$form->{groupinvoices}">
250

  
251

  
252
<input type=hidden name=login value=$form->{login}>
253
<input type=hidden name=password value=$form->{password}>
254
<input type="hidden" name="action">
255
<input type="submit" name="dummy" value="|
256
    . $locale->text('Continue') . qq|" onclick="this.disabled=true; this.value='| . $locale->text("The dunning process started") . qq|'; document.Form.action.value='| . $locale->text('Continue') . qq|'; document.Form.submit()">
257

  
258
  </form>
259

  
260
  </body>
261
  </html>
262
|;
102
  $form->{PRINT_OPTIONS}  = print_options(1);
263 103

  
104
  $form->header();
105
  print $form->parse_html_template("dunning/show_invoices");
264 106

  
265 107
  $lxdebug->leave_sub();
266

  
267 108
}
268 109

  
269 110
sub save {
locale/de/dn
2 2
  ' Date missing!'              => ' Datum fehlt!',
3 3
  '*/'                          => '*/',
4 4
  'ADDED'                       => 'Hinzugef?gt',
5
  'Active?'                     => 'Aktiviert?',
6 5
  'Add Purchase Order'          => 'Lieferantenauftrag erfassen',
7 6
  'Add Quotation'               => 'Angebot erfassen',
8 7
  'Add Request for Quotation'   => 'Anfrage erfassen',
......
27 26
  'Could not create dunning copy!' => 'Eine Kopie der Zahlungserinnerung konnte nicht erstellt werden.',
28 27
  'Country'                     => 'Land',
29 28
  'Credit Note'                 => 'Gutschrift',
30
  'Current / Next Level'        => 'Aktuelles / N?chstes Mahnlevel',
31 29
  'Customer'                    => 'Kunde',
32 30
  'Customer Number'             => 'Kundennummer',
33 31
  'Customer not on file or locked!' => 'Dieser Kunde existiert nicht oder ist gesperrt.',
......
68 66
  'History'                     => 'Historie',
69 67
  'In-line'                     => 'im Text',
70 68
  'Interest'                    => 'Zinsen',
71
  'Inv. Duedate'                => 'Rg. F?lligkeit',
72 69
  'Invdate'                     => 'Rechnungsdatum',
73 70
  'Invdate from'                => 'Rechnungen von',
74
  'Invno.'                      => 'Rg. Nr.',
75 71
  'Invnumber'                   => 'Rechnungsnummer',
76 72
  'Invoice'                     => 'Rechnung',
77 73
  'Invoice Date missing!'       => 'Rechnungsdatum fehlt!',
......
181 177
  'Subtotal'                    => 'Zwischensumme',
182 178
  'Terms missing in row '       => '+Tage fehlen in Zeile ',
183 179
  'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
184
  'The dunning process started' => 'Der Mahnprozess ist gestartet.',
185 180
  'To'                          => 'An',
186 181
  'Total Fees'                  => 'Kumulierte Geb?hren',
187 182
  'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
......
196 191
  'Zipcode'                     => 'PLZ',
197 192
  'bin_list'                    => 'Lagerliste',
198 193
  'button'                      => '?',
199
  'eMail?'                      => 'eMail?',
200 194
  'emailed to'                  => 'gemailt an',
201 195
  'invoice'                     => 'Rechnung',
202 196
  'none (pricegroup)'           => 'keine',
templates/webpages/dunning/show_invoices_de.html
1
<body>
2
 <script type="text/javascript" src="js/checkbox_utils.js"></script>
3
 <script type="text/javascript" src="js/common.js"></script>
4
 <script type="text/javascript" src="js/dunning.js"></script>
5

  
6
 <div class="listtop" width="100%"><TMPL_VAR title></div>
7

  
8
 <form name="Form" method="post" action="dn.pl">
9

  
10
  <table width="100%">
11
   <th class="listheading" colspan="2">Aktuelles / N?chstes Mahnlevel</th>
12

  
13
   <th class="listheading">
14
    <input type="checkbox" name="selectall_active" id="selectall_active" onclick="checkbox_check_all('selectall_active', 'active_', 1, <TMPL_VAR rowcount>);">
15
    <label for="selectall_active">Aktiviert?</label>
16
   </th>
17

  
18
   <th class="listheading">
19
    <input type="checkbox" name="selectall_email" id="selectall_email" onclick="checkbox_check_all('selectall_email', 'email_', 1, <TMPL_VAR rowcount>);">
20
    <label for="selectall_email">eMail?</label>
21
   </th>
22

  
23
   <th class="listheading">Kundenname</th>
24
   <th class="listheading">Rg. Nr.</th>
25
   <th class="listheading">Rechnungsdatum</th>
26
   <th class="listheading">Rg. F?lligkeit</th>
27
   <th class="listheading">Betrag</th>
28
   <th class="listheading">Zahlbar bis</th>
29
   <th class="listheading">Kumulierte Geb?hren</th>
30
   <th class="listheading">Zinsen</th>
31

  
32
   <!-- Ausgabe der einzelnen Zeilen -->
33

  
34
   <TMPL_LOOP DUNNINGS>
35
    <tr class="listrow<TMPL_IF __odd__>1<TMPL_ELSE>0</TMPL_IF>">
36

  
37
     <td>
38
      <input type="hidden" name="inv_id_<TMPL_VAR __counter__>" size="2" value="<TMPL_VAR id ESCAPE=HTML>">
39
      <input type="hidden" name="customer_id_<TMPL_VAR __counter__>" size="2" value="<TMPL_VAR customer_id ESCAPE=HTML>">
40
      <TMPL_IF dunning_level><TMPL_VAR dunning_level ESCAPE=HTML><TMPL_ELSE>&nbsp;</TMPL_IF>
41
     </td>
42

  
43
     <td>
44
      <select name="next_dunning_config_id_<TMPL_VAR __counter__>">
45
       <TMPL_LOOP DUNNING_CONFIG><option value="<TMPL_VAR id ESCAPE=HTML>" <TMPL_IF SELECTED>selected</TMPL_IF>><TMPL_VAR dunning_description ESCAPE=HTML></option></TMPL_LOOP>
46
      </select>
47
     </td>
48

  
49
     <td><input type="checkbox" name="active_<TMPL_VAR __counter__>" value="1" <TMPL_IF active>checked</TMPL_IF>></td>
50
     <td><input type="checkbox" name="email_<TMPL_VAR __counter__>" value="1" <TMPL_IF email>checked</TMPL_IF>></td>
51
     <td><TMPL_VAR next_duedate ESCAPE=HTML></td>
52
     <td><input type="hidden" name="inv_duedate_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR duedate ESCAPE=HTML>"><TMPL_VAR duedate ESCAPE=HTML></td>
53
     <td><input type="hidden" name="invdate_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR transdate ESCAPE=HTML>"><TMPL_VAR transdate ESCAPE=HTML></td>
54
     <td><input type="hidden" name="invnumber_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR invnumber ESCAPE=HTML>"><TMPL_VAR invnumber ESCAPE=HTML></td>
55
     <td><input type="hidden" name="customername_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR customername ESCAPE=HTML>"><TMPL_VAR customername ESCAPE=HTML></td>
56
     <td align="right"><input type="hidden" name="amount_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR amount ESCAPE=HTML>"><TMPL_VAR amount ESCAPE=HTML></td>
57
     <td align="right"><input type="hidden" name="fee_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR fee ESCAPE=HTML>"><TMPL_VAR fee ESCAPE=HTML></td>
58
     <td align="right"><input type="hidden" name="interest_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR interest ESCAPE=HTML>"><TMPL_VAR interest ESCAPE=HTML></td>
59
    </tr>
60
   </TMPL_LOOP>
61
  </table>
62

  
63
  <hr size=3 noshade>
64

  
65
  <TMPL_VAR PRINT_OPTIONS>
66

  
67
  <br>
68

  
69
  <input name="rowcount" type="hidden" value="<TMPL_VAR rowcount ESCAPE=HTML>">
70
  <input name="groupinvoices" type="hidden" value="<TMPL_VAR groupinvoices ESCAPE=HTML>">
71

  
72
  <input name="callback" type="hidden" value="<TMPL_VAR callback ESCAPE=HTML>">
73
  <input name="nextsub" type="hidden" value="save_dunning">
74

  
75
  <input type="hidden" name="login" value="<TMPL_VAR login ESCAPE=HTML>">
76
  <input type="hidden" name="password" value="<TMPL_VAR password ESCAPE=HTML>">
77
  <input type="hidden" name="action" value="Weiter">
78

  
79
  <input type="submit" name="dummy" value="Weiter"
80
         onclick="this.disabled=true; this.value='Der Mahnprozess ist gestartet.'; document.Form.submit()">
81

  
82
 </form>
83
</body>
84
</html>
templates/webpages/dunning/show_invoices_master.html
1
<body>
2
 <script type="text/javascript" src="js/checkbox_utils.js"></script>
3
 <script type="text/javascript" src="js/common.js"></script>
4
 <script type="text/javascript" src="js/dunning.js"></script>
5

  
6
 <div class="listtop" width="100%"><TMPL_VAR title></div>
7

  
8
 <form name="Form" method="post" action="dn.pl">
9

  
10
  <table width="100%">
11
   <th class="listheading" colspan="2"><translate>Current / Next Level</translate></th>
12

  
13
   <th class="listheading">
14
    <input type="checkbox" name="selectall_active" id="selectall_active" onclick="checkbox_check_all('selectall_active', 'active_', 1, <TMPL_VAR rowcount>);">
15
    <label for="selectall_active"><translate>Active?</translate></label>
16
   </th>
17

  
18
   <th class="listheading">
19
    <input type="checkbox" name="selectall_email" id="selectall_email" onclick="checkbox_check_all('selectall_email', 'email_', 1, <TMPL_VAR rowcount>);">
20
    <label for="selectall_email"><translate>eMail?</translate></label>
21
   </th>
22

  
23
   <th class="listheading"><translate>Customername</translate></th>
24
   <th class="listheading"><translate>Invno.</translate></th>
25
   <th class="listheading"><translate>Invdate</translate></th>
26
   <th class="listheading"><translate>Inv. Duedate</translate></th>
27
   <th class="listheading"><translate>Amount</translate></th>
28
   <th class="listheading"><translate>Dunning Duedate</translate></th>
29
   <th class="listheading"><translate>Total Fees</translate></th>
30
   <th class="listheading"><translate>Interest</translate></th>
31

  
32
   <!-- Ausgabe der einzelnen Zeilen -->
33

  
34
   <TMPL_LOOP DUNNINGS>
35
    <tr class="listrow<TMPL_IF __odd__>1<TMPL_ELSE>0</TMPL_IF>">
36

  
37
     <td>
38
      <input type="hidden" name="inv_id_<TMPL_VAR __counter__>" size="2" value="<TMPL_VAR id ESCAPE=HTML>">
39
      <input type="hidden" name="customer_id_<TMPL_VAR __counter__>" size="2" value="<TMPL_VAR customer_id ESCAPE=HTML>">
40
      <TMPL_IF dunning_level><TMPL_VAR dunning_level ESCAPE=HTML><TMPL_ELSE>&nbsp;</TMPL_IF>
41
     </td>
42

  
43
     <td>
44
      <select name="next_dunning_config_id_<TMPL_VAR __counter__>">
45
       <TMPL_LOOP DUNNING_CONFIG><option value="<TMPL_VAR id ESCAPE=HTML>" <TMPL_IF SELECTED>selected</TMPL_IF>><TMPL_VAR dunning_description ESCAPE=HTML></option></TMPL_LOOP>
46
      </select>
47
     </td>
48

  
49
     <td><input type="checkbox" name="active_<TMPL_VAR __counter__>" value="1" <TMPL_IF active>checked</TMPL_IF>></td>
50
     <td><input type="checkbox" name="email_<TMPL_VAR __counter__>" value="1" <TMPL_IF email>checked</TMPL_IF>></td>
51
     <td><TMPL_VAR next_duedate ESCAPE=HTML></td>
52
     <td><input type="hidden" name="inv_duedate_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR duedate ESCAPE=HTML>"><TMPL_VAR duedate ESCAPE=HTML></td>
53
     <td><input type="hidden" name="invdate_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR transdate ESCAPE=HTML>"><TMPL_VAR transdate ESCAPE=HTML></td>
54
     <td><input type="hidden" name="invnumber_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR invnumber ESCAPE=HTML>"><TMPL_VAR invnumber ESCAPE=HTML></td>
55
     <td><input type="hidden" name="customername_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR customername ESCAPE=HTML>"><TMPL_VAR customername ESCAPE=HTML></td>
56
     <td align="right"><input type="hidden" name="amount_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR amount ESCAPE=HTML>"><TMPL_VAR amount ESCAPE=HTML></td>
57
     <td align="right"><input type="hidden" name="fee_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR fee ESCAPE=HTML>"><TMPL_VAR fee ESCAPE=HTML></td>
58
     <td align="right"><input type="hidden" name="interest_<TMPL_VAR __counter__>" size="6" value="<TMPL_VAR interest ESCAPE=HTML>"><TMPL_VAR interest ESCAPE=HTML></td>
59
    </tr>
60
   </TMPL_LOOP>
61
  </table>
62

  
63
  <hr size=3 noshade>
64

  
65
  <TMPL_VAR PRINT_OPTIONS>
66

  
67
  <br>
68

  
69
  <input name="rowcount" type="hidden" value="<TMPL_VAR rowcount ESCAPE=HTML>">
70
  <input name="groupinvoices" type="hidden" value="<TMPL_VAR groupinvoices ESCAPE=HTML>">
71

  
72
  <input name="callback" type="hidden" value="<TMPL_VAR callback ESCAPE=HTML>">
73
  <input name="nextsub" type="hidden" value="save_dunning">
74

  
75
  <input type="hidden" name="login" value="<TMPL_VAR login ESCAPE=HTML>">
76
  <input type="hidden" name="password" value="<TMPL_VAR password ESCAPE=HTML>">
77
  <input type="hidden" name="action" value="<translate>Continue</translate>">
78

  
79
  <input type="submit" name="dummy" value="<translate>Continue</translate>"
80
         onclick="this.disabled=true; this.value='<translate>The dunning process started</translate>'; document.Form.submit()">
81

  
82
 </form>
83
</body>
84
</html>

Auch abrufbar als: Unified diff