Setup the groups and database permissions. The three groups
[gnucomo.git] / src / gcm_daemon / classes / gnucomo_db_version.php
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";