X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=sql%2FPg-upgrade2%2Fdefaults_feature.pl;h=8d9b86360f90d3fdf4f1b65b12fe3e3d76814492;hb=be71a8600fc889060bed19fa5ef24938ab99b14b;hp=4381526b55906b232e9ce068526afc6aa45b3a86;hpb=4eacc711923d84f183ab6ec4fe175b6659209241;p=kivitendo-erp.git diff --git a/sql/Pg-upgrade2/defaults_feature.pl b/sql/Pg-upgrade2/defaults_feature.pl index 4381526b5..8d9b86360 100644 --- a/sql/Pg-upgrade2/defaults_feature.pl +++ b/sql/Pg-upgrade2/defaults_feature.pl @@ -1,7 +1,6 @@ # @tag: defaults_feature # @description: Einstellen der Feature vom Config-File in die DB verlagern. # @depends: release_3_0_0 -# @ignore: 0 package SL::DBUpgrade2::defaults_feature; use utf8; @@ -13,28 +12,26 @@ sub run { my ($self) = @_; # this query will fail if column already exist (new database) - $self->db_query(qq|ALTER TABLE defaults ADD COLUMN webdav boolean DEFAULT false|, may_fail => 1); - $self->db_query(qq|ALTER TABLE defaults ADD COLUMN webdav_documents boolean DEFAULT false|, may_fail => 1); - $self->db_query(qq|ALTER TABLE defaults ADD COLUMN vertreter boolean DEFAULT false|, may_fail => 1); - $self->db_query(qq|ALTER TABLE defaults ADD COLUMN parts_show_image boolean DEFAULT true|, may_fail => 1); - $self->db_query(qq|ALTER TABLE defaults ADD COLUMN parts_listing_image boolean DEFAULT true|, may_fail => 1); - $self->db_query(qq|ALTER TABLE defaults ADD COLUMN parts_image_css text DEFAULT 'border:0;float:left;max-width:250px;margin-top:20px:margin-right:10px;margin-left:10px;' |, may_fail => 1); + $self->db_query(qq|ALTER TABLE defaults ADD COLUMN webdav boolean DEFAULT false|); + $self->db_query(qq|ALTER TABLE defaults ADD COLUMN webdav_documents boolean DEFAULT false|); + $self->db_query(qq|ALTER TABLE defaults ADD COLUMN vertreter boolean DEFAULT false|); + $self->db_query(qq|ALTER TABLE defaults ADD COLUMN parts_show_image boolean DEFAULT true|); + $self->db_query(qq|ALTER TABLE defaults ADD COLUMN parts_listing_image boolean DEFAULT true|); + $self->db_query(qq|ALTER TABLE defaults ADD COLUMN parts_image_css text DEFAULT 'border:0;float:left;max-width:250px;margin-top:20px:margin-right:10px;margin-left:10px;'|); # check current configuration and set default variables accordingly, so that # kivitendo's behaviour isn't changed by this update - # if checks are not set in config set it to true - foreach my $check (qw(webdav vertreter parts_show_image parts_listing_image)) { - my $check_set = 1; - if (!$::lx_office_conf{features}->{$check}) { - $check_set = 0; - } + my %old_defaults = ( parts_show_image => 1 ); - my $update_column = "UPDATE defaults SET $check = '$check_set';"; - $self->db_query($update_column); + foreach my $check (qw(webdav vertreter parts_show_image parts_listing_image)) { + my $check_set = exists $::lx_office_conf{features}->{$check} ? $::lx_office_conf{features}->{$check} : $old_defaults{$check}; + $self->db_query("UPDATE defaults SET $check = ?", bind => [ $check_set ? 1 : 0 ]); } - my $update_column = "UPDATE defaults SET parts_image_css = '$::lx_office_conf{features}->{parts_image_css};'"; - $self->db_query($update_column); + if (exists $::lx_office_conf{features}->{parts_image_css}) { + my $update_column = "UPDATE defaults SET parts_image_css = ?"; + $self->db_query($update_column, bind => [ $::lx_office_conf{features}->{parts_image_css} ]); + } return 1; }