mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 13:03:29 +00:00
stream settings: Fix subscribers not showing on private stream creation.
Previously, stream subscribers were not rendering correctly. Due to following reasons: - Subscribers list didn't get initialized - Subscriber members template add subscriber-list-table DOM element conditionally, which doesn't handle case if user have access to subscribers later. Fix this by cleaning subscriber member template to hide the elements, instead of conditionally adding DOM elements and initialize subscribers list even if user can't access subscribers.
This commit is contained in:
@@ -25,11 +25,7 @@ function get_email_of_subscribers(subscribers) {
|
||||
|
||||
exports.rerender_subscribers_list = function (sub) {
|
||||
if (!sub.can_add_subscribers) {
|
||||
// It is also possible that user don't have rights to access subscribers.
|
||||
// If user can't add subscribers, user can't access subscribers.
|
||||
var html = templates.render('subscription_members', sub);
|
||||
var stream_settings = settings_for_sub(sub);
|
||||
stream_settings.find('.subscription-members-setting').expectOne().html(html);
|
||||
$(".subscriber_list_settings_container").hide();
|
||||
} else {
|
||||
var emails = get_email_of_subscribers(sub.subscribers);
|
||||
var subscribers_list = list_render.get("stream_subscribers/" + sub.stream_id);
|
||||
@@ -42,6 +38,7 @@ exports.rerender_subscribers_list = function (sub) {
|
||||
subscribers_list.render();
|
||||
ui.update_scrollbar($(".subscriber_list_container"));
|
||||
}
|
||||
$(".subscriber_list_settings_container").show();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -164,7 +161,7 @@ function show_subscription_settings(sub_row) {
|
||||
var color = stream_data.get_color(sub.name);
|
||||
stream_color.set_colorpicker_color(colorpicker, color);
|
||||
|
||||
if (!sub.render_subscribers || !sub.can_add_subscribers) {
|
||||
if (!sub.render_subscribers) {
|
||||
return;
|
||||
}
|
||||
// fetch subscriber list from memory.
|
||||
|
||||
@@ -1,32 +1,26 @@
|
||||
{{#render_subscribers}}
|
||||
<div class="subscriber_list_settings">
|
||||
<div class="sub_settings_title float-left">
|
||||
{{t "Stream membership" }}
|
||||
<div class="stream_subscription_info small"></div>
|
||||
</div>
|
||||
<div class="subscriber_list_add float-right">
|
||||
<form class="form-inline">
|
||||
{{#if can_add_subscribers}}
|
||||
<input type="text" class="search" placeholder="{{t 'Search subscribers' }}" />
|
||||
<input type="text" name="principal" placeholder="{{t 'Email address' }}" value="" class="input-block" autocomplete="off" tabindex="-1" />
|
||||
<button type="submit" name="add_subscriber" class="button add-subscriber-button small rounded" tabindex="-1 ">
|
||||
{{t 'Add' }}
|
||||
</button>
|
||||
{{/if}}
|
||||
</form>
|
||||
</div>
|
||||
<div class="clear-float"></div>
|
||||
</div>
|
||||
<div class="subscriber-list-box">
|
||||
<div class="subscriber_list_container">
|
||||
<div class="subscriber_list_loading_indicator"></div>
|
||||
{{#if can_add_subscribers}}
|
||||
<table class="subscriber-list"></table>
|
||||
{{else}}
|
||||
<div class="hide-subscriber-list">
|
||||
{{t "This stream is private, so you can't see who is subscribed." }}
|
||||
<div class="subscriber_list_settings_container" {{#unless can_add_subscribers}}style="display: none"{{/unless}}>
|
||||
<div class="subscriber_list_settings">
|
||||
<div class="sub_settings_title float-left">
|
||||
{{t "Stream membership" }}
|
||||
<div class="stream_subscription_info small"></div>
|
||||
</div>
|
||||
<div class="subscriber_list_add float-right">
|
||||
<form class="form-inline">
|
||||
<input type="text" class="search" placeholder="{{t 'Search subscribers' }}" />
|
||||
<input type="text" name="principal" placeholder="{{t 'Email address' }}" value="" class="input-block" autocomplete="off" tabindex="-1" />
|
||||
<button type="submit" name="add_subscriber" class="button add-subscriber-button small rounded" tabindex="-1 ">
|
||||
{{t 'Add' }}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="clear-float"></div>
|
||||
</div>
|
||||
<div class="subscriber-list-box">
|
||||
<div class="subscriber_list_container">
|
||||
<div class="subscriber_list_loading_indicator"></div>
|
||||
<table class="subscriber-list"></table>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
{{/render_subscribers}}
|
||||
|
||||
Reference in New Issue
Block a user