Please review this at http://codereview.appspot.com/5475061/
Affected files:
M codereview/views.py
M templates/user_popup.html
Index: codereview/views.py
===================================================================
--- a/codereview/views.py
+++ b/codereview/views.py
@@ -725,7 +725,9 @@
def user_key_required(func):
- """Decorator that processes the user handler argument."""
+ """Decorator that checks if the first argument passed to handler is a
valid
+ user email or account nickname, and sets request.user_to_show
+ """
def user_key_wrapper(request, user_key, *args, **kwds):
user_key = urllib.unquote(user_key)
@@ -3688,18 +3690,21 @@
user = request.user_to_show
popup_html = memcache.get('user_popup:' + user.email())
if popup_html is None:
- num_issues_created = db.GqlQuery(
- 'SELECT * FROM Issue '
- 'WHERE closed = FALSE AND owner = :1',
- user).count()
- num_issues_reviewed = db.GqlQuery(
- 'SELECT * FROM Issue '
- 'WHERE closed = FALSE AND reviewers = :1',
- user.email()).count()
+ num_issues_open = models.Issue.all()\
+ .filter('closed =', False)\
+ .filter('owner =', user)\
+ .count()
+ num_issues_created = models.Issue.all()\
+ .filter('owner =', user)\
+ .count()
+ num_issues_reviewed = models.Issue.all()\
+ .filter('reviewers =', user.email())\
+ .count()
user.nickname = models.Account.get_nickname_for_email(user.email())
popup_html = render_to_response('user_popup.html',
- {'user': user,
+ {'userinfo': user,
+ 'num_issues_open': num_issues_open,
'num_issues_created': num_issues_created,
'num_issues_reviewed': num_issues_reviewed,
},
Index: templates/user_popup.html
===================================================================
--- a/templates/user_popup.html
+++ b/templates/user_popup.html
@@ -1,5 +1,6 @@
-<b>{{user.email}} ({{user.nickname}})</b>
+<b>{{userinfo.email}} ({{userinfo.nickname}})</b>
<p>
issues created: {{num_issues_created}} <br/>
+issues open: {{num_issues_open}} <br/>
issues reviewed: {{num_issues_reviewed}}
</p>