add an All Unclaimed Changes link
diff --git a/webapp/codereview/urls.py b/webapp/codereview/urls.py
index 3e5e15f..a31abef 100644
--- a/webapp/codereview/urls.py
+++ b/webapp/codereview/urls.py
@@ -25,6 +25,7 @@
(r'^$', 'views.index'),
(r'^all$', 'views.all'),
(r'^mine$', 'views.mine'),
+ (r'^all_unclaimed$', 'views.all_unclaimed'),
(r'^unclaimed$', 'views.unclaimed'),
(r'^starred$', 'views.starred'),
(r'^r/([0-9a-f]{4,40})$', 'views.revision_redirect'),
diff --git a/webapp/codereview/views.py b/webapp/codereview/views.py
index c4eba3f..492b57a 100644
--- a/webapp/codereview/views.py
+++ b/webapp/codereview/views.py
@@ -178,6 +178,42 @@
def unclaimed_project_memcache_key(user):
return "user_unclaimed_projects:%s" % user.email()
+def all_unclaimed(request):
+ flat_changes = models.gql(models.Change,
+ ' WHERE closed = FALSE'
+ ' AND claimed = FALSE'
+ ' ORDER BY dest_project DESC,'
+ ' modified DESC').fetch(1000)
+ changes = []
+ c_list = []
+ last_project_key = None
+ for c in flat_changes:
+ logging.info("c=" + str(c))
+ k = c.dest_project.key()
+ if k != last_project_key:
+ if c_list:
+ _optimize_draft_counts(c_list)
+ _prefetch_names(c_list)
+ changes.append({
+ 'name': c.dest_project.name,
+ 'changes': c_list,
+ })
+ last_project_key = k
+ c_list = []
+ c_list.append(c)
+ if c_list:
+ _optimize_draft_counts(c_list)
+ _prefetch_names(c_list)
+ changes.append({
+ 'name': c.dest_project.name,
+ 'changes': c_list,
+ })
+ vars = {
+ 'projects': changes,
+ }
+
+ return respond(request, 'unclaimed.html', vars)
+
@login_required
def unclaimed(request):
"""/unclaimed - Show changes with no reviewer listed for user's selected
diff --git a/webapp/templates/changes_base.html b/webapp/templates/changes_base.html
index c25fc64..0146c9f 100644
--- a/webapp/templates/changes_base.html
+++ b/webapp/templates/changes_base.html
@@ -7,12 +7,14 @@
<ul>
<li><a href="{%url codereview.views.mine %}">My Changes</a></li>
<li><a href="{%url codereview.views.unclaimed %}">Unclaimed Changes</a></li>
+ <li><a href="{%url codereview.views.all_unclaimed %}">All Unclaimed Changes</a></li>
<li><a href="{%url codereview.views.all %}">Recent Changes</a></li>
<li><a href="{%url codereview.views.starred %}">Starred Changes</a></li>
</ul>
{%else%}
<ul>
<li><a href="{%url codereview.views.index %}">Recent Changes</a></li>
+ <li><a href="{%url codereview.views.all_unclaimed %}">All Unclaimed Changes</a></li>
<li id="signin-link">
<a class="novisit" href="{{sign_in}}">Sign in</a> with your
<a href="https://www.google.com/accounts/NewAccount">Google Account</a>