support user created conf files slice_conffiles-4.2 slice_conffiles-4.2
authorTony Mack <tmack@cs.princeton.edu>
Wed, 22 Oct 2008 20:51:40 +0000 (20:51 +0000)
committerTony Mack <tmack@cs.princeton.edu>
Wed, 22 Oct 2008 20:51:40 +0000 (20:51 +0000)
PLC/Methods/DeleteConfFile.py

index f05ae43..0d97c86 100644 (file)
@@ -11,7 +11,7 @@ class DeleteConfFile(Method):
     specified configuration files will be queried.
     """
 
-    roles = ['admin']
+    roles = ['admin', 'pi', 'user']
 
     accepts = [
         Auth(),
@@ -25,8 +25,12 @@ class DeleteConfFile(Method):
         conf_files = ConfFiles(self.api, [conf_file_id])
         if not conf_files:
             raise PLCInvalidArgument, "No such configuration file"
-
         conf_file = conf_files[0]
+       
+       if 'admin' not in self.caller['roles']:
+            if conf_file['creator_id'] not in [self.caller['site_ids']]:
+                raise PLCPermissionDenied, "You must be the creator of this conf file."
+
         conf_file.delete()
        self.event_objects = {'ConfFile': [conf_file['conf_file_id']]}