Neues Recht 'Schreibgeschützte Preise' hinzugefügt und als Standard aktiviert gesetzt.
authorJan Büren <jan@lx-office-hosting.de>
Wed, 30 Nov 2011 11:18:14 +0000 (12:18 +0100)
committerJan Büren <jan@lx-office-hosting.de>
Wed, 30 Nov 2011 11:18:14 +0000 (12:18 +0100)
Zusätzliches Recht edit_prices für das cgi->textfield Attribut readonly bei Preisen und Rabatten hinzugefügt.
Das Upgrade-Skript hakt standardmässig dieses Recht an, sodass es keinen Unterschied zu vorhergehenden Version gibt (analog zu auth_enable_sales_all_edit.pl).

sql/Pg-upgrade2/auth_enable_edit_prices.pl [new file with mode: 0644]

diff --git a/sql/Pg-upgrade2/auth_enable_edit_prices.pl b/sql/Pg-upgrade2/auth_enable_edit_prices.pl
new file mode 100644 (file)
index 0000000..dbe3eb3
--- /dev/null
@@ -0,0 +1,50 @@
+# @tag: auth_enable_edit_prices
+# @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.
+# @depends: release_2_6_3
+# @charset: utf-8
+
+use utf8;
+use strict;
+use Data::Dumper;
+die("This script cannot be run from the command line.") unless ($main::form);
+
+sub mydberror {
+  my ($msg) = @_;
+  die($dbup_locale->text("Database update error:") .
+      "<br>$msg<br>" . $DBI::errstr);
+}
+
+sub do_update {
+  my $dbh   = $main::auth->dbconnect();
+  my $query = <<SQL;
+    SELECT id
+    FROM auth."group"
+    WHERE NOT EXISTS(
+      SELECT group_id
+      FROM auth.group_rights
+      WHERE (auth.group_rights.group_id = auth."group".id)
+        AND (auth.group_rights."right"  = 'edit_prices')
+    )
+SQL
+
+  my @group_ids = selectall_array_query($form, $dbh, $query);
+  if (@group_ids) {
+    $query = <<SQL;
+      INSERT INTO auth.group_rights (group_id, "right",          granted)
+      VALUES                        (?,        'edit_prices', TRUE)
+SQL
+    my $sth = prepare_query($form, $dbh, $query);
+
+    foreach my $id (@group_ids) {
+      do_statement($form, $sth, $query, $id);
+    }
+
+    $sth->finish();
+    $dbh->commit();
+  }
+
+  return 1;
+}
+
+return do_update();
+