diff --git a/progit/templates/login/admin_users.html b/progit/templates/login/admin_users.html
new file mode 100644
index 0000000..0ce0d71
--- /dev/null
+++ b/progit/templates/login/admin_users.html
@@ -0,0 +1,37 @@
+{% extends "master.html" %}
+{% from "_formhelper.html" import render_field_in_row %}
+
+{% block title %}Users{% endblock %}
+{%block tag %}admin{% endblock %}
+
+{% block content %}
+
+ Progit Groups >
+ {{ group.group_name }}
+
+
+
+ Add an user to this group
+
+
+
+{% if users %}
+
+{% else %}
+No users found in this group
+{% endif %}
+
+{% endblock %}
diff --git a/progit/ui/login.py b/progit/ui/login.py
index ccd6522..2b86f6b 100644
--- a/progit/ui/login.py
+++ b/progit/ui/login.py
@@ -284,6 +284,56 @@ def admin_groups():
)
+@APP.route('/admin/group/', methods=['GET', 'POST'])
+@admin_required
+def admin_group(group):
+ """ List of the users in a certain group
+ """
+ group_obj = progit.lib.get_group(SESSION, group)
+
+ if not group_obj:
+ flask.flash('No group `%s` found' % groupname, 'error')
+ return flask.redirect(flask.url_for('.admin_groups'))
+
+ # Add new user to the group if asked
+ form = forms.LostPasswordForm()
+ if form.validate_on_submit():
+ user = progit.lib.get_user(SESSION, form.username.data)
+ if not user:
+ flask.flash('No user `%s` found' % form.username.data, 'error')
+ return flask.redirect(flask.url_for('.admin_group', group=group))
+
+ grp = model.ProgitUserGroup(
+ group_id = group_obj.id,
+ user_id = user.id
+ )
+ SESSION.add(grp)
+ try:
+ SESSION.flush()
+ except SQLAlchemyError as err:
+ SESSION.rollback()
+ flask.flash(
+ 'Could not add user `%s` to group `%s`.' % (
+ user.user, group_obj.group),
+ 'error')
+ APP.logger.debug(
+ 'Could not add user `%s` to group `%s`.' % (
+ user.user, group_obj.group))
+ APP.logger.exception(err)
+
+ flask.flash('User `%s` added.' % user.user)
+ SESSION.commit()
+
+ users = progit.lib.get_users_by_group(SESSION, group)
+
+ return flask.render_template(
+ 'login/admin_users.html',
+ form=form,
+ group=group_obj,
+ users=users,
+ )
+
+
#
# Methods specific to local login.
#