Telefonnotizen: in Berichten Angebot/Auftrag filtern können.
[kivitendo-erp.git] / sql / Pg-upgrade2 / auth_enable_edit_prices.pl
1 # @tag: auth_enable_edit_prices
2 # @description: Zusätzliches Recht readonly für das Attribut readonly bei Preisen und Rabatten im Textfeld. Das Skript hakt standardmässig dieses Recht an, sodass es keinen Unterschied zu vorhergehenden Version gibt.
3 # @depends: release_2_6_3
4 package SL::DBUpgrade2::auth_enable_edit_prices;
5
6 use strict;
7 use utf8;
8
9 use parent qw(SL::DBUpgrade2::Base);
10
11 use SL::DBUtils;
12
13 sub run {
14   my ($self) = @_;
15
16   $self->dbh($::auth->dbconnect);
17   my $query = <<SQL;
18     SELECT id
19     FROM auth."group"
20     WHERE NOT EXISTS(
21       SELECT group_id
22       FROM auth.group_rights
23       WHERE (auth.group_rights.group_id = auth."group".id)
24         AND (auth.group_rights."right"  = 'edit_prices')
25     )
26 SQL
27
28   my @group_ids = selectall_array_query($::form, $self->dbh, $query);
29   if (@group_ids) {
30     $query = <<SQL;
31       INSERT INTO auth.group_rights (group_id, "right",          granted)
32       VALUES                        (?,        'edit_prices', TRUE)
33 SQL
34     my $sth = prepare_query($::form, $self->dbh, $query);
35
36     foreach my $id (@group_ids) {
37       do_statement($::form, $sth, $query, $id);
38     }
39
40     $sth->finish();
41     $self->dbh->commit();
42   }
43
44   return 1;
45 }
46
47 1;