use Role
authorMark Huang <mlhuang@cs.princeton.edu>
Fri, 20 Oct 2006 00:38:38 +0000 (00:38 +0000)
committerMark Huang <mlhuang@cs.princeton.edu>
Fri, 20 Oct 2006 00:38:38 +0000 (00:38 +0000)
PLC/Methods/AddRoleToPerson.py

index 2c63d5e..bfe6817 100644 (file)
@@ -3,14 +3,14 @@ from PLC.Method import Method
 from PLC.Parameter import Parameter, Mixed
 from PLC.Persons import Person, Persons
 from PLC.Auth import PasswordAuth
-from PLC.Roles import Roles
+from PLC.Roles import Role, Roles
 
 class AddRoleToPerson(Method):
     """
     Grants the specified role to the person.
     
     PIs can only grant the tech and user roles to users and techs at
-    their sites. ins can grant any role to any user.
+    their sites. Admins can grant any role to any user.
 
     Returns 1 if successful, faults otherwise.
     """
@@ -19,15 +19,15 @@ class AddRoleToPerson(Method):
 
     accepts = [
         PasswordAuth(),
+        Mixed(Role.fields['role_id'],
+              Role.fields['name']),
         Mixed(Person.fields['person_id'],
               Person.fields['email']),
-        Mixed(Parameter(int, "Role identifier"),
-              Parameter(str, "Role name"))
         ]
 
     returns = Parameter(int, '1 if successful')
 
-    def call(self, auth, person_id_or_email, role_id_or_name):
+    def call(self, auth, role_id_or_name, person_id_or_email):
         # Get all roles
         roles = {}
         for role_id, role in Roles(self.api).iteritems():