summaryrefslogtreecommitdiff
path: root/rt/etc/acl.Pg
diff options
context:
space:
mode:
Diffstat (limited to 'rt/etc/acl.Pg')
-rwxr-xr-xrt/etc/acl.Pg63
1 files changed, 63 insertions, 0 deletions
diff --git a/rt/etc/acl.Pg b/rt/etc/acl.Pg
new file mode 100755
index 0000000..16ea71b
--- /dev/null
+++ b/rt/etc/acl.Pg
@@ -0,0 +1,63 @@
+sub acl {
+ my $dbh = shift;
+
+ my @acls;
+
+ my @tables = qw (
+
+ attachments_id_seq
+ Attachments
+ queues_id_seq
+ Queues
+ links_id_seq
+ Links
+ principals_id_seq
+ Principals
+ groups_id_seq
+ Groups
+ scripconditions_id_seq
+ ScripConditions
+ transactions_id_seq
+ Transactions
+ scrips_id_seq
+ Scrips
+ acl_id_seq
+ ACL
+ groupmembers_id_seq
+ GroupMembers
+ cachedgroupmembers_id_seq
+ CachedGroupMembers
+ users_id_seq
+ Users
+ tickets_id_seq
+ Tickets
+ scripactions_id_seq
+ ScripActions
+ templates_id_seq
+ Templates
+ ticketcustomfieldvalues_id_s
+ TicketCustomFieldValues
+ customfields_id_seq
+ CustomFields
+ customfieldvalues_id_seq
+ CustomFieldValues
+ sessions
+ );
+
+ # if there's already an rt_user, drop it.
+ my @row =
+ $dbh->selectrow_array( "select usename from pg_user where usename = '" . $RT::DatabaseUser."'" );
+ if ( $row[0] ) {
+ push @acls, "drop user ${RT::DatabaseUser};",;
+ }
+
+ push @acls, "create user ${RT::DatabaseUser} with password '${RT::DatabasePassword}' NOCREATEDB NOCREATEUSER;";
+ foreach my $table (@tables) {
+ push @acls,
+ "GRANT SELECT, INSERT, UPDATE, DELETE ON $table to "
+ . $RT::DatabaseUser . ";";
+
+ }
+ return (@acls);
+}
+1;