Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 0af247fe

Von Jan Büren vor mehr als 2 Jahren hinzugefügt

  • ID 0af247fe50b7f3001bce72dfe7fd408371615a29
  • Vorgänger c110b264
  • Nachfolger 9220dc42

Unterversionierung über Mandantenkonfiguration aktivierbar

Unterschiede anzeigen:

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