mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
user_events: Update the role field in person object on change of role.
This commit adds code for live updating the role field of person object on receiving role change event from server and thus enables live update of role in users list of settings overlay.
This commit is contained in:
@@ -83,12 +83,14 @@ run_test("updates", () => {
|
||||
});
|
||||
person = people.get_by_email(isaac.email);
|
||||
assert(person.is_guest);
|
||||
assert(person.role, settings_config.user_role_values.guest.code);
|
||||
user_events.update_person({
|
||||
user_id: isaac.user_id,
|
||||
role: settings_config.user_role_values.member.code,
|
||||
});
|
||||
person = people.get_by_email(isaac.email);
|
||||
assert(!person.is_guest);
|
||||
assert(person.role, settings_config.user_role_values.member.code);
|
||||
|
||||
user_events.update_person({
|
||||
user_id: isaac.user_id,
|
||||
@@ -96,6 +98,7 @@ run_test("updates", () => {
|
||||
});
|
||||
person = people.get_by_email(isaac.email);
|
||||
assert.equal(person.is_moderator, true);
|
||||
assert(person.role, settings_config.user_role_values.moderator.code);
|
||||
|
||||
user_events.update_person({
|
||||
user_id: isaac.user_id,
|
||||
@@ -105,6 +108,7 @@ run_test("updates", () => {
|
||||
assert.equal(person.full_name, "Isaac Newton");
|
||||
assert.equal(person.is_moderator, false);
|
||||
assert.equal(person.is_admin, true);
|
||||
assert(person.role, settings_config.user_role_values.admin.code);
|
||||
|
||||
user_events.update_person({
|
||||
user_id: isaac.user_id,
|
||||
@@ -112,6 +116,7 @@ run_test("updates", () => {
|
||||
});
|
||||
assert.equal(person.is_admin, true);
|
||||
assert.equal(person.is_owner, true);
|
||||
assert(person.role, settings_config.user_role_values.owner.code);
|
||||
|
||||
let user_id;
|
||||
let full_name;
|
||||
|
@@ -66,6 +66,7 @@ export const update_person = function update(person) {
|
||||
}
|
||||
|
||||
if (Object.prototype.hasOwnProperty.call(person, "role")) {
|
||||
person_obj.role = person.role;
|
||||
person_obj.is_owner = person.role === settings_config.user_role_values.owner.code;
|
||||
person_obj.is_admin =
|
||||
person.role === settings_config.user_role_values.admin.code || person_obj.is_owner;
|
||||
|
Reference in New Issue
Block a user