diff --git a/media/js/base.js b/media/js/base.js index 7244320fa7..e838450653 100644 --- a/media/js/base.js +++ b/media/js/base.js @@ -812,3 +812,56 @@ function HTMLescape(html){ .parentNode .innerHTML; } + +function userInputOPtionsForSelect2(user_search_url) { + return { + tags: [], + + tokenSeparators: [",", " "], + + minimumInputLength: 1, // input at least 1 character + + ajax: { + url: user_search_url, + dataType: 'json', + delay: 250, + cache: true, + data: function (params) { + return { + q: params + }; + }, + results: function (data) { + var user_list = [], users = data['users']; + for (var i = 0, len = users.length; i < len; i++) { + user_list.push({ // 'id' & 'text' are required by the plugin + "id": users[i].email, + // for search. both name & email can be searched. + // use ' '(space) to separate name & email + "text": users[i].name + ' ' + users[i].email, + "avatar": users[i].avatar, + "name": users[i].name + }); + } + return { + results: user_list + }; + } + }, + + // format items shown in the drop-down menu + formatResult: function(item) { + if (item.avatar) { + return item.avatar + '' + HTMLescape(item.name) + '
' + HTMLescape(item.id) + '
'; + } else { + return; // if no match, show nothing + } + }, + + // format selected item shown in the input + formatSelection: function(item) { + return HTMLescape(item.name || item.id); // if no name, show the email, i.e., when directly input, show the email + }, + escapeMarkup: function(m) { return m; } + }; +} diff --git a/seahub/group/templates/group/group_manage.html b/seahub/group/templates/group/group_manage.html index f1c951f8e8..cf4b675b87 100644 --- a/seahub/group/templates/group/group_manage.html +++ b/seahub/group/templates/group/group_manage.html @@ -1,5 +1,10 @@ {% extends 'group/group_base.html' %} -{% load seahub_tags avatar_tags group_avatar_tags i18n %} +{% load seahub_tags avatar_tags group_avatar_tags i18n staticfiles %} + +{% block extra_style %} + + +{% endblock %} {% block cur_admin %}tab-cur{% endblock %} @@ -104,16 +109,28 @@
{% csrf_token %}

{% trans "Rename Group To"%}

- -
+

-{% include 'group/grpmember_add_form.html' %} {# for member/admin add #} +
+

{% trans "Add members" %}

+
+

+ +
+ +
+

{% trans "Add administrators" %}

+
+

+ +
{% endblock %} {% block extra_script %}{{block.super}} + {% include "snippets/avatar_upload_js.html" %}