From 3846e60a7102f61ebc73a08c815b00a7ea1695b9 Mon Sep 17 00:00:00 2001 From: Steve Howell Date: Tue, 22 Aug 2017 14:51:41 -0400 Subject: [PATCH] Add stream_data.get_streams_for_admin(). --- frontend_tests/node_tests/stream_data.js | 11 +++++++++++ static/js/stream_data.js | 13 +++++++++++++ 2 files changed, 24 insertions(+) diff --git a/frontend_tests/node_tests/stream_data.js b/frontend_tests/node_tests/stream_data.js index ba9cfe9e46..56525108ca 100644 --- a/frontend_tests/node_tests/stream_data.js +++ b/frontend_tests/node_tests/stream_data.js @@ -328,6 +328,7 @@ zrequire('stream_data'); name: 'c', color: 'cinnamon', subscribed: true, + invite_only: false, }; var blue = { @@ -335,6 +336,7 @@ zrequire('stream_data'); name: 'b', color: 'blue', subscribed: false, + invite_only: false, }; var amber = { @@ -342,6 +344,7 @@ zrequire('stream_data'); name: 'a', color: 'amber', subscribed: true, + invite_only: true, }; stream_data.clear_subscriptions(); stream_data.add_sub(cinnamon.name, cinnamon); @@ -353,6 +356,14 @@ zrequire('stream_data'); assert.equal(sub_rows[1].color, 'amber'); assert.equal(sub_rows[2].color, 'cinnamon'); + sub_rows = stream_data.get_streams_for_admin(); + assert.equal(sub_rows[0].name, 'a'); + assert.equal(sub_rows[1].name, 'b'); + assert.equal(sub_rows[2].name, 'c'); + assert.equal(sub_rows[0].invite_only, true); + assert.equal(sub_rows[1].invite_only, false); + assert.equal(sub_rows[2].invite_only, false); + }()); (function test_get_non_default_stream_names() { diff --git a/static/js/stream_data.js b/static/js/stream_data.js index c7d9b022b1..1b8901a1dc 100644 --- a/static/js/stream_data.js +++ b/static/js/stream_data.js @@ -444,6 +444,19 @@ exports.get_streams_for_settings_page = function () { return all_subs; }; +exports.get_streams_for_admin = function () { + // Sort and combine all our streams. + function by_name(a,b) { + return util.strcmp(a.name, b.name); + } + + var subs = stream_info.values(); + + subs.sort(by_name); + + return subs; +}; + exports.initialize_from_page_params = function () { function populate_subscriptions(subs, subscribed) { subs.forEach(function (sub) {