Setup the groups and database permissions. The three groups
authorarjen <arjen>
Fri, 14 Feb 2003 06:31:20 +0000 (06:31 +0000)
committerarjen <arjen>
Fri, 14 Feb 2003 06:31:20 +0000 (06:31 +0000)
are: view, ops and admin.
Added a new entry to the action table.

src/database/create.sql
src/gcm_daemon/classes/gnucomo_db_version.php

index b2105ae..9cd0309 100644 (file)
 -- DBA create the database and give access permissions.
 --
 --  $Log: create.sql,v $
---  Revision 1.9  2003-02-13 08:46:54  arjen
+--  Revision 1.10  2003-02-14 06:32:27  arjen
+--  Setup the groups and database permissions. The three groups
+--  are: view, ops and admin.
+--  Added a new entry to the action table.
+--
+--  Revision 1.9  2003/02/13 08:46:54  arjen
 --  Added log, notification and parameter counters to the 'object' table.
 --  Counting these things at the time a user interface needs them is
 --  too slow. Other programs, like gcm_daemon en gcm_input should prepare
@@ -64,6 +69,7 @@ COPY "action" FROM stdin;
 17     Log entries shown       \N      The log entries relevant to the notification have been shown.
 18     Notification closed     cls     The notification has been closed.
 19     Notification reopend    opn     The notification has been reopend.
+20     Redisplayed to user     \N      The notification has been presented to a user. This is not the first time
 \.
 
 CREATE UNIQUE INDEX action_actionid_key ON "action" USING btree (actionid);
@@ -629,3 +635,44 @@ CREATE INDEX usr_account_active ON usr USING btree (account_active);
 
 CREATE INDEX usr_security_level ON usr USING btree (security_level);
 
+--
+--  Set up user groups and grant permissions in the proper places.
+
+CREATE GROUP view;
+CREATE GROUP ops;
+CREATE GROUP admin;
+
+GRANT SELECT ON action TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON action_user TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON db_value TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON history TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON log TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON log_adv TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON log_adv_daemon TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON log_adv_kernel_network TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON log_notification TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON notification TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON object TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON object_issue TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON object_priority TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON object_service TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON object_user TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON parameter TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON parameter_class TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON parameter_notification TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON priority TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON property TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON service TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON status TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON supported_os TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON type_of_issue TO GROUP view, GROUP ops, GROUP admin;
+GRANT SELECT ON usr TO GROUP view, GROUP ops, GROUP admin;
+
+GRANT INSERT ON action_user TO GROUP ops, GROUP admin;
+GRANT UPDATE ON notification TO GROUP ops, GROUP admin;
+GRANT INSERT ON object GROUP admin;
+GRANT UPDATE ON object TO GROUP ops, GROUP admin;
+GRANT DELETE ON object GROUP admin;
+GRANT UPDATE ON usr TO GROUP view, GROUP ops, GROUP admin;
+GRANT INSERT ON usr TO GROUP admin;
+GRANT DELETE ON usr TO GROUP admin;
index dccdfef..e69ca90 100644 (file)
@@ -236,7 +236,53 @@ case 26:
 case 27: 
        $local_sql = "INSERT INTO db_value VALUES ('last_notification', '0')";
        $dbms->query($local_sql);
-       
+
+case 28:
+       $dbms->query("CREATE GROUP view");
+       $dbms->query("CREATE GROUP ops");
+       $dbms->query("CREATE GROUP admin");
+
+       $dbms->query("GRANT SELECT ON action TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON action_user TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON db_value TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON history TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log_adv TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log_adv_daemon TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log_adv_kernel_network TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log_notification TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON notification TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object_issue TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object_priority TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object_service TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object_user TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON parameter TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON parameter_class TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON parameter_notification TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON priority TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON property TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON service TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON status TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON supported_os TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON type_of_issue TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON usr TO GROUP view, GROUP ops, GROUP admin");
+       
+       $dbms->query("GRANT INSERT ON action_user TO GROUP ops, GROUP admin");
+       $dbms->query("GRANT UPDATE ON notification TO GROUP ops, GROUP admin");
+       $dbms->query("GRANT INSERT ON object TO GROUP admin");
+       $dbms->query("GRANT UPDATE ON object TO GROUP ops, GROUP admin");
+       $dbms->query("GRANT DELETE ON object TO GROUP admin");
+       $dbms->query("GRANT UPDATE ON usr TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT INSERT ON usr TO GROUP admin");
+       $dbms->query("GRANT DELETE ON usr TO GROUP admin");
+
+case 29:
+     $local_sql = "INSERT INTO action (actionname, description) VALUES ('Redisplayed to user', "
+      . "'The notification has been presented to a user. This is not the first time')";
+      echo $local_sql;
+     $dbms->query ($local_sql);
+
 /*    
      //These columns have to be removed when a new version of PGSQL has become mainstream that supportsa DROP COLUMN
      $local_sql = "ALTER TABLE log DROP COLUMN recognized";