mirror of
https://github.com/zulip/zulip.git
synced 2025-11-14 02:48:00 +00:00
Use user_id in admin_user_list.handlebars.
For our user administration, we now primarily work with user ids that get put into data-user-id attributes. We still put emails in the tags to make our Casper tests easy to maintain. This requires a minor change to the back end to pass down user ids for the /users endpoint (in get_members_backend).
This commit is contained in:
@@ -17,10 +17,10 @@ exports.show_or_hide_menu_item = function () {
|
||||
}
|
||||
};
|
||||
|
||||
function get_user_info(email) {
|
||||
function get_user_info(user_id) {
|
||||
var self = {};
|
||||
self.user_row = $("tr[id='user_" + email + "']");
|
||||
self.form_row = $("tr[id='user_form_" + email + "']");
|
||||
self.user_row = $("tr.user_row[data-user-id='" + user_id + "']");
|
||||
self.form_row = $("tr.user-name-form[data-user-id='" + user_id + "']");
|
||||
|
||||
return self;
|
||||
}
|
||||
@@ -30,12 +30,12 @@ function get_email_for_user_row(row) {
|
||||
return email;
|
||||
}
|
||||
|
||||
exports.update_user_full_name = function (email, new_full_name) {
|
||||
exports.update_user_full_name = function (user_id, new_full_name) {
|
||||
if (!meta.loaded) {
|
||||
return;
|
||||
}
|
||||
|
||||
var user_info = get_user_info(email);
|
||||
var user_info = get_user_info(user_id);
|
||||
|
||||
var user_row = user_info.user_row;
|
||||
var form_row = user_info.form_row;
|
||||
@@ -772,8 +772,8 @@ function _setup_page() {
|
||||
});
|
||||
|
||||
$(".admin_user_table, .admin_bot_table").on("click", ".open-user-form", function (e) {
|
||||
var email = $(e.currentTarget).data("email");
|
||||
var user_info = get_user_info(email);
|
||||
var user_id = $(e.currentTarget).attr("data-user-id");
|
||||
var user_info = get_user_info(user_id);
|
||||
var user_row = user_info.user_row;
|
||||
var form_row = user_info.form_row;
|
||||
var reset_button = form_row.find(".reset_edit_user");
|
||||
@@ -781,6 +781,12 @@ function _setup_page() {
|
||||
var full_name = form_row.find("input[name='full_name']");
|
||||
var admin_status = $('#administration-status').expectOne();
|
||||
|
||||
var person = people.get_person_from_user_id(user_id);
|
||||
|
||||
if (!person) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Show user form.
|
||||
user_row.hide();
|
||||
form_row.show();
|
||||
@@ -794,7 +800,7 @@ function _setup_page() {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
var url = "/json/users/" + encodeURIComponent(email);
|
||||
var url = "/json/users/" + encodeURIComponent(person.email);
|
||||
var data = {
|
||||
full_name: JSON.stringify(full_name.val()),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user