# HG changeset patch # User Lennard de Rijk # Date 1232701706 0 # Node ID db38e7680d1ceb2b89935b05e515599bb1057cce # Parent 5b13221456f43246b83e25d82fd1c76b4889b496 Added state property to role model. This can be used when for instance a member has been removed from a club or a when a program has been marked inactive. Certain roles would then be shown on the upcoming roles page marked as previous roles. This would give us the archiving capability that was shown in the mockup. Patch by: Lennard de Rijk Reviewd by: to-be-reviewed diff -r 5b13221456f4 -r db38e7680d1c app/soc/models/role.py --- 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. """ diff -r 5b13221456f4 -r db38e7680d1c app/soc/views/models/host.py --- a/app/soc/views/models/host.py Fri Jan 23 08:49:09 2009 +0000 +++ b/app/soc/views/models/host.py Fri Jan 23 09:08:26 2009 +0000 @@ -53,7 +53,7 @@ model = soc.models.host.Host #: list of model fields which will *not* be gathered by the form - exclude = ['scope', 'user'] + exclude = ['scope', 'user', 'state'] def clean_empty(self, field): data = self.cleaned_data.get(field)