1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-18 16:36:15 +00:00

Using ajax in add group member

This commit is contained in:
xiez
2012-09-06 17:20:15 +08:00
parent 4bf9851c65
commit 05b492dff8
2 changed files with 46 additions and 7 deletions

View File

@@ -1,5 +1,6 @@
{% extends base_template %}
{% load seahub_tags %}
{% load url from future %}
{% block nav_group_class %}class="cur"{% endblock %}
@@ -78,8 +79,32 @@ $('#member-add-submit').click(function() {
$('#member-add-error').removeClass('hide');
return false;
}
return true;
$.ajax({
url: '{% url 'group_members' group.id %}',
type: 'POST',
dataType: 'json',
cache: 'false',
beforeSend: prepareCSRFToken,
data: {
'user_name': $('#added-member-name').val()
},
success: function(data) {
if (data['success']) {
location.reload(true);
} else {
apply_form_error('member-add-form', data['error']);
}
},
error: function(data, textStatus, jqXHR) {
var errors = $.parseJSON(data.responseText);
$.each(errors, function(index, value) {
apply_form_error('member-add-form', value[0]);
});
}
});
return false;
});
</script>
{% endblock %}

View File

@@ -405,6 +405,9 @@ def group_members(request, group_id):
"""
Add group members.
"""
result = {}
content_type = 'application/json; charset=utf-8'
member_name_str = request.POST.get('user_name', '')
member_list = string2list(member_name_str)
@@ -417,14 +420,18 @@ def group_members(request, group_id):
if not ccnet_threaded_rpc.org_user_exists(request.user.org['org_id'],
member_name):
err_msg = u'无法添加成员,当前企业不存在 %s 用户' % member_name
return render_error(request, err_msg)
result['error'] = err_msg
return HttpResponse(json.dumps(result),
content_type=content_type)
else:
try:
ccnet_threaded_rpc.group_add_member(group_id_int,
request.user.username,
member_name)
except SearpcError, e:
return render_error(request, e.msg)
result['error'] = e.msg
return HttpResponse(json.dumps(result),
content_type=content_type)
else:
for member_name in member_list:
# Add email to contacts
@@ -433,15 +440,22 @@ def group_members(request, group_id):
if not is_registered_user(member_name):
err_msg = u'无法添加成员,用户 %s 不存在' % member_name
return render_error(request, err_msg)
result['error'] = err_msg
return HttpResponse(json.dumps(result),
content_type=content_type)
else:
try:
ccnet_threaded_rpc.group_add_member(group_id_int,
request.user.username,
member_name)
except SearpcError, e:
return render_error(request, e.msg)
result['error'] = e.msg
return HttpResponse(json.dumps(result),
content_type=content_type)
return HttpResponse(json.dumps({'success': True}),
content_type=content_type)
### GET ###
members = ccnet_threaded_rpc.get_group_members(group_id_int)
contacts = Contact.objects.filter(user_email=request.user.username)