app/soc/models/role.py
changeset 913 db38e7680d1c
parent 879 05082afd4b6e
child 970 8b5611d5b053
--- a/app/soc/models/role.py	Fri Jan 23 08:49:09 2009 +0000
+++ b/app/soc/models/role.py	Fri Jan 23 09:08:26 2009 +0000
@@ -274,7 +274,7 @@
   tshirt_style = db.StringProperty(
       verbose_name=ugettext_lazy('T-shirt Style'),
       choices=('male', 'female'))
-  
+
   #: field storing whether User has agreed to the Role-specific Terms of
   #: Service. (Not a required field because some Roles may not have special
   #: Terms of Service.)
@@ -283,6 +283,20 @@
   agrees_to_tos.help_text = ugettext_lazy(
       'Indicates that the user agrees to the Terms of Service for this Role.')
 
+  #: field storing the state of this role
+  #: Active means that this role can exercise all it's privileges.
+  #: Invalid mean that this role cannot exercise it's privileges.
+  #: Inactive means that this role cannot exercise it's data-editing
+  #: privileges but should be able to see the data. For instance when a program
+  #: has been marked inactive an Organization Admin should still be able to see
+  #: the student applications.
+  state = db.StringProperty(default='active',
+      choices=['active','invalid','inactive'],
+      verbose_name=ugettext_lazy('State of this Role'))
+  state.help_text = ugettext_lazy(
+      'Indicates the state of the role concerning which privileges may be used')
+
+
   def name(self):
     """Alias 'display_name' Property as 'name' for use in common templates.
     """