X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=sql%2FPg-upgrade2%2Fauth_enable_sales_all_edit.pl;h=2a8595c613e917a1816362efb332fcfe621dd8da;hb=a9d9ca02abd3a0ff1e43f23888142266174bec55;hp=e223cd859e5942c76690cba092de63e150eb1623;hpb=c9e93ded8a5ca6f8a9212c5e64a99616889b5aac;p=kivitendo-erp.git diff --git a/sql/Pg-upgrade2/auth_enable_sales_all_edit.pl b/sql/Pg-upgrade2/auth_enable_sales_all_edit.pl index e223cd859..2a8595c61 100644 --- a/sql/Pg-upgrade2/auth_enable_sales_all_edit.pl +++ b/sql/Pg-upgrade2/auth_enable_sales_all_edit.pl @@ -1,52 +1,47 @@ # @tag: auth_enable_sales_all_edit # @description: Neues gruppenbezogenes Recht für den Bereich Verkauf hinzugefügt (sales_all_edit := Nur wenn angehakt, können Verkaufsdokumente von anderen Bearbeitern eingesehen werden) Das Skript hakt standardmässig dieses Recht an, sodass es keinen Unterschied zu vorhergehenden Version gibt. # @depends: release_2_6_0 -# @charset: utf-8 +package SL::DBUpgrade2::auth_enable_sales_all_edit; use strict; -use Data::Dumper; -die("This script cannot be run from the command line.") unless ($main::form); +use utf8; + +use parent qw(SL::DBUpgrade2::Base); + +use SL::DBUtils; + +sub run { + my ($self) = @_; + + $self->dbh($::auth->dbconnect); + my $query = <dbh, $query); + if (@group_ids) { + $query = <dbh, $query); + + foreach my $id (@group_ids) { + do_statement($::form, $sth, $query, $id); + } -sub mydberror { - my ($msg) = @_; - die($dbup_locale->text("Database update error:") . - "
$msg
" . $DBI::errstr); -} - -sub do_query { - my ($query, $may_fail) = @_; - - if (!$dbh->do($query)) { - mydberror($query) unless ($may_fail); - $dbh->rollback(); - $dbh->begin_work(); + $sth->finish(); + $self->dbh->commit(); } -} -sub do_update { - my @queries; - -# do_query("ALTER TABLE project ADD PRIMARY KEY (id);", 1); -# map({ do_query($_, 0); } @queries); -# print "hieryy"; -# print (Dumper($main::form)); - my $dbh = $main::auth->dbconnect(); - my $query = qq|SELECT distinct group_id from auth.user_group|; - my $sth_all_groups = prepare_execute_query($form, $dbh, $query); - while (my $hash_ref = $sth_all_groups->fetchrow_hashref()) { # Schleife - push @queries, "INSERT INTO auth.group_rights (group_id, \"right\", granted) VALUES (" . $hash_ref->{group_id} . ", 'sales_all_edit', 't')"; -} -# if in doubt use brute force ;-) jb - foreach my $query (@queries){ -# print "hier:" . $query; - my $dbh = $main::auth->dbconnect(); - my $sth = prepare_query($form, $dbh, $query); - do_statement($form,$sth,$query); - $sth->finish(); - $dbh ->commit(); -} return 1; } -return do_update(); - +1;