--- 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.
"""