Revision 4b31e6ba
Von Bernd Bleßmann vor etwa 12 Jahren hinzugefügt
SL/Controller/ClientConfig.pm | ||
---|---|---|
17 | 17 |
{ title => $::locale->text("on the same day"), value => 2 }, ]; |
18 | 18 |
|
19 | 19 |
$self->{payments_changeable} = SL::DB::Default->get->payments_changeable; |
20 |
$self->{show_bestbefore} = SL::DB::Default->get->show_bestbefore; |
|
20 | 21 |
|
21 | 22 |
$self->render('client_config/form', title => $::locale->text('Client Configuration')); |
22 | 23 |
} |
... | ... | |
26 | 27 |
my ($self, %params) = @_; |
27 | 28 |
|
28 | 29 |
SL::DB::Default->get->update_attributes('payments_changeable' => $::form->{payments_changeable}); |
30 |
SL::DB::Default->get->update_attributes('show_bestbefore' => $::form->{show_bestbefore}); |
|
29 | 31 |
|
30 | 32 |
flash_later('info', $::locale->text('Client Configuration saved!')); |
31 | 33 |
|
SL/DB/MetaSetup/Default.pm | ||
---|---|---|
48 | 48 |
profit_determination => { type => 'text' }, |
49 | 49 |
language_id => { type => 'integer' }, |
50 | 50 |
payments_changeable => { type => 'integer', default => '0', not_null => 1 }, |
51 |
show_bestbefore => { type => 'boolean', default => 'false' }, |
|
51 | 52 |
], |
52 | 53 |
|
53 | 54 |
primary_key_columns => [ 'id' ], |
SL/Form.pm | ||
---|---|---|
634 | 634 |
$additional_params->{"conf_latex_templates"} = $::lx_office_conf{print_templates}->{latex}; |
635 | 635 |
$additional_params->{"conf_opendocument_templates"} = $::lx_office_conf{print_templates}->{opendocument}; |
636 | 636 |
$additional_params->{"conf_vertreter"} = $::lx_office_conf{features}->{vertreter}; |
637 |
$additional_params->{"conf_show_best_before"} = $::lx_office_conf{features}->{show_best_before}; |
|
638 | 637 |
$additional_params->{"conf_parts_image_css"} = $::lx_office_conf{features}->{parts_image_css}; |
639 | 638 |
$additional_params->{"conf_parts_listing_images"} = $::lx_office_conf{features}->{parts_listing_images}; |
640 | 639 |
$additional_params->{"conf_parts_show_image"} = $::lx_office_conf{features}->{parts_show_image}; |
SL/InstanceConfiguration.pm | ||
---|---|---|
49 | 49 |
return $self->{data}->{profit_determination}; |
50 | 50 |
} |
51 | 51 |
|
52 |
sub get_show_bestbefore { |
|
53 |
my ($self) = @_; |
|
54 |
return $self->{data}->{show_bestbefore}; |
|
55 |
} |
|
56 |
|
|
52 | 57 |
1; |
53 | 58 |
|
54 | 59 |
__END__ |
... | ... | |
101 | 106 |
|
102 | 107 |
Returns the default profit determination method, balance or income |
103 | 108 |
|
109 |
=item C<get_show_bestbefore> |
|
110 |
|
|
111 |
Returns the default behavior for showing best before date, true or false |
|
112 |
|
|
104 | 113 |
=back |
105 | 114 |
|
106 | 115 |
=head1 BUGS |
bin/mozilla/do.pl | ||
---|---|---|
1444 | 1444 |
my $pinfo = $part_info_map{$request->{parts_id}}; |
1445 | 1445 |
my $binfo = $bin_info_map{$request->{bin_id}}; |
1446 | 1446 |
|
1447 |
if ($::lx_office_conf{features}->{show_best_before}) {
|
|
1447 |
if ($::instance_conf->get_show_bestbefore) {
|
|
1448 | 1448 |
push @{ $form->{ERRORS} }, $locale->text("There is not enough available of '#1' at warehouse '#2', bin '#3', #4, #5, for the transfer of #6.", |
1449 | 1449 |
$pinfo->{description}, |
1450 | 1450 |
$binfo->{warehouse_description}, |
bin/mozilla/wh.pl | ||
---|---|---|
438 | 438 |
$form->error($locale->text('The warehouse or the bin is missing.')); |
439 | 439 |
} |
440 | 440 |
|
441 |
if (!$::lx_office_conf{features}->{show_best_before}) {
|
|
441 |
if (!$::instance_conf->get_show_bestbefore) {
|
|
442 | 442 |
$form->{bestbefore} = ''; |
443 | 443 |
} |
444 | 444 |
|
config/kivitendo.conf.default | ||
---|---|---|
74 | 74 |
webdav = 0 |
75 | 75 |
vertreter = 0 |
76 | 76 |
|
77 |
# Show fields used for the best before date |
|
78 |
# ATTENTION! If you enabled this feature you can not simply turn it off again |
|
79 |
# without taking care that best_before fields are emptied in the database. |
|
80 |
# This can be done with the following query: |
|
81 |
# |
|
82 |
# UPDATE inventory SET bestbefore = NULL; |
|
83 |
# |
|
84 |
# Any stock contents containing a best before date will be impossible to stock |
|
85 |
# out otherwise. |
|
86 |
show_best_before = 0 |
|
87 |
|
|
88 | 77 |
## Pictures for parts |
89 | 78 |
# Show the picture in the part form |
90 | 79 |
parts_show_image = 1 |
locale/de/all | ||
---|---|---|
55 | 55 |
'AR Transaction (abbreviation)' => 'D', |
56 | 56 |
'AR Transactions' => 'Debitorenbuchungen', |
57 | 57 |
'ASSETS' => 'AKTIVA', |
58 |
'ATTENTION! If you enabled this feature you can not simply turn it off again without taking care that best_before fields are emptied in the database.' => 'ACHTUNG! Wenn Sie diese Einstellung aktivieren, dann können Sie sie später nicht ohne Weiteres deaktivieren, ohne dafür zu sorgen, dass die Felder der Mindeshaltbarkeitsdaten in der Datenbank leer gemacht werden.', |
|
58 | 59 |
'Abort' => 'Abbrechen', |
59 | 60 |
'Abrechnungsnummer' => 'Abrechnungsnummer', |
60 | 61 |
'Abteilung' => 'Abteilung', |
... | ... | |
185 | 186 |
'An upper-case character is required.' => 'Ein Großbuchstabe ist vorgeschrieben.', |
186 | 187 |
'Annotations' => 'Anmerkungen', |
187 | 188 |
'Another user with the login #1 does already exist.' => 'Es existiert bereits ein anderer Benutzer mit diesem Login.', |
189 |
'Any stock contents containing a best before date will be impossible to stock out otherwise.' => 'Sonst können Artikel, bei denen ein Mindesthaltbarkeitsdatum gesetzt ist, nicht mehr ausgelagert werden.', |
|
188 | 190 |
'Ap aging on %s' => 'Offene Verbindlichkeiten zum %s', |
189 | 191 |
'Application Error. No Format given' => 'Fehler in der Anwendung. Das Ausgabeformat fehlt.', |
190 | 192 |
'Application Error. Wrong Format' => 'Fehler in der Anwendung. Falsches Format: ', |
... | ... | |
1687 | 1689 |
'Short' => 'Knapp', |
1688 | 1690 |
'Should payments be and when should they be changeable after posting?' => 'Sollen Zahlungen nach dem Buchen änderbar sein, und wenn ja, wann?', |
1689 | 1691 |
'Show' => 'Zeigen', |
1692 |
'Show Bestbefore' => 'Mindesthaltbarkeit anzeigen', |
|
1690 | 1693 |
'Show Filter' => 'Filter zeigen', |
1691 | 1694 |
'Show Salesman' => 'Verkäufer anzeigen', |
1692 | 1695 |
'Show TODO list' => 'Aufgabenliste anzeigen', |
1693 | 1696 |
'Show by default' => 'Standardmäßig anzeigen', |
1694 | 1697 |
'Show custom variable search inputs' => 'Suchoptionen für Benutzerdefinierte Variablen verstecken', |
1695 | 1698 |
'Show details' => 'Detailsanzeige', |
1699 |
'Show fields used for the best before date?' => 'Felder zur Eingabe des Mindesthaltbarkeitsdatums anzeigen?', |
|
1696 | 1700 |
'Show follow ups...' => 'Zeige Wiedervorlagen...', |
1697 | 1701 |
'Show help text' => 'Hilfetext anzeigen', |
1698 | 1702 |
'Show items from invoices individually' => 'Artikel aus Rechnungen anzeigen', |
... | ... | |
2000 | 2004 |
'Therefore there\'s no need to create the same article more than once if it is sold or bought in/from another tax zone.' => 'Deswegen muss man den gleichen Artikel nicht mehr mehrmals anlegen, wenn er in verschiedenen Steuerzonen gehandelt werden soll.', |
2001 | 2005 |
'These units can be based on other units so that kivitendo can convert prices when the user switches from one unit to another.' => 'Einheiten können auf anderen Einheiten basieren, sodass kivitendo Preise automatisch umrechnen kann, wenn die Benutzer zwischen solchen Einheiten umschalten.', |
2002 | 2006 |
'These wrong entries cannot be fixed automatically.' => 'Diese Einträge können nicht automatisch bereinigt werden.', |
2007 |
'This can be done with the following query:' => 'Dies kann mit der folgenden Datenbankabfrage erreicht werden:', |
|
2003 | 2008 |
'This corresponds to kivitendo\'s behavior prior to version 2.4.4.' => 'Dies entspricht kivitendos Verhalten vor Version 2.4.4.', |
2004 | 2009 |
'This could have happened for two reasons:' => 'Dies kann aus zwei Gründen geschehen sein:', |
2005 | 2010 |
'This customer number is already in use.' => 'Diese Kundennummer wird bereits verwendet.', |
locale/de_DE/all | ||
---|---|---|
55 | 55 |
'AR Transaction (abbreviation)' => 'D', |
56 | 56 |
'AR Transactions' => 'Debitorenbuchungen', |
57 | 57 |
'ASSETS' => 'AKTIVA', |
58 |
'ATTENTION! If you enabled this feature you can not simply turn it off again without taking care that best_before fields are emptied in the database.' => 'ACHTUNG! Wenn Sie diese Einstellung aktivieren, dann können Sie sie später nicht ohne Weiteres deaktivieren, ohne dafür zu sorgen, dass die Felder der Mindeshaltbarkeitsdaten in der Datenbank leer gemacht werden.', |
|
58 | 59 |
'Abort' => 'Abbrechen', |
59 | 60 |
'Abrechnungsnummer' => 'Abrechnungsnummer', |
60 | 61 |
'Abteilung' => 'Abteilung', |
... | ... | |
183 | 184 |
'An upper-case character is required.' => 'Ein Großbuchstabe ist vorgeschrieben.', |
184 | 185 |
'Annotations' => 'Hilfe', |
185 | 186 |
'Another user with the login #1 does already exist.' => 'Es existiert bereits ein anderer Benutzer mit diesem Login.', |
187 |
'Any stock contents containing a best before date will be impossible to stock out otherwise.' => 'Sonst können Artikel, bei denen ein Mindesthaltbarkeitsdatum gesetzt ist, nicht mehr ausgelagert werden.', |
|
186 | 188 |
'Ap aging on %s' => 'Offene Verbindlichkeiten zum %s', |
187 | 189 |
'Application Error. No Format given' => 'Fehler in der Anwendung. Das Ausgabeformat fehlt.', |
188 | 190 |
'Application Error. Wrong Format' => 'Fehler in der Anwendung. Falsches Format: ', |
... | ... | |
1642 | 1644 |
'Short' => 'Knapp', |
1643 | 1645 |
'Should payments be and when should they be changeable after posting?' => 'Sollen Zahlungen nach dem Buchen änderbar sein, und wenn ja, wann?', |
1644 | 1646 |
'Show' => 'Zeigen', |
1647 |
'Show Bestbefore' => 'Mindesthaltbarkeit anzeigen', |
|
1645 | 1648 |
'Show Salesman' => 'Verkäufer anzeigen', |
1646 | 1649 |
'Show TODO list' => 'Meine Aufgaben', |
1647 | 1650 |
'Show by default' => 'Standardmäßig anzeigen', |
1648 | 1651 |
'Show custom variable search inputs' => 'Suche in erweiterten Datenfeldern', |
1649 | 1652 |
'Show details' => 'Detailsanzeige', |
1653 |
'Show fields used for the best before date?' => 'Felder zur Eingabe des Mindesthaltbarkeitsdatums anzeigen?', |
|
1650 | 1654 |
'Show follow ups...' => 'Zeige Wiedervorlagen...', |
1651 | 1655 |
'Show help text' => 'Hilfetext anzeigen', |
1652 | 1656 |
'Show old dunnings' => 'Alte Mahnungen anzeigen', |
... | ... | |
1930 | 1934 |
'Therefore there\'s no need to create the same article more than once if it is sold or bought in/from another tax zone.' => 'Deswegen muss man den gleichen Artikel nicht mehr mehrmals anlegen, wenn er in verschiedenen Steuerzonen gehandelt werden soll.', |
1931 | 1935 |
'These units can be based on other units so that Lx-Office can convert prices when the user switches from one unit to another.' => 'Diese Einheiten können auf anderen Einheiten basieren, sodass Lx-Office Preise umrechnen kann, wenn der Benutzer von einer Einheit zu einer anderen Wechselt.', |
1932 | 1936 |
'These wrong entries cannot be fixed automatically.' => 'Diese Einträge können nicht automatisch bereinigt werden.', |
1937 |
'This can be done with the following query:' => 'Dies kann mit der folgenden Datenbankabfrage erreicht werden:', |
|
1933 | 1938 |
'This corresponds to Lx-Office\'s behavior prior to version 2.4.4.' => 'Dieses entspricht dem Verhalten von Lx-Office vor Version 2.4.4.', |
1934 | 1939 |
'This could have happened for two reasons:' => 'Dies kann aus zwei Gründen geschehen sein:', |
1935 | 1940 |
'This customer number is already in use.' => 'Diese Kundennummer wird bereits verwendet.', |
locale/en/all | ||
---|---|---|
55 | 55 |
'AR Transaction (abbreviation)' => '', |
56 | 56 |
'AR Transactions' => 'Sales Transactions', |
57 | 57 |
'ASSETS' => '', |
58 |
'ATTENTION! If you enabled this feature you can not simply turn it off again without taking care that best_before fields are emptied in the database.' => '', |
|
58 | 59 |
'Abort' => '', |
59 | 60 |
'Abrechnungsnummer' => '', |
60 | 61 |
'Abteilung' => '', |
... | ... | |
183 | 184 |
'An upper-case character is required.' => '', |
184 | 185 |
'Annotations' => '', |
185 | 186 |
'Another user with the login #1 does already exist.' => '', |
187 |
'Any stock contents containing a best before date will be impossible to stock out otherwise.' => '', |
|
186 | 188 |
'Ap aging on %s' => '', |
187 | 189 |
'Application Error. No Format given' => '', |
188 | 190 |
'Application Error. Wrong Format' => '', |
... | ... | |
1664 | 1666 |
'Short' => '', |
1665 | 1667 |
'Should payments be and when should they be changeable after posting?' => '', |
1666 | 1668 |
'Show' => '', |
1669 |
'Show Bestbefore' => '', |
|
1667 | 1670 |
'Show Filter' => '', |
1668 | 1671 |
'Show Salesman' => '', |
1669 | 1672 |
'Show TODO list' => '', |
1670 | 1673 |
'Show by default' => '', |
1671 | 1674 |
'Show custom variable search inputs' => '', |
1672 | 1675 |
'Show details' => '', |
1676 |
'Show fields used for the best before date?' => '', |
|
1673 | 1677 |
'Show follow ups...' => '', |
1674 | 1678 |
'Show help text' => '', |
1675 | 1679 |
'Show items from invoices individually' => '', |
... | ... | |
1954 | 1958 |
'Therefore there\'s no need to create the same article more than once if it is sold or bought in/from another tax zone.' => '', |
1955 | 1959 |
'These units can be based on other units so that kivitendo can convert prices when the user switches from one unit to another.' => '', |
1956 | 1960 |
'These wrong entries cannot be fixed automatically.' => '', |
1961 |
'This can be done with the following query:' => '', |
|
1957 | 1962 |
'This corresponds to kivitendo\'s behavior prior to version 2.4.4.' => '', |
1958 | 1963 |
'This could have happened for two reasons:' => '', |
1959 | 1964 |
'This customer number is already in use.' => '', |
sql/Pg-upgrade2/defaults_show_bestbefore.pl | ||
---|---|---|
1 |
# @tag: defaults_show_bestbefore |
|
2 |
# @description: Einstellung, ob Mindesthaltbarkeitsdatum angezeigt wird, vom Config-File in die DB verlagern. |
|
3 |
# @depends: release_2_7_0 |
|
4 |
# @charset: utf-8 |
|
5 |
|
|
6 |
use utf8; |
|
7 |
use strict; |
|
8 |
|
|
9 |
die("This script cannot be run from the command line.") unless ($main::form); |
|
10 |
|
|
11 |
sub mydberror { |
|
12 |
my ($msg) = @_; |
|
13 |
die($dbup_locale->text("Database update error:") . |
|
14 |
"<br>$msg<br>" . $DBI::errstr); |
|
15 |
} |
|
16 |
|
|
17 |
sub do_query { |
|
18 |
my ($query, $may_fail) = @_; |
|
19 |
|
|
20 |
if (!$dbh->do($query)) { |
|
21 |
mydberror($query) unless ($may_fail); |
|
22 |
$dbh->rollback(); |
|
23 |
$dbh->begin_work(); |
|
24 |
} |
|
25 |
} |
|
26 |
|
|
27 |
sub do_update { |
|
28 |
|
|
29 |
# this query will fail if column already exist (new database) |
|
30 |
do_query(qq|ALTER TABLE defaults ADD COLUMN show_bestbefore boolean DEFAULT false|, 1); |
|
31 |
|
|
32 |
# check current configuration and set default variables accordingly, so that |
|
33 |
# Lx-Office behaviour isn't changed by this update |
|
34 |
# if show_best_before is not set in config set it to 0 |
|
35 |
my $show_bestbefore = 0; |
|
36 |
if ($::lx_office_conf{features}->{show_best_before}) { |
|
37 |
$show_bestbefore = 1; |
|
38 |
} |
|
39 |
|
|
40 |
my $update_column = "UPDATE defaults SET show_bestbefore = '$show_bestbefore';"; |
|
41 |
do_query($update_column); |
|
42 |
|
|
43 |
return 1; |
|
44 |
} |
|
45 |
|
|
46 |
return do_update(); |
|
47 |
|
templates/webpages/client_config/form.html | ||
---|---|---|
7 | 7 |
<form action='controller.pl' method='POST'> |
8 | 8 |
|
9 | 9 |
<table> |
10 |
|
|
10 | 11 |
<tr class='listheading'> |
11 | 12 |
<th colspan="3">[% 'Posting Configuration' | $T8 %]</th> |
12 | 13 |
</tr> |
... | ... | |
15 | 16 |
<td>[% L.select_tag('payments_changeable', SELF.payment_options, value_key => 'value', title_key => 'title', default => SELF.payments_changeable) %]</td> |
16 | 17 |
<td>[% 'Should payments be and when should they be changeable after posting?' | $T8 %]</td> |
17 | 18 |
</tr> |
19 |
|
|
20 |
<tr> </tr> |
|
21 |
<tr> </tr> |
|
22 |
|
|
23 |
<tr class='listheading'> |
|
24 |
<th colspan="3">[% 'Warehouse' | $T8 %]</th> |
|
25 |
</tr> |
|
26 |
<tr> |
|
27 |
<td align="right">[% 'Show Bestbefore' | $T8 %]</td> |
|
28 |
<td> |
|
29 |
[% L.yes_no_tag('show_bestbefore', SELF.show_bestbefore) %] |
|
30 |
</td> |
|
31 |
<td> |
|
32 |
[% 'Show fields used for the best before date?' | $T8 %]<br> |
|
33 |
[% 'ATTENTION! If you enabled this feature you can not simply turn it off again without taking care that best_before fields are emptied in the database.' | $T8 %]<br> |
|
34 |
[% 'This can be done with the following query:' | $T8 %]<br> |
|
35 |
<br> |
|
36 |
UPDATE inventory SET bestbefore = NULL; <br> |
|
37 |
<br> |
|
38 |
[% 'Any stock contents containing a best before date will be impossible to stock out otherwise.' | $T8 %] |
|
39 |
</td> |
|
40 |
</tr> |
|
41 |
|
|
18 | 42 |
</table> |
19 | 43 |
|
20 | 44 |
<br> |
templates/webpages/do/stock_in_form.html | ||
---|---|---|
93 | 93 |
<th class="listheading">[% 'Warehouse' | $T8 %]</th> |
94 | 94 |
<th class="listheading">[% 'Bin' | $T8 %]</th> |
95 | 95 |
<th class="listheading">[% 'Charge Number' | $T8 %]</th> |
96 |
[% IF conf_show_best_before %]
|
|
96 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
97 | 97 |
<th class="listheading">[% 'Best Before' | $T8 %]</th> |
98 | 98 |
[% END %] |
99 | 99 |
<th align="right" class="listheading">[% 'Qty' | $T8 %]</th> |
... | ... | |
109 | 109 |
<td>[% HTML.escape(row.warehouse_description) %]</td> |
110 | 110 |
<td>[% HTML.escape(row.bin_description) %]</td> |
111 | 111 |
<td>[% HTML.escape(row.chargenumber) %]</td> |
112 |
[% IF conf_show_best_before %]
|
|
112 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
113 | 113 |
<td>[% HTML.escape(row.bestbefore) %]</td> |
114 | 114 |
[% END %] |
115 | 115 |
<td>[% HTML.escape(LxERP.format_amount(row.qty)) %]</td> |
... | ... | |
127 | 127 |
|
128 | 128 |
<td><select name="bin_id_[% loop.count %]" id="bin_id_[% loop.count %]"></select></td> |
129 | 129 |
<td><input name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]"></td> |
130 |
[% IF conf_show_best_before %]
|
|
130 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
131 | 131 |
<td> |
132 | 132 |
[% L.date_tag('bestbefore_'_ loop.count, row.bestbefore) %] |
133 | 133 |
</td> |
templates/webpages/do/stock_out_form.html | ||
---|---|---|
61 | 61 |
<th class="listheading">[% 'Warehouse' | $T8 %]</th> |
62 | 62 |
<th class="listheading">[% 'Bin' | $T8 %]</th> |
63 | 63 |
<th class="listheading">[% 'Charge Number' | $T8 %]</th> |
64 |
[% IF conf_show_best_before %]
|
|
64 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
65 | 65 |
<th class="listheading">[% 'Best Before' | $T8 %]</th> |
66 | 66 |
[% END %] |
67 | 67 |
[%- UNLESS delivered %] |
... | ... | |
77 | 77 |
<td>[% HTML.escape(row.warehousedescription) %]</td> |
78 | 78 |
<td>[% HTML.escape(row.bindescription) %]</td> |
79 | 79 |
<td>[% HTML.escape(row.chargenumber) %]</td> |
80 |
[% IF conf_show_best_before %]
|
|
80 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
81 | 81 |
<td>[% HTML.escape(row.bestbefore) %]</td> |
82 | 82 |
[% END %] |
83 | 83 |
[%- IF delivered %] |
... | ... | |
109 | 109 |
<input type="hidden" name="warehouse_id_[% loop.count %]" value="[% HTML.escape(row.warehouse_id) %]"> |
110 | 110 |
<input type="hidden" name="bin_id_[% loop.count %]" value="[% HTML.escape(row.bin_id) %]"> |
111 | 111 |
<input type="hidden" name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]"> |
112 |
[% IF conf_show_best_before %]
|
|
112 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
113 | 113 |
<input type="hidden" name="bestbefore_[% loop.count %]" value="[% HTML.escape(row.bestbefore) %]"> |
114 | 114 |
[% END %] |
115 | 115 |
[%- END %] |
templates/webpages/generic/select_part.html | ||
---|---|---|
21 | 21 |
<th class="listheading">[% 'Charge number' | $T8 %]</th> |
22 | 22 |
[% END %] |
23 | 23 |
[% IF has_bestbefore %] |
24 |
[% IF conf_show_best_before %]
|
|
24 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
25 | 25 |
<th class="listheading">[% 'Best Before' | $T8 %]</th> |
26 | 26 |
[% END %] |
27 | 27 |
[% END %] |
... | ... | |
55 | 55 |
</td> |
56 | 56 |
[% END %] |
57 | 57 |
[% IF has_bestbefore %] |
58 |
[% IF conf_show_best_before %]
|
|
58 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
59 | 59 |
<td> |
60 | 60 |
<input type="hidden" name="new_bestbefore_id_[% loop.count %]" value="[% HTML.escape(part.bestbefore_id) %]"> |
61 | 61 |
<input type="hidden" name="new_bestbefore_[% loop.count %]" value="[% HTML.escape(part.bestbefore) %]"> |
templates/webpages/wh/journal_filter.html | ||
---|---|---|
105 | 105 |
<th align="right" nowrap>[% 'Charge Number' | $T8 %]:</th> |
106 | 106 |
<td><input name="chargenumber" size=40></td> |
107 | 107 |
</tr> |
108 |
[% IF conf_show_best_before %]
|
|
108 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
109 | 109 |
<tr> |
110 | 110 |
<th align="right" nowrap>[% 'Best Before' | $T8 %]:</th> |
111 | 111 |
<td> |
... | ... | |
166 | 166 |
<td nowrap><label for="l_partnumber">[% 'Part Number' | $T8 %]</label></td> |
167 | 167 |
<td align="right"><input name="l_chargenumber" id="l_chargenumber" class="checkbox" type="checkbox" value="Y" checked></td> |
168 | 168 |
<td nowrap><label for="l_chargenumber">[% 'Charge Number' | $T8 %]</label></td> |
169 |
[% IF conf_show_best_before %]
|
|
169 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
170 | 170 |
<td align="right"><input name="l_bestbefore" id="l_bestbefore" class="checkbox" type="checkbox" value="Y" checked></td> |
171 | 171 |
<td nowrap><label for="l_bestbefore">[% 'Best Before' | $T8 %]</label></td> |
172 | 172 |
[% END %] |
templates/webpages/wh/removal_parts_selection.html | ||
---|---|---|
35 | 35 |
<th class="listheading">[% 'Part Number' | $T8 %]</th> |
36 | 36 |
<th class="listheading">[% 'Part Description' | $T8 %]</th> |
37 | 37 |
<th class="listheading">[% 'Charge Number' | $T8 %]</th> |
38 |
[% IF conf_show_best_before %]
|
|
38 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
39 | 39 |
<th class="listheading">[% 'Best Before' | $T8 %]</th> |
40 | 40 |
[% END %] |
41 | 41 |
<th class="listheading">[% 'EAN' | $T8 %]</th> |
... | ... | |
50 | 50 |
<input type="hidden" name="partnumber_[% loop.count %]" value="[% HTML.escape(row.partnumber) %]"> |
51 | 51 |
<input type="hidden" name="partdescription_[% loop.count %]" value="[% HTML.escape(row.partdescription) %]"> |
52 | 52 |
<input type="hidden" name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]"> |
53 |
[% IF conf_show_best_before %]
|
|
53 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
54 | 54 |
<input type="hidden" name="bestbefore_[% loop.count %]" value="[% HTML.escape(row.bestbefore) %]"> |
55 | 55 |
[% END %] |
56 | 56 |
<input type="hidden" name="ean_[% loop.count %]" value="[% HTML.escape(row.ean) %]"> |
... | ... | |
58 | 58 |
<td>[% HTML.escape(row.partnumber) %]</td> |
59 | 59 |
<td>[% HTML.escape(row.partdescription) %]</td> |
60 | 60 |
<td>[% HTML.escape(row.chargenumber) %]</td> |
61 |
[% IF conf_show_best_before %]
|
|
61 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
62 | 62 |
<td>[% HTML.escape(row.bestbefore) %]</td> |
63 | 63 |
[% END %] |
64 | 64 |
<td>[% HTML.escape(row.ean) %]</td> |
templates/webpages/wh/report_filter.html | ||
---|---|---|
105 | 105 |
<th align="right" nowrap>[% 'Charge Number' | $T8 %]:</th> |
106 | 106 |
<td><input name="chargenumber" size=40></td> |
107 | 107 |
</tr> |
108 |
[% IF conf_show_best_before %]
|
|
108 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
109 | 109 |
<tr> |
110 | 110 |
<th align="right" nowrap>[% 'Best Before' | $T8 %]:</th> |
111 | 111 |
<td> |
... | ... | |
160 | 160 |
<td nowrap><label for="l_partnumber">[% 'Part Number' | $T8 %]</label></td> |
161 | 161 |
<td align="right"><input name="l_chargenumber" id="l_chargenumber" class="checkbox" type="checkbox" value="Y" checked></td> |
162 | 162 |
<td nowrap><label for="l_chargenumber">[% 'Charge Number' | $T8 %]</label></td> |
163 |
[% IF conf_show_best_before %]
|
|
163 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
164 | 164 |
<td align="right"><input name="l_bestbefore" id="l_bestbefore" class="checkbox" type="checkbox" value="Y" checked></td> |
165 | 165 |
<td nowrap><label for="l_bestbefore">[% 'Best Before' | $T8 %]</label></td> |
166 | 166 |
[% END %] |
templates/webpages/wh/transfer_parts_selection.html | ||
---|---|---|
66 | 66 |
<th class="listheading">[% 'Part Number' | $T8 %]</th> |
67 | 67 |
<th class="listheading">[% 'Part Description' | $T8 %]</th> |
68 | 68 |
<th class="listheading">[% 'Charge Number' | $T8 %]</th> |
69 |
[% IF conf_show_best_before %]
|
|
69 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
70 | 70 |
<th class="listheading">[% 'Best Before' | $T8 %]</th> |
71 | 71 |
[% END %] |
72 | 72 |
<th class="listheading">[% 'EAN' | $T8 %]</th> |
... | ... | |
82 | 82 |
<input type="hidden" name="partnumber_[% loop.count %]" value="[% HTML.escape(row.partnumber) %]"> |
83 | 83 |
<input type="hidden" name="partdescription_[% loop.count %]" value="[% HTML.escape(row.partdescription) %]"> |
84 | 84 |
<input type="hidden" name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]"> |
85 |
[% IF conf_show_best_before %]
|
|
85 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
86 | 86 |
<input type="hidden" name="bestbefore_[% loop.count %]" value="[% HTML.escape(row.bestbefore) %]"> |
87 | 87 |
[% END %] |
88 | 88 |
<input type="hidden" name="ean_[% loop.count %]" value="[% HTML.escape(row.ean) %]"> |
... | ... | |
90 | 90 |
<td>[% HTML.escape(row.partnumber) %]</td> |
91 | 91 |
<td>[% HTML.escape(row.partdescription) %]</td> |
92 | 92 |
<td>[% HTML.escape(row.chargenumber) %]</td> |
93 |
[% IF conf_show_best_before %]
|
|
93 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
94 | 94 |
<td>[% HTML.escape(row.bestbefore) %]</td> |
95 | 95 |
[% END %] |
96 | 96 |
<td>[% HTML.escape(row.ean) %]</td> |
templates/webpages/wh/warehouse_selection.html | ||
---|---|---|
118 | 118 |
<td><input name="chargenumber" size="30"></td> |
119 | 119 |
</tr> |
120 | 120 |
|
121 |
[% IF conf_show_best_before %]
|
|
121 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
122 | 122 |
<tr> |
123 | 123 |
<th align="right" nowrap>[% 'Best Before' | $T8 %]</th> |
124 | 124 |
<td> |
templates/webpages/wh/warehouse_selection_assembly.html | ||
---|---|---|
106 | 106 |
<td><input name="chargenumber" size="30" value="[% HTML.escape(chargenumber) %]"></td> |
107 | 107 |
</tr> |
108 | 108 |
|
109 |
[% IF conf_show_best_before %]
|
|
109 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
110 | 110 |
<tr> |
111 | 111 |
<th align="right" nowrap>[% 'Best Before' | $T8 %]</th> |
112 | 112 |
<td> |
templates/webpages/wh/warehouse_selection_stock.html | ||
---|---|---|
106 | 106 |
<td><input name="chargenumber" size="30" value="[% HTML.escape(chargenumber) %]"></td> |
107 | 107 |
</tr> |
108 | 108 |
|
109 |
[% IF conf_show_best_before %]
|
|
109 |
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
|
110 | 110 |
<tr> |
111 | 111 |
<th align="right" nowrap>[% 'Best Before' | $T8 %]</th> |
112 | 112 |
<td> |
Auch abrufbar als: Unified diff
Option für Mindesthaltbarkeitsdatum in Mandantenkonfiguration verschoben.