Revision 0af247fe
Von Jan Büren vor mehr als 2 Jahren hinzugefügt
SL/Controller/Order.pm | ||
---|---|---|
617 | 617 |
my $file_id = $self->{file_id} || $::form->{file_id}; |
618 | 618 |
die "No file id" unless $file_id; |
619 | 619 |
|
620 |
# $main::lxdebug->message(0, "was wir hier haben" . $self->order->id . " " . $::form->{email_journal_id} . " file id noch frisch " . $self->{file_id});
|
|
621 |
|
|
622 |
# email is sent -> set this version to final and link to journal and file
|
|
623 |
my $current_version = SL::DB::Manager::OrderVersion->get_all(where => [oe_id => $self->order->id, final_version => 0]);
|
|
624 |
die "Invalid version state" unless scalar @{ $current_version } == 1;
|
|
625 |
$current_version->[0]->update_attributes(file_id => $file_id,
|
|
626 |
email_journal_id => $::form->{email_journal_id},
|
|
627 |
final_version => 1)->save;
|
|
620 |
if ($::instance_conf->get_lock_oe_subversions) {
|
|
621 |
# email is sent -> set this version to final and link to journal and file |
|
622 |
my $current_version = SL::DB::Manager::OrderVersion->get_all(where => [oe_id => $self->order->id, final_version => 0]);
|
|
623 |
die "Invalid version state" unless scalar @{ $current_version } == 1;
|
|
624 |
$current_version->[0]->update_attributes(file_id => $file_id,
|
|
625 |
email_journal_id => $::form->{email_journal_id},
|
|
626 |
final_version => 1)->save;
|
|
627 |
}
|
|
628 | 628 |
|
629 | 629 |
flash_later('info', t8('The email has been sent.')); |
630 | 630 |
|
... | ... | |
2210 | 2210 |
# 2. send email set email_id for version 1 -> final |
2211 | 2211 |
# 3. save and subversion new version without email_id -> open |
2212 | 2212 |
# 4. send email set email_id for current subversion -> final |
2213 |
# for all version > 1 set postfix -2 .. -n for recordnumber (don´t compute just use autoincrement db field) |
|
2214 |
my $final_sales_version = ($self->order->is_sales && $self->order->id) ? $self->order->is_final_version : undef; |
|
2213 |
# for all versions > 1 set postfix -2 .. -n for recordnumber |
|
2214 |
my $final_sales_version = $::instance_conf->get_lock_oe_subversions ? # conf enabled |
|
2215 |
($self->order->is_sales && $self->order->id) ? # is saved |
|
2216 |
$self->order->is_final_version : # is final |
|
2217 |
undef : # is not final |
|
2218 |
undef; # conf disabled |
|
2215 | 2219 |
|
2216 | 2220 |
for my $bar ($::request->layout->get('actionbar')) { |
2217 | 2221 |
$bar->add( |
... | ... | |
2244 | 2248 |
call => [ 'kivi.Order.save', 'add_subversion', |
2245 | 2249 |
], |
2246 | 2250 |
disabled => !$may_edit_create ? t8('You do not have the permissions to access this function.') |
2247 |
: !$final_sales_version ? t8('This sub-version is not yet finalized') : undef, |
|
2251 |
: !$final_sales_version |
|
2252 |
? t8('This sub-version is not yet finalized') . ' ' . t8('or the feature is disabled in the configuration settings.') |
|
2253 |
: undef, |
|
2248 | 2254 |
], |
2249 | 2255 |
action => [ |
2250 | 2256 |
t8('Save as new'), |
SL/DB/MetaSetup/Default.pm | ||
---|---|---|
120 | 120 |
itime => { type => 'timestamp', default => 'now()' }, |
121 | 121 |
language_id => { type => 'integer' }, |
122 | 122 |
letternumber => { type => 'integer' }, |
123 |
lock_oe_subversions => { type => 'boolean', default => 'false', not_null => 1 }, |
|
123 | 124 |
loss_carried_forward_chart_id => { type => 'integer' }, |
124 | 125 |
max_future_booking_interval => { type => 'integer', default => 360 }, |
125 | 126 |
mtime => { type => 'timestamp' }, |
doc/changelog | ||
---|---|---|
2 | 2 |
# Veränderungen von kivitendo # |
3 | 3 |
############################### |
4 | 4 |
|
5 |
2022-xx-xx - Release 3.7 |
|
6 |
|
|
7 |
Größere neue Features: |
|
8 |
|
|
9 |
Mittelgroße neue Features: |
|
10 |
|
|
11 |
- Angebote und Aufträge um Unterversionierungen erweitert. |
|
12 |
Dabei werden vorherige Unterversionen von Verkaufs-Angebote und Verkaufs-Aufträge |
|
13 |
gesperrt sobald diese per E-Mail versendet wurden. Die Funktion ist |
|
14 |
standardmäßig deaktiviert und kann über die Mandantenkonfiguration aktiviert werden. |
|
15 |
|
|
16 |
|
|
5 | 17 |
2022-05-20 - Release 3.6.1 |
6 | 18 |
|
7 | 19 |
Größere neue Features: |
locale/de/all | ||
---|---|---|
1747 | 1747 |
'If disabled sales quotations cannot be converted into sales invoices directly.' => 'Falls deaktiviert, so können Verkaufsangebote nicht direkt in Verkaufsrechnungen umgewandelt werden.', |
1748 | 1748 |
'If disabled, record numbers for sales records & purchase records produced by our side will always be auto-generated and cannot be changed later.' => 'Falls deaktiviert, werden Belegnummern in Verkaufs- und Einkaufsbelegen, die auf unserer Seite erzeugt wurden, immer automatisch vergeben und können anschließend nicht mehr geändert werden.', |
1749 | 1749 |
'If enabled Factur-X/ZUGFeRD conformant sales invoice PDFs will be created.' => 'Falls aktiviert, werden Factur-X-/ZUGFeRD-konforme PDFs für Verkaufsrechnungen erzeugt.', |
1750 |
'If enabled Sales Quotation and Sales Order can only be send once via email. By creating another subversion the current record gets a minor subversion and can be send again via email.' => 'Falls aktiviert werden Verkaufs-Angebote und Verkaufs-Aufträge nach dem E-Mail-Versand zum weiteren Bearbeiten gesperrt. Die Sperre kann über die Funktion Unterversion erstellen aufgehoben werden und die Belegnummer bekommt einen Postfix mit der laufenden Unterversionsnummer.', |
|
1750 | 1751 |
'If enabled a column will be shown in sales and purchase orders that lists both the amount and the value not shipped yet for each item.' => 'Falls eingeschaltet, wird für jede Position in Auftragsbestätigungen und Lieferantenaufträgen eine Spalte mit noch nicht gelieferter Menge und Wert angezeigt.', |
1751 | 1752 |
'If enabled a warning will be shown if a sales invoices is created without having a sales delivery order as a predecessor.' => 'Falls aktiv, wird eine Warnung beim Buchen einer Verkaufsrechnung angezeigt, falls es keinen Lieferschein als Vorgänger gibt.', |
1752 | 1753 |
'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.', |
... | ... | |
2035 | 2036 |
'Local bank account' => 'Lokales Bankkonto', |
2036 | 2037 |
'Local bank code' => 'Lokale Bankleitzahl', |
2037 | 2038 |
'Lock' => 'Festschreibung', |
2039 |
'Lock Sales Quotation and Sales Order Subversion' => 'Vorherige Unterversionen von Verkaufs-Angebote und Verkaufs-Aufträge sperren', |
|
2038 | 2040 |
'Lock System' => 'System sperren', |
2039 | 2041 |
'Lock and unlock installation' => 'Installation sperren/entsperren', |
2040 | 2042 |
'Lock bookings' => 'Buchungen festschreiben', |
... | ... | |
4580 | 4582 |
'one-time execution' => 'einmalige Ausführung', |
4581 | 4583 |
'only OB Transactions' => 'nur EB-Buchungen', |
4582 | 4584 |
'open' => 'Offen', |
4585 |
'or the feature is disabled in the configuration settings.' => 'oder die Funktion ist in der Mandantenkonfiguration deaktiviert.', |
|
4583 | 4586 |
'order' => 'Reihenfolge', |
4584 | 4587 |
'our vendor number at customer' => 'Unsere Lieferanten-Nr. beim Kunden', |
4585 | 4588 |
'parsing csv' => 'Parse CSV Daten', |
sql/Pg-upgrade2/defaults_oe_subversion.sql | ||
---|---|---|
1 |
-- @tag: defaults_oe_subversion |
|
2 |
-- @description: Konfigurations-Option, ob Unterversionen gesperrt werden |
|
3 |
-- @depends: release_3_6_1 |
|
4 |
|
|
5 |
ALTER TABLE defaults ADD COLUMN lock_oe_subversions BOOLEAN NOT NULL DEFAULT FALSE; |
templates/webpages/client_config/_features.html | ||
---|---|---|
294 | 294 |
<td>[% L.yes_no_tag("defaults.invoice_prevent_browser_back", SELF.defaults.invoice_prevent_browser_back) %]</td> |
295 | 295 |
<td>[% LxERP.t8("If enabled try to overrule the brower's back button to prevent double booking of sales invoices.") %]</td> |
296 | 296 |
</tr> |
297 |
|
|
297 |
<tr> |
|
298 |
<td align="right">[% LxERP.t8("Lock Sales Quotation and Sales Order Subversion") %]</td> |
|
299 |
<td>[% L.yes_no_tag("defaults.lock_oe_subversions", SELF.defaults.lock_oe_subversions) %]</td> |
|
300 |
<td>[% LxERP.t8("If enabled Sales Quotation and Sales Order can only be send once via email. By creating another subversion the current record gets a minor subversion and can be send again via email.") %]</td> |
|
301 |
</tr> |
|
298 | 302 |
<tr><td class="listheading" colspan="4">[% LxERP.t8("E-mail") %]</td></tr> |
299 | 303 |
|
300 | 304 |
<tr> |
Auch abrufbar als: Unified diff
Unterversionierung über Mandantenkonfiguration aktivierbar