def __init__(self, *args, **kwargs): if 'maxrank' in kwargs: maxrank = kwargs['maxrank'] del kwargs['maxrank'] ranks = deepcopy(baseranks) ranks.extend([(rank.key.urlsafe(), rank.name) for rank in RankModel.hierarchy(maxrank=maxrank)]) super(AdminAccount, self).__init__(*args, **kwargs) self.fields['rank'].choices = ranks
class Account(Base): """ The main account form. Some aspects of the account will need to be handled on separate pages, but this will handle the base stuff. """ name = forms.CharField(label="Display Name: ") about = forms.CharField(label="About You: ", widget=forms.Textarea()) baseranks = [('', 'Not a Member')] allranks = deepcopy(baseranks) allranks.extend([(rank.key.urlsafe(), rank.name) for rank in RankModel.hierarchy()]) class AdminAccount(Account): """ Same as an account, but allows admins to set a few other things. """ isadmin = forms.BooleanField(label="Site Admin", required=False) rank = forms.ChoiceField(choices=allranks, widget=forms.Select(), label="Guild Rank", required=False) def __init__(self, *args, **kwargs): if 'maxrank' in kwargs: maxrank = kwargs['maxrank']