Add support for topic narrows in our embedded narrow widget.

(imported from commit d3ef2db8e0903e445d9ecc2c28d9f249a0042bd9)
This commit is contained in:
Tim Abbott
2014-01-16 18:05:35 -05:00
parent 1835848782
commit bc22b1eb16
3 changed files with 16 additions and 3 deletions

View File

@@ -257,7 +257,11 @@ exports.cancel = function () {
// Never close the compose box in narrow embedded windows, but // Never close the compose box in narrow embedded windows, but
// at least clear the subject and unfade. // at least clear the subject and unfade.
compose_fade.clear_compose(); compose_fade.clear_compose();
if (page_params.narrow_topic !== undefined) {
compose.subject(page_params.narrow_topic);
} else {
compose.subject(""); compose.subject("");
}
return; return;
} }
hide_box(); hide_box();
@@ -906,8 +910,12 @@ $(function () {
}); });
if (page_params.narrow !== undefined) { if (page_params.narrow !== undefined) {
if (page_params.narrow_topic !== undefined) {
compose.start("stream", {subject: page_params.narrow_topic});
} else {
compose.start("stream", {}); compose.start("stream", {});
} }
}
}); });
return exports; return exports;

View File

@@ -1115,7 +1115,7 @@ function load_old_messages(opts) {
data.narrow = JSON.stringify(operators); data.narrow = JSON.stringify(operators);
} }
if (opts.msg_list === home_msg_list && page_params.narrow_stream !== undefined) { if (opts.msg_list === home_msg_list && page_params.narrow_stream !== undefined) {
data.narrow = JSON.stringify([["stream", page_params.narrow_stream]]); data.narrow = JSON.stringify(page_params.narrow);
} }
channel.post({ channel.post({

View File

@@ -754,6 +754,7 @@ def home(request):
narrow = [] narrow = []
narrow_stream = None narrow_stream = None
narrow_topic = request.GET.get("topic")
if request.GET.get("narrow"): if request.GET.get("narrow"):
try: try:
narrow_stream = get_stream(request.GET.get("narrow"), user_profile.realm) narrow_stream = get_stream(request.GET.get("narrow"), user_profile.realm)
@@ -762,6 +763,8 @@ def home(request):
narrow = [["stream", narrow_stream.name]] narrow = [["stream", narrow_stream.name]]
except Exception: except Exception:
logging.exception("Narrow parsing") logging.exception("Narrow parsing")
if narrow_topic is not None:
narrow.append(["topic", narrow_topic])
register_ret = do_events_register(user_profile, request.client, register_ret = do_events_register(user_profile, request.client,
apply_markdown=True, narrow=narrow) apply_markdown=True, narrow=narrow)
@@ -868,6 +871,8 @@ def home(request):
except IndexError: except IndexError:
initial_pointer = -1 initial_pointer = -1
page_params["narrow_stream"] = narrow_stream.name page_params["narrow_stream"] = narrow_stream.name
if narrow_topic is not None:
page_params["narrow_topic"] = narrow_topic
page_params["narrow"] = narrow page_params["narrow"] = narrow
page_params["max_message_id"] = initial_pointer page_params["max_message_id"] = initial_pointer
page_params["initial_pointer"] = initial_pointer page_params["initial_pointer"] = initial_pointer