mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 04:53:36 +00:00
compose: Change compose_invite_users template to use data-user-id.
This commit changes the compose_invite_users template to use data-user-id as property intead of data-useremail. This is changed to maintain consistency with other parts of the code where user_ids are used for referring to users. This also helps in removing some of the checks for the case of undefined emails.
This commit is contained in:
@@ -1149,7 +1149,7 @@ run_test('warn_if_mentioning_unsubscribed_user', () => {
|
||||
global.stub_templates(function (template_name, context) {
|
||||
called = true;
|
||||
assert.equal(template_name, 'compose_invite_users');
|
||||
assert.equal(context.email, 'foo@bar.com');
|
||||
assert.equal(context.user_id, 34);
|
||||
assert.equal(context.name, 'Foo Barson');
|
||||
return 'fake-compose-invite-user-template';
|
||||
});
|
||||
@@ -1168,6 +1168,7 @@ run_test('warn_if_mentioning_unsubscribed_user', () => {
|
||||
|
||||
mentioned = {
|
||||
email: 'foo@bar.com',
|
||||
user_id: 34,
|
||||
full_name: 'Foo Barson',
|
||||
};
|
||||
|
||||
@@ -1181,9 +1182,9 @@ run_test('warn_if_mentioning_unsubscribed_user', () => {
|
||||
|
||||
let looked_for_existing;
|
||||
warning_row.data = function (field) {
|
||||
assert.equal(field, 'useremail');
|
||||
assert.equal(field, 'user-id');
|
||||
looked_for_existing = true;
|
||||
return 'foo@bar.com';
|
||||
return '34';
|
||||
};
|
||||
|
||||
const previous_users = $('#compose_invite_users .compose_invite_user');
|
||||
@@ -1281,18 +1282,12 @@ run_test('on_events', () => {
|
||||
'.compose_invite_user'
|
||||
);
|
||||
|
||||
// .data in zjquery is a noop by default, so handler should just return
|
||||
handler(helper.event);
|
||||
|
||||
assert(!invite_user_to_stream_called);
|
||||
assert(!helper.container_was_removed());
|
||||
|
||||
// !sub will result false here and we check the failure code path.
|
||||
blueslip.expect('warn', 'Stream no longer exists: no-stream');
|
||||
$('#stream_message_recipient_stream').val('no-stream');
|
||||
helper.container.data = function (field) {
|
||||
assert.equal(field, 'useremail');
|
||||
return mentioned.email;
|
||||
assert.equal(field, 'user-id');
|
||||
return '34';
|
||||
};
|
||||
$("#compose-textarea").select(noop);
|
||||
helper.target.prop('disabled', false);
|
||||
|
||||
@@ -906,6 +906,7 @@ exports.warn_if_mentioning_unsubscribed_user = function (mentioned) {
|
||||
}
|
||||
|
||||
const email = mentioned.email;
|
||||
const user_id = mentioned.user_id;
|
||||
|
||||
if (mentioned.is_broadcast) {
|
||||
return; // don't check if @all/@everyone/@stream
|
||||
@@ -916,12 +917,12 @@ exports.warn_if_mentioning_unsubscribed_user = function (mentioned) {
|
||||
const existing_invites_area = $('#compose_invite_users .compose_invite_user');
|
||||
|
||||
const existing_invites = Array.from($(existing_invites_area), user_row => {
|
||||
return $(user_row).data('useremail');
|
||||
return parseInt($(user_row).data('user-id'), 10);
|
||||
});
|
||||
|
||||
if (!existing_invites.includes(email)) {
|
||||
if (!existing_invites.includes(user_id)) {
|
||||
const context = {
|
||||
email: email,
|
||||
user_id: user_id,
|
||||
name: mentioned.full_name,
|
||||
can_subscribe_other_users: page_params.can_subscribe_other_users,
|
||||
};
|
||||
@@ -994,11 +995,8 @@ exports.initialize = function () {
|
||||
|
||||
const invite_row = $(event.target).parents('.compose_invite_user');
|
||||
|
||||
const email = $(invite_row).data('useremail');
|
||||
if (email === undefined) {
|
||||
return;
|
||||
}
|
||||
const user_id = people.get_user_id(email);
|
||||
const user_id = parseInt($(invite_row).data('user-id'), 10);
|
||||
|
||||
function success() {
|
||||
const all_invites = $("#compose_invite_users");
|
||||
invite_row.remove();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="compose_invite_user" data-useremail="{{email}}">
|
||||
<div class="compose_invite_user" data-user-id="{{user_id}}">
|
||||
{{#if can_subscribe_other_users}}
|
||||
<p>{{#tr this}}<strong>__name__</strong> is not subscribed to this stream. They will not be notified unless you subscribe them.{{/tr}}</p>
|
||||
<div class="compose_invite_user_controls">
|
||||
|
||||
Reference in New Issue
Block a user