Revision 5efe1390
Von Bernd Bleßmann vor etwa 3 Jahren hinzugefügt
SL/Controller/Order.pm | ||
---|---|---|
1893 | 1893 |
|| (($self->type eq purchase_order_type()) && $::instance_conf->get_purchase_order_show_delete); |
1894 | 1894 |
|
1895 | 1895 |
my @req_trans_cost_art = qw(kivi.Order.check_transport_cost_article_presence) x!!$::instance_conf->get_transport_cost_reminder_article_number_id; |
1896 |
my @req_cusordnumber = qw(kivi.Order.check_cusordnumber_presence) x($self->type eq sales_order_type() && $::instance_conf->get_order_warn_no_cusordnumber); |
|
1896 | 1897 |
|
1897 | 1898 |
for my $bar ($::request->layout->get('actionbar')) { |
1898 | 1899 |
$bar->add( |
... | ... | |
1901 | 1902 |
t8('Save'), |
1902 | 1903 |
call => [ 'kivi.Order.save', 'save', $::instance_conf->get_order_warn_duplicate_parts, |
1903 | 1904 |
$::instance_conf->get_order_warn_no_deliverydate, |
1904 |
], |
|
1905 |
checks => [ 'kivi.Order.check_save_active_periodic_invoices', ['kivi.validate_form','#order_form'], @req_trans_cost_art ], |
|
1905 |
], |
|
1906 |
checks => [ 'kivi.Order.check_save_active_periodic_invoices', ['kivi.validate_form','#order_form'], |
|
1907 |
@req_trans_cost_art, @req_cusordnumber, |
|
1908 |
], |
|
1906 | 1909 |
], |
1907 | 1910 |
action => [ |
1908 | 1911 |
t8('Save as new'), |
1909 | 1912 |
call => [ 'kivi.Order.save', 'save_as_new', $::instance_conf->get_order_warn_duplicate_parts ], |
1910 |
checks => [ 'kivi.Order.check_save_active_periodic_invoices', @req_trans_cost_art ], |
|
1913 |
checks => [ 'kivi.Order.check_save_active_periodic_invoices', |
|
1914 |
@req_trans_cost_art, @req_cusordnumber, |
|
1915 |
], |
|
1911 | 1916 |
disabled => !$self->order->id ? t8('This object has not been saved yet.') : undef, |
1912 | 1917 |
], |
1913 | 1918 |
], # end of combobox "Save" |
... | ... | |
1919 | 1924 |
action => [ |
1920 | 1925 |
t8('Save and Quotation'), |
1921 | 1926 |
submit => [ '#order_form', { action => "Order/sales_quotation" } ], |
1922 |
checks => [ @req_trans_cost_art ], |
|
1927 |
checks => [ @req_trans_cost_art, @req_cusordnumber ],
|
|
1923 | 1928 |
only_if => (any { $self->type eq $_ } (sales_order_type())), |
1924 | 1929 |
], |
1925 | 1930 |
action => [ |
... | ... | |
1936 | 1941 |
action => [ |
1937 | 1942 |
t8('Save and Purchase Order'), |
1938 | 1943 |
call => [ 'kivi.Order.purchase_order_check_for_direct_delivery' ], |
1939 |
checks => [ @req_trans_cost_art ], |
|
1944 |
checks => [ @req_trans_cost_art, @req_cusordnumber ],
|
|
1940 | 1945 |
only_if => (any { $self->type eq $_ } (sales_order_type(), request_quotation_type())), |
1941 | 1946 |
], |
1942 | 1947 |
action => [ |
... | ... | |
1944 | 1949 |
call => [ 'kivi.Order.save', 'save_and_delivery_order', $::instance_conf->get_order_warn_duplicate_parts, |
1945 | 1950 |
$::instance_conf->get_order_warn_no_deliverydate, |
1946 | 1951 |
], |
1947 |
checks => [ 'kivi.Order.check_save_active_periodic_invoices', @req_trans_cost_art ], |
|
1952 |
checks => [ 'kivi.Order.check_save_active_periodic_invoices', |
|
1953 |
@req_trans_cost_art, @req_cusordnumber, |
|
1954 |
], |
|
1948 | 1955 |
only_if => (any { $self->type eq $_ } (sales_order_type(), purchase_order_type())) |
1949 | 1956 |
], |
1950 | 1957 |
action => [ |
1951 | 1958 |
t8('Save and Invoice'), |
1952 | 1959 |
call => [ 'kivi.Order.save', 'save_and_invoice', $::instance_conf->get_order_warn_duplicate_parts ], |
1953 |
checks => [ 'kivi.Order.check_save_active_periodic_invoices', @req_trans_cost_art ], |
|
1960 |
checks => [ 'kivi.Order.check_save_active_periodic_invoices', |
|
1961 |
@req_trans_cost_art, @req_cusordnumber, |
|
1962 |
], |
|
1954 | 1963 |
], |
1955 | 1964 |
action => [ |
1956 | 1965 |
t8('Save and AP Transaction'), |
... | ... | |
1969 | 1978 |
call => [ 'kivi.Order.save', 'preview_pdf', $::instance_conf->get_order_warn_duplicate_parts, |
1970 | 1979 |
$::instance_conf->get_order_warn_no_deliverydate, |
1971 | 1980 |
], |
1972 |
checks => [ @req_trans_cost_art ], |
|
1981 |
checks => [ @req_trans_cost_art, @req_cusordnumber ],
|
|
1973 | 1982 |
], |
1974 | 1983 |
action => [ |
1975 | 1984 |
t8('Save and print'), |
1976 | 1985 |
call => [ 'kivi.Order.show_print_options', $::instance_conf->get_order_warn_duplicate_parts, |
1977 | 1986 |
$::instance_conf->get_order_warn_no_deliverydate, |
1978 | 1987 |
], |
1979 |
checks => [ @req_trans_cost_art ], |
|
1988 |
checks => [ @req_trans_cost_art, @req_cusordnumber ],
|
|
1980 | 1989 |
], |
1981 | 1990 |
action => [ |
1982 | 1991 |
t8('Save and E-mail'), |
SL/DB/MetaSetup/Default.pm | ||
---|---|---|
121 | 121 |
normalize_vc_names => { type => 'boolean', default => 'true' }, |
122 | 122 |
order_always_project => { type => 'boolean', default => 'false' }, |
123 | 123 |
order_warn_duplicate_parts => { type => 'boolean', default => 'true' }, |
124 |
order_warn_no_cusordnumber => { type => 'boolean', default => 'false' }, |
|
124 | 125 |
order_warn_no_deliverydate => { type => 'boolean', default => 'true' }, |
125 | 126 |
parts_image_css => { type => 'text', default => 'border:0;float:left;max-width:250px;margin-top:20px:margin-right:10px;margin-left:10px;' }, |
126 | 127 |
parts_listing_image => { type => 'boolean', default => 'true' }, |
doc/changelog | ||
---|---|---|
17 | 17 |
|
18 | 18 |
Kleinere neue Features und Detailverbesserungen: |
19 | 19 |
|
20 |
|
|
21 | 20 |
- neue Druckvorlagen-Variante "Rechnungskopie", die mit dem Druckvorlagensatz marei |
22 | 21 |
ein Wasserzeichen "Rechnungskopie" bei Verkaufs-Rechnungen erzeugt |
23 | 22 |
- Alle HTML-Textfelder benutzen die Rechtschreibprüfung des Anwender-Browser und |
24 | 23 |
markieren unbekannte Worte (Tippfehler) mit einer roten gewellten Linie |
24 |
- Prüfung, ob Kundenbestellnummer in Verkaufsaufträgen vorhanden ist, kann in der |
|
25 |
Mandantenkonfiguration eingestellt werden |
|
25 | 26 |
|
26 | 27 |
Bugfixes (Tracker: https://www.kivitendo.de/redmine): |
27 | 28 |
|
... | ... | |
29 | 30 |
|
30 | 31 |
|
31 | 32 |
|
32 |
|
|
33 | 33 |
2021-08-10 - Release 3.5.8 |
34 | 34 |
|
35 | 35 |
Kleinere neue Features und Detailverbesserungen: |
js/kivi.Order.js | ||
---|---|---|
861 | 861 |
return confirm(kivi.t8("The transport cost article '#1' is missing. Do you want to continue anyway?", [ description ])); |
862 | 862 |
}; |
863 | 863 |
|
864 |
ns.check_cusordnumber_presence = function() { |
|
865 |
if ($('#order_cusordnumber').val() === '') { |
|
866 |
return confirm(kivi.t8('The customer order number is missing. Do you want to continue anyway?')); |
|
867 |
} |
|
868 |
return true; |
|
869 |
}; |
|
870 |
|
|
864 | 871 |
}); |
865 | 872 |
|
866 | 873 |
$(function() { |
js/locale/de.js | ||
---|---|---|
153 | 153 |
"Text block picture actions":"Aktionen für Textblockbilder", |
154 | 154 |
"The URL is missing.":"URL fehlt", |
155 | 155 |
"The action can only be executed once.":"Die Aktion kann nur einmal ausgeführt werden.", |
156 |
"The customer order number is missing. Do you want to continue anyway?":"Die Kundenbestellnummer fehlt. Möchten Sie trotzdem fortfahren?", |
|
156 | 157 |
"The description is missing.":"Die Beschreibung fehlt.", |
157 | 158 |
"The name is missing.":"Der Name fehlt.", |
158 | 159 |
"The name must only consist of letters, numbers and underscores and start with a letter.":"Der Name darf nur aus Buchstaben (keine Umlaute), Ziffern und Unterstrichen bestehen und muss mit einem Buchstaben beginnen.", |
js/locale/en.js | ||
---|---|---|
153 | 153 |
"Text block picture actions":"", |
154 | 154 |
"The URL is missing.":"", |
155 | 155 |
"The action can only be executed once.":"", |
156 |
"The customer order number is missing. Do you want to continue anyway?":"", |
|
156 | 157 |
"The description is missing.":"", |
157 | 158 |
"The name is missing.":"", |
158 | 159 |
"The name must only consist of letters, numbers and underscores and start with a letter.":"", |
locale/de/all | ||
---|---|---|
1694 | 1694 |
'If enabled a warning will be shown in purchase delivery orders on workflow to invoices if positions are not stocked in.' => 'Falls aktiviert, wird eine Warnung beim Workflow von Einkaufslieferscheinen zu Rechnungen ausgegeben, wenn die Positionen noch nicht eingelagert sind.', |
1695 | 1695 |
'If enabled a warning will be shown in sales and purchase orders if there are two or more positions of the same part (new controller only).' => 'Falls eingeschaltet, wird eine Warnung angezeigt, wenn der Auftrag mehrere gleiche Artikel enthält (nur neuer Controller).', |
1696 | 1696 |
'If enabled a warning will be shown in sales and purchase orders if there the delivery date is empty.' => 'Falls aktiviert, Warnungen ausgeben sobald Aufträge (Einkauf- und Verkauf) keinen Liefertermin haben.', |
1697 |
'If enabled a warning will be shown in sales delivery orders if the customer order number is missing.' => 'Falls aktiviert, wird eine Warnung beim Speichern von Verkaufsaufträgen ausgegeben, wenn die Kundenbestellnummer fehlt.', |
|
1697 | 1698 |
'If enabled a warning will be shown in sales delivery orders on workflow to invoices if positions are not stocked out.' => 'Falls aktiviert, wird eine Warnung beim Workflow von Verkaufslieferscheinen zu Rechnungen ausgegeben, wenn die Positionen noch nicht ausgelagert sind.', |
1698 | 1699 |
'If enabled only those projects that are assigned to the currently selected customer are offered for selection in sales records.' => 'Wenn eingeschaltet, so werden in Verkaufsbelegen nur diejenigen Projekte zur Auswahl angeboten, die dem aktuell ausgewählten Kunden zugewiesen wurden.', |
1699 | 1700 |
'If enabled purchase and sales records cannot be saved if no transaction description has been entered.' => 'Wenn angeschaltet, so können Einkaufs- und Verkaufsbelege nicht gespeichert werden, solange keine Vorgangsbezeichnung eingegeben wurde.', |
... | ... | |
3460 | 3461 |
'The custom variable has been saved.' => 'Die benutzerdefinierte Variable wurde gespeichert.', |
3461 | 3462 |
'The custom variable is in use and cannot be deleted.' => 'Die benutzerdefinierte Variable ist in Benutzung und kann nicht gelöscht werden.', |
3462 | 3463 |
'The customer name is missing.' => 'Der Kundenname fehlt.', |
3464 |
'The customer order number is missing. Do you want to continue anyway?' => 'Die Kundenbestellnummer fehlt. Möchten Sie trotzdem fortfahren?', |
|
3463 | 3465 |
'The customer\'s bank account number (IBAN) is missing.' => 'Die Kontonummer (IBAN) des Kunden fehlt.', |
3464 | 3466 |
'The database for user management and authentication does not exist. You can create let kivitendo create it with the following parameters:' => 'Die Datenbank für die Benutzeranmeldung existiert nicht. Sie können Sie von kivitendo automatisch mit den folgenden Parametern anlegen lassen:', |
3465 | 3467 |
'The database host is missing.' => 'Der Datenbankhost fehlt.', |
... | ... | |
4116 | 4118 |
'Warehouses' => 'Lager', |
4117 | 4119 |
'Warn before saving orders with duplicate parts (new controller only)' => 'Beim Speichern warnen, wenn doppelte Artikel in einem Auftrag sind', |
4118 | 4120 |
'Warn before saving orders without a delivery date' => 'Warnung ausgeben, falls Aufträge kein Lieferdatum haben.', |
4121 |
'Warn before saving sales orders with missing customer order number (new controller only)' => 'Warnung ausgeben, falls Verkaufsaufträge keine Kundenbestellnummer haben', |
|
4119 | 4122 |
'Warning' => 'Warnung', |
4120 | 4123 |
'Warning! Loading a draft will discard unsaved data!' => 'Achtung! Beim Laden eines Entwurfs werden ungespeicherte Daten verworfen!', |
4121 | 4124 |
'Warning: Faulty position ignored' => 'Warnung: Fehlerhafte Artikel-Position ignoriert', |
locale/en/all | ||
---|---|---|
1694 | 1694 |
'If enabled a warning will be shown in purchase delivery orders on workflow to invoices if positions are not stocked in.' => '', |
1695 | 1695 |
'If enabled a warning will be shown in sales and purchase orders if there are two or more positions of the same part (new controller only).' => '', |
1696 | 1696 |
'If enabled a warning will be shown in sales and purchase orders if there the delivery date is empty.' => '', |
1697 |
'If enabled a warning will be shown in sales delivery orders if the customer order number is missing.' => '', |
|
1697 | 1698 |
'If enabled a warning will be shown in sales delivery orders on workflow to invoices if positions are not stocked out.' => '', |
1698 | 1699 |
'If enabled only those projects that are assigned to the currently selected customer are offered for selection in sales records.' => '', |
1699 | 1700 |
'If enabled purchase and sales records cannot be saved if no transaction description has been entered.' => '', |
... | ... | |
3459 | 3460 |
'The custom variable has been saved.' => '', |
3460 | 3461 |
'The custom variable is in use and cannot be deleted.' => '', |
3461 | 3462 |
'The customer name is missing.' => '', |
3463 |
'The customer order number is missing. Do you want to continue anyway?' => '', |
|
3462 | 3464 |
'The customer\'s bank account number (IBAN) is missing.' => '', |
3463 | 3465 |
'The database for user management and authentication does not exist. You can create let kivitendo create it with the following parameters:' => '', |
3464 | 3466 |
'The database host is missing.' => '', |
... | ... | |
4115 | 4117 |
'Warehouses' => '', |
4116 | 4118 |
'Warn before saving orders with duplicate parts (new controller only)' => '', |
4117 | 4119 |
'Warn before saving orders without a delivery date' => '', |
4120 |
'Warn before saving sales orders with missing customer order number (new controller only)' => '', |
|
4118 | 4121 |
'Warning' => '', |
4119 | 4122 |
'Warning! Loading a draft will discard unsaved data!' => '', |
4120 | 4123 |
'Warning: Faulty position ignored' => '', |
sql/Pg-upgrade2/defaults_order_warn_no_cusordnumber.sql | ||
---|---|---|
1 |
-- @tag: defaults_order_warn_no_cusordnumber |
|
2 |
-- @description: Mandantenkonfiguration: Warnung bei fehlender Kundenbestellnummer in Verkaufsaufträgen |
|
3 |
-- @depends: release_3_5_8 |
|
4 |
|
|
5 |
ALTER TABLE defaults ADD COLUMN order_warn_no_cusordnumber BOOLEAN DEFAULT FALSE; |
templates/webpages/client_config/_features.html | ||
---|---|---|
249 | 249 |
<td>[% L.yes_no_tag("defaults.order_warn_no_deliverydate", SELF.defaults.order_warn_no_deliverydate) %]</td> |
250 | 250 |
<td>[% LxERP.t8("If enabled a warning will be shown in sales and purchase orders if there the delivery date is empty.") %]</td> |
251 | 251 |
</tr> |
252 |
<tr> |
|
253 |
<td align="right">[% LxERP.t8("Warn before saving sales orders with missing customer order number (new controller only)") %]</td> |
|
254 |
<td>[% L.yes_no_tag("defaults.order_warn_no_cusordnumber", SELF.defaults.order_warn_no_cusordnumber) %]</td> |
|
255 |
<td>[% LxERP.t8("If enabled a warning will be shown in sales delivery orders if the customer order number is missing.") %]</td> |
|
256 |
</tr> |
|
252 | 257 |
<tr> |
253 | 258 |
<td align="right">[% LxERP.t8("For sales delivery orders, warn on workflow to invoice if not stocked out") %]</td> |
254 | 259 |
<td>[% L.yes_no_tag("defaults.sales_delivery_order_check_stocked", SELF.defaults.sales_delivery_order_check_stocked) %]</td> |
Auch abrufbar als: Unified diff
Auftrags-Controller: Warnung bei nicht vorhandener Kundenbestellummer …
… kann in der Mandantenkonfiguration eingeschaltet werden.