Index: /trunk/reviewboard/reviews/datagrids.py
===================================================================
--- /trunk/reviewboard/reviews/datagrids.py	(revision 1449)
+++ /trunk/reviewboard/reviews/datagrids.py	(working copy)
@@ -164,6 +164,22 @@
                                                         status='P').count())
 
 
+class GroupMemberCountColumn(Column):
+    """
+    A column used to show the number of users that registered for a group.
+    """
+    def __init__(self, *args, **kwargs):
+        Column.__init__(self, *args, **kwargs)
+        self.link = True
+        self.link_func = self.link_to_object
+
+    def render_data(self, group):
+        return str(group.users.count())
+
+    def link_to_object(self, group, value):
+        return reverse('group_members', args=[group.name])
+
+
 class ReviewCountColumn(Column):
     """
     A column showing the number of reviews for a review request.
@@ -357,9 +373,10 @@
                                        field_name="directed_review_requests",
                                        shrink=True)
 
-    def __init__(self, request):
-        DataGrid.__init__(self, request, User.objects.filter(is_active=True),
-                          _("All submitters"))
+    def __init__(self, request,
+                 queryset=User.objects.filter(is_active=True),
+                 title=_("All submitters")):
+        DataGrid.__init__(self, request, queryset, title)
         self.default_sort = ["username"]
         self.profile_sort_field = 'sort_submitter_columns'
         self.profile_columns_field = 'submitter_columns'
@@ -382,7 +399,11 @@
                            link=True, expand=True)
     pending_count = PendingCountColumn(_("Pending Reviews"),
                                        field_name="review_requests",
+                                       link=True,
                                        shrink=True)
+    member_count  = GroupMemberCountColumn(_("Members"),
+                                           field_name="members",
+                                           shrink=True)
 
     def __init__(self, request, title=_("All groups")):
         DataGrid.__init__(self, request, Group.objects.all(), title)
Index: /trunk/reviewboard/reviews/views.py
===================================================================
--- /trunk/reviewboard/reviews/views.py	(revision 1449)
+++ /trunk/reviewboard/reviews/views.py	(working copy)
@@ -195,6 +195,21 @@
 
 
 @check_login_required
+def group_members(request, name, template_name='reviews/datagrid.html'):
+    """
+    A list of users registered for a particular group.
+    """
+    # Make sure the group exists
+    get_object_or_404(Group, name=name)
+
+    datagrid = SubmitterDataGrid(request,
+        Group.objects.get(name=name).users.filter(is_active=True),
+        _("Members of group %s") % name)
+
+    return datagrid.render_to_response(template_name)
+
+
+@check_login_required
 def submitter(request, username, template_name='reviews/datagrid.html'):
     """
     A list of review requests owned by a particular user.
Index: /trunk/reviewboard/urls.py
===================================================================
--- /trunk/reviewboard/urls.py	(revision 1449)
+++ /trunk/reviewboard/urls.py	(working copy)
@@ -77,6 +77,7 @@
         # Groups
         url(r'^groups/$', 'group_list', name="all-groups"),
         url(r'^groups/(?P<name>[A-Za-z0-9_-]+)/$', 'group', name="group"),
+        url(r'^groups/(?P<name>[A-Za-z0-9_-]+)/members/$', 'group_members', name="group_members"),
     )
 
 

