epic-s6ts
[kivitendo-erp.git] / sql / Pg-upgrade2 / defaults_posting_config.pl
1 # @tag: defaults_posting_config
2 # @description: Einstellung, ob und wann Zahlungen änderbar sind, vom Config-File in die DB verlagern.
3 # @depends: release_2_7_0
4 package SL::DBUpgrade2::defaults_posting_config;
5
6 use strict;
7 use utf8;
8
9 use parent qw(SL::DBUpgrade2::Base);
10
11 sub run {
12   my ($self) = @_;
13
14   # this query will fail if column already exist (new database)
15   $self->db_query(qq|ALTER TABLE defaults ADD COLUMN payments_changeable integer NOT NULL DEFAULT 0|, may_fail => 1);
16
17   # check current configuration and set default variables accordingly, so that
18   # kivitendo behaviour isn't changed by this update
19   # if payments_changeable is not set in config set it to 0
20   my $payments_changeable = 0;
21   if (defined $::lx_office_conf{features}{payments_changeable}) {
22     if ($::lx_office_conf{features}->{payments_changeable} == 1 ) {
23       $payments_changeable = 1;
24     } elsif ($::lx_office_conf{features}->{payments_changeable} == 2 ) {
25       $payments_changeable = 2;
26     }
27   }
28
29   my $update_column = "UPDATE defaults SET payments_changeable = '$payments_changeable';";
30   $self->db_query($update_column);
31
32   return 1;
33 }
34
35 1;