Allow filtering to alerted messages with is:alerted

(imported from commit 99834f1ee1b9b2e0f5c7427afa1494bf404e3626)
This commit is contained in:
Leo Franchi
2013-08-30 15:15:01 -04:00
parent 802ea78fb0
commit 41b286232d
5 changed files with 15 additions and 0 deletions

View File

@@ -239,6 +239,10 @@ Filter.prototype = {
if (!message.mentioned) {
return false;
}
} else if (operand === 'alerted') {
if (!message.alerted) {
return false;
}
}
break;

View File

@@ -57,6 +57,8 @@ function describe(operators) {
return 'Narrow to starred messages';
} else if (operand === 'mentioned') {
return 'Narrow to mentioned messages';
} else if (operand === 'alerted') {
return 'Narrow to alerted messages';
}
break;
@@ -367,6 +369,10 @@ function get_special_filter_suggestions(query, operators) {
search_string: 'is:mentioned',
description: '@-mentions'
},
{
search_string: 'is:alerted',
description: 'Alerted messages'
},
{
search_string: 'sender:' + page_params.email,
description: 'Sent by me'

View File

@@ -552,6 +552,7 @@ function add_message_metadata(message) {
message.mentioned = message.flags.indexOf("mentioned") !== -1 ||
message.flags.indexOf("wildcard_mentioned") !== -1;
message.collapsed = message.flags.indexOf("collapsed") !== -1;
message.alerted = message.flags.indexOf("has_alert_word") !== -1;
switch (message.type) {
case 'stream':

View File

@@ -150,6 +150,7 @@ set_global('narrow', {});
"is:private",
"is:starred",
"is:mentioned",
"is:alerted",
"sender:bob@zulip.com",
"stream:devel",
"stream:office"
@@ -164,6 +165,7 @@ set_global('narrow', {});
assert.equal(describe('is:private'), 'Private messages');
assert.equal(describe('is:starred'), 'Starred messages');
assert.equal(describe('is:mentioned'), '@-mentions');
assert.equal(describe('is:alerted'), 'Alerted messages');
assert.equal(describe('sender:bob@zulip.com'), 'Sent by me');
assert.equal(describe('stream:devel'), 'Narrow to stream <strong>devel</strong>');
}());

View File

@@ -846,6 +846,8 @@ class NarrowBuilder(object):
return Q(flags=UserMessage.flags.starred)
elif operand == 'mentioned':
return Q(flags=UserMessage.flags.mentioned)
elif operand == 'alerted':
return Q(flags=UserMessage.flags.mentioned)
raise BadNarrowOperator("unknown 'is' operand " + operand)
def by_stream(self, operand):