diff options
author | Weitian LI <liweitianux@gmail.com> | 2014-04-21 21:23:24 +0800 |
---|---|---|
committer | Weitian LI <liweitianux@gmail.com> | 2014-04-21 21:23:24 +0800 |
commit | 838b4e395282da3e4949d97e11fd608e081008c8 (patch) | |
tree | 4e2080e36e6d6b5315491681de1457ac221ddfc5 /account/models.py | |
parent | 202b0633c975c75af87538e42c25e16fa9e9cd17 (diff) | |
download | django-skaschool-838b4e395282da3e4949d97e11fd608e081008c8.tar.bz2 |
* added following methods for 'UserProfile' model:
o get_gender_value()
o get_approved_value()
o get_sponsored_value()
o get_identify_value()
* updated 'user_registered_callback' to save 'identify' field
* updated 'account/profile.html' template to show identify infomation
Diffstat (limited to 'account/models.py')
-rw-r--r-- | account/models.py | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/account/models.py b/account/models.py index 9f2fff7..d9fb8ea 100644 --- a/account/models.py +++ b/account/models.py @@ -17,8 +17,8 @@ class UserProfile(models.Model): """ custom user profile connected with signal 'user_registered' sent by 'django-registration' + NOTE: keep this model fields consistent with 'user_registered_callback' """ - # XXX: keep consistent with GENDERS in 'forms.UserRegForm' GENDERS = ( ('M', _("Male")), ('F', _("Female")), @@ -84,6 +84,34 @@ class UserProfile(models.Model): """ return self.objects.filter(is_sponsored='Y') + def get_gender_value(self): + """ + return the corresponding value of user's gender + """ + genders_dict = dict((k, v) for k, v in self.GENDERS) + return genders_dict.get(self.gender) + + def get_approved_value(self): + """ + return the corresponding value of is_approved for the user + """ + approved_dict = dict((k, v) for k, v in self.APPROVED_STATUS) + return approved_dict.get(self.is_approved) + + def get_sponsored_value(self): + """ + return the corresponding value of is_sponsored for the user + """ + sponsored_dict = dict((k, v) for k, v in self.SPONSORED_STATUS) + return sponsored_dict.get(self.is_sponsored) + + def get_identify_value(self): + """ + return the corresponding value of identify for the user + """ + identifies_dict = dict((k, v) for k, v in self.IDENTIFIES) + return identifies_dict.get(self.identify) + ###### signal callback ###### def user_registered_callback(sender, user, request, **kwargs): @@ -96,6 +124,7 @@ def user_registered_callback(sender, user, request, **kwargs): profile.realname = request.POST['realname'] profile.gender = request.POST['gender'] profile.institute = request.POST['institute'] + profile.identify = request.POST['identify'] profile.save() ### connect 'user_registered_callback' to signal |