org settings: Add user group creation functionality.

This commit is contained in:
Cynthia Lin
2017-11-16 21:15:19 -08:00
committed by showell
parent 8c8cd5fbf1
commit 168e7bb2d6
3 changed files with 47 additions and 1 deletions

View File

@@ -359,6 +359,13 @@ exports.dispatch_normal_event = function dispatch_normal_event(event) {
ui.remove_message(msg_id); ui.remove_message(msg_id);
break; break;
case 'user_group':
if (event.op === 'add') {
user_groups.add(event.group);
settings_user_groups.reload();
}
break;
} }
}; };

View File

@@ -10,6 +10,12 @@ exports.reset = function () {
meta.loaded = false; meta.loaded = false;
}; };
exports.reload = function () {
var user_groups_section = $('#user-groups').expectOne();
user_groups_section.html('');
exports.populate_user_groups();
};
exports.populate_user_groups = function () { exports.populate_user_groups = function () {
if (!meta.loaded) { if (!meta.loaded) {
return; return;
@@ -46,6 +52,39 @@ exports.set_up = function () {
meta.loaded = true; meta.loaded = true;
exports.populate_user_groups(); exports.populate_user_groups();
$(".organization").on("submit", "form.admin-user-group-form", function (e) {
e.preventDefault();
e.stopPropagation();
var user_group_status = $('#admin-user-group-status');
var group = {
members: JSON.stringify([people.my_current_user_id()]),
};
_.each($(this).serializeArray(), function (obj) {
if (obj.value.trim() === "") {
return;
}
group[obj.name] = obj.value;
});
channel.post({
url: "/json/user_groups/create",
data: group,
success: function () {
user_group_status.hide();
ui_report.success(i18n.t("User group added!"), user_group_status);
$("form.admin-user-group-form input[type='text']").val("");
},
error: function (xhr) {
user_group_status.hide();
var errors = JSON.parse(xhr.responseText).msg;
xhr.responseText = JSON.stringify({msg: errors});
ui_report.error(i18n.t("Failed"), xhr, user_group_status);
},
});
});
}; };
return exports; return exports;

View File

@@ -15,7 +15,7 @@ exports.init = function () {
// WE INITIALIZE DATA STRUCTURES HERE! // WE INITIALIZE DATA STRUCTURES HERE!
exports.init(); exports.init();
exports.add = function add(user_group) { exports.add = function (user_group) {
user_group_name_dict.set(user_group.name, user_group); user_group_name_dict.set(user_group.name, user_group);
user_group_by_id_dict.set(user_group.id, user_group); user_group_by_id_dict.set(user_group.id, user_group);
}; };