fix ticketing system error on bootstrap of new install
[freeside.git] / rt / etc / acl.Pg
index 8a0d4f2..a659d8e 100755 (executable)
@@ -23,6 +23,8 @@ sub acl {
         Transactions 
         scrips_id_seq
         Scrips 
+        objectscrips_id_seq
+        ObjectScrips
         acl_id_seq
         ACL 
         groupmembers_id_seq
@@ -46,6 +48,16 @@ sub acl {
         customfieldvalues_id_seq
         CustomFieldValues
         sessions
+        classes_id_seq
+        Classes
+        articles_id_seq
+        Articles
+        topics_id_seq
+        Topics
+        objecttopics_id_seq
+        ObjectTopics
+        objectclasses_id_seq
+        ObjectClasses
     );
 
     my $db_user = RT->Config->Get('DatabaseUser');
@@ -54,17 +66,14 @@ sub acl {
     # if there's already an rt_user, use it.
     my @row = $dbh->selectrow_array( "SELECT usename FROM pg_user WHERE usename = '$db_user'" );
     unless ( $row[0] ) {
-        push @acls, "CREATE USER \"$db_user\" WITH PASSWORD '$db_pass' NOCREATEDB NOCREATEUSER;";
+         push @acls, "CREATE USER \"$db_user\" WITH PASSWORD '$db_pass' NOCREATEDB NOCREATEUSER;";
     }
 
-    my $sequence_right
-        = ( $dbh->{pg_server_version} >= 80200 )
-        ? "USAGE, SELECT, UPDATE"
-        : "SELECT, UPDATE";
     foreach my $table (@tables) {
         if ( $table =~ /^[a-z]/ && $table ne 'sessions' ) {
-# table like objectcustomfields_id_s
-            push @acls, "GRANT $sequence_right ON $table TO \"$db_user\";"
+            # Sequences; not all end with _seq because
+            # objectcustomfieldvalues_id_s is too long
+            push @acls, "GRANT USAGE, SELECT, UPDATE ON $table TO \"$db_user\";"
         }
         else {
             push @acls, "GRANT SELECT, INSERT, UPDATE, DELETE ON $table TO \"$db_user\";"