aboutsummaryrefslogtreecommitdiffstats
path: root/account
diff options
context:
space:
mode:
authorWeitian LI <liweitianux@gmail.com>2014-04-21 21:23:24 +0800
committerWeitian LI <liweitianux@gmail.com>2014-04-21 21:23:24 +0800
commit838b4e395282da3e4949d97e11fd608e081008c8 (patch)
tree4e2080e36e6d6b5315491681de1457ac221ddfc5 /account
parent202b0633c975c75af87538e42c25e16fa9e9cd17 (diff)
downloaddjango-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')
-rw-r--r--account/models.py31
-rw-r--r--account/templates/account/profile.html5
2 files changed, 35 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
diff --git a/account/templates/account/profile.html b/account/templates/account/profile.html
index e8d295c..4f5532d 100644
--- a/account/templates/account/profile.html
+++ b/account/templates/account/profile.html
@@ -1,6 +1,7 @@
{% extends 'base.html' %}
{% load staticfiles %}
{% load url from future %}
+{% load i18n %}
{% load bootstrap3 %}
{# login template #}
@@ -43,6 +44,10 @@
<td class="profile-institute-data">{{ profile.institute }}</td>
</tr>
<tr>
+ <th class="profile-identify">身份</th>
+ <td class="profile-identify-data">{% trans profile.get_identify_value %}</td>
+ </tr>
+ <tr>
<th class="profile-approval">是否审定</th>
<td class="profile-approval-data">
{% if profile.is_approved == 'Y' %}