mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-19 10:26:17 +00:00
[group] add 'members' tab
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
<li class="tabnav-tab"><a href="{% url 'group_info' group.id %}">{% trans "Libraries" %}</a></li>
|
||||
<li class="tabnav-tab tabnav-tab-cur">{% trans "Discussion" %}</li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_wiki' group.id %}">{% trans "Wiki" %}</a></li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_members' group.id %}">{% trans "Members" %}</a></li>
|
||||
{% if is_staff %}
|
||||
<li class="tabnav-tab"><a href="{% url 'group_manage' group.id %}">{% trans "Admin" %}</a></li>
|
||||
{% endif %}
|
||||
|
@@ -16,6 +16,7 @@
|
||||
<li class="tabnav-tab tabnav-tab-cur">{% trans "Libraries" %}</li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_discuss' group.id %}">{% trans "Discussion" %}</a></li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_wiki' group.id %}">{% trans "Wiki" %}</a></li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_members' group.id %}">{% trans "Members" %}</a></li>
|
||||
{% if is_staff %}
|
||||
<li class="tabnav-tab"><a href="{% url 'group_manage' group.id %}">{% trans "Admin" %}</a></li>
|
||||
{% endif %}
|
||||
|
@@ -14,6 +14,7 @@
|
||||
<li class="tabnav-tab"><a href="{% url 'group_info' group.id %}">{% trans "Libraries" %}</a></li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_discuss' group.id %}">{% trans "Discussion" %}</a></li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_wiki' group.id %}">{% trans "Wiki" %}</a></li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_members' group.id %}">{% trans "Members" %}</a></li>
|
||||
<li class="tabnav-tab tabnav-tab-cur">{% trans "Admin" %}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
65
group/templates/group/group_members.html
Normal file
65
group/templates/group/group_members.html
Normal file
@@ -0,0 +1,65 @@
|
||||
{% extends base_template %}
|
||||
|
||||
{% load seahub_tags avatar_tags group_avatar_tags i18n %}
|
||||
{% load url from future %}
|
||||
|
||||
{% block sub_title %}{{group.group_name}} - {% endblock %}
|
||||
{% block nav_group_class %}class="cur"{% endblock %}
|
||||
|
||||
{% block title_panel %}
|
||||
|
||||
<div class="tabnav">
|
||||
<div class="grp-profile fright">
|
||||
{% grp_avatar group.props.id 24 %}<span class="name">{{ group.group_name }}</span>
|
||||
</div>
|
||||
<ul class="tabnav-tabs">
|
||||
<li class="tabnav-tab"><a href="{% url 'group_info' group.id %}">{% trans "Libraries" %}</a></li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_discuss' group.id %}">{% trans "Discussion" %}</a></li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_wiki' group.id %}">{% trans "Wiki" %}</a></li>
|
||||
<li class="tabnav-tab tabnav-tab-cur">{% trans "Members" %}</li>
|
||||
{% if is_staff %}
|
||||
<li class="tabnav-tab"><a href="{% url 'group_manage' group.id %}">{% trans "Admin" %}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block left_panel %}
|
||||
{% endblock %}
|
||||
|
||||
{% block right_panel %}
|
||||
<ul class="user-list">
|
||||
{% for member in members %}
|
||||
<li class="user ovhd">
|
||||
<a href="{{ SITE_ROOT }}profile/{{ member.user_name }}/" class="pic fleft">{% avatar member.user_name 48 %}</a>
|
||||
<div class="txt fright">
|
||||
<a class="name" href="{{ SITE_ROOT }}profile/{{ member.user_name }}/">{{ member.user_name|email2nickname }}</a>
|
||||
<p>{{ member.user_name }}</p>
|
||||
{% if member.can_be_contact %}
|
||||
<button class="add-as-contact" data-email="{{ member.user_name }}">{% trans "Add as contact" %}</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<form id="add-as-contact-form" class="hide" action="{{ SITE_ROOT }}contacts/add/" method="post">
|
||||
<input type="hidden" name="user_email" value="{{ request.user.username }}" id="id_user_email" />
|
||||
<label>{% trans "Email" %}</label><br />
|
||||
<input id="contact_email" type="text" name="contact_email" maxlength="255" value="" /><br />
|
||||
<label>{% trans "Name(optional)" %}</label><br />
|
||||
<input id="id_contact_name" type="text" name="contact_name" maxlength="255" /><br />
|
||||
<label>{% trans "Note(optional)" %}</label><br />
|
||||
<input id="id_note" type="text" name="note" maxlength="255" /><br />
|
||||
<input type="submit" value="{% trans "Submit" %}" class="submit" />
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_script %}
|
||||
<script type="text/javascript">
|
||||
$('.add-as-contact').click(function() {
|
||||
$('#contact_email').val($(this).data('email'));
|
||||
$('#add-as-contact-form').submit();
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
@@ -16,6 +16,7 @@
|
||||
<li class="tabnav-tab"><a href="{% url 'group_info' group.id %}">{% trans "Libraries" %}</a></li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_discuss' group.id %}">{% trans "Discussion" %}</a></li>
|
||||
<li class="tabnav-tab tabnav-tab-cur">{% trans "Wiki" %}</li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_members' group.id %}">{% trans "Members" %}</a></li>
|
||||
{% if is_staff %}
|
||||
<li class="tabnav-tab"><a href="{% url 'group_manage' group.id %}">{% trans "Admin" %}</a></li>
|
||||
{% endif %}
|
||||
|
@@ -15,6 +15,7 @@
|
||||
<li class="tabnav-tab"><a href="{% url 'group_info' group.id %}">{% trans "Libraries" %}</a></li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_discuss' group.id %}">{% trans "Discussion" %}</a></li>
|
||||
<li class="tabnav-tab tabnav-tab-cur">{% trans "Wiki" %}</li>
|
||||
<li class="tabnav-tab"><a href="{% url 'group_members' group.id %}">{% trans "Members" %}</a></li>
|
||||
{% if is_staff %}
|
||||
<li class="tabnav-tab"><a href="{% url 'group_manage' group.id %}">{% trans "Admin" %}</a></li>
|
||||
{% endif %}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
from django.conf.urls.defaults import *
|
||||
|
||||
from views import group_info, group_member_operations, group_add_admin, \
|
||||
from views import group_info, group_members, group_member_operations, group_add_admin, \
|
||||
group_manage, msg_reply, msg_reply_new, group_recommend, \
|
||||
create_group_repo, group_joinrequest, attention, group_message_remove, \
|
||||
group_remove_admin, group_discuss, group_wiki, group_wiki_create, \
|
||||
@@ -27,6 +27,7 @@ urlpatterns = patterns('',
|
||||
url(r'^(?P<group_id>\d+)/revoke_pub/$', group_revoke_public, name='group_revoke_pub'),
|
||||
url(r'^(?P<group_id>\d+)/quit/$', group_quit, name='group_quit'),
|
||||
url(r'^(?P<group_id>[\d]+)/create-repo/$', create_group_repo, name='create_group_repo'),
|
||||
url(r'^(?P<group_id>[\d]+)/members/$', group_members, name='group_members'),
|
||||
(r'^(?P<group_id>[\d]+)/member/(?P<user_name>[^/]+)/$', group_member_operations),
|
||||
url(r'^(?P<group_id>\d+)/msgdel/(?P<msg_id>\d+)/$', group_message_remove, name='group_message_remove'),
|
||||
url(r'^(?P<group_id>\d+)/admin/add/$', group_add_admin, name='group_add_admin'),
|
||||
|
@@ -468,6 +468,29 @@ def group_info(request, group):
|
||||
'group_members_default_display': GROUP_MEMBERS_DEFAULT_DISPLAY,
|
||||
}, context_instance=RequestContext(request));
|
||||
|
||||
@group_check
|
||||
def group_members(request, group):
|
||||
|
||||
# Get all group members.
|
||||
members = get_group_members(group.id)
|
||||
|
||||
user = request.user.username
|
||||
contacts = Contact.objects.filter(user_email=user)
|
||||
contact_emails = []
|
||||
for c in contacts:
|
||||
contact_emails.append(c.contact_email)
|
||||
for m in members:
|
||||
if m.user_name == user or m.user_name in contact_emails:
|
||||
m.can_be_contact = False
|
||||
else:
|
||||
m.can_be_contact = True
|
||||
|
||||
return render_to_response("group/group_members.html", {
|
||||
"members": members,
|
||||
"group" : group,
|
||||
"is_staff": group.is_staff,
|
||||
}, context_instance=RequestContext(request));
|
||||
|
||||
@login_required
|
||||
@group_staff_required
|
||||
def group_manage(request, group_id):
|
||||
|
Reference in New Issue
Block a user