mirror of
https://github.com/zulip/zulip.git
synced 2026-07-15 21:03:26 +08:00
Add control to subscriptions settings to add other users to streams
(imported from commit c013c41f288b438e7462f8024b6c1c6e817e06ee)
This commit is contained in:
parent
83b2696b2f
commit
5ffc646972
@ -17,9 +17,18 @@
|
||||
Stream color
|
||||
</ul>
|
||||
{{#render_subscribers}}
|
||||
<span class="sub_settings_title">Subscribers</span>
|
||||
<div>
|
||||
<span class="sub_settings_title">Subscribers</span>
|
||||
<div class="subscriber_list_add">
|
||||
<form class="form-inline">
|
||||
<input type="text" name="principal" placeholder="Email address" value="" class="span2" />
|
||||
<input type="submit" name="add_subscriber" value="Add" class="btn btn-primary" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="subscriber_list_container">
|
||||
<div class="alert alert-error hide"></div>
|
||||
<div class="alert alert-warning hide"></div>
|
||||
<ul>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@ -295,14 +295,52 @@ $(function () {
|
||||
ajaxSubscribe($("#streams").val());
|
||||
});
|
||||
|
||||
if (! render_subscribers()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$("#subscriptions_table").on("show", ".subscription_settings", function (e) {
|
||||
if (! render_subscribers()) {
|
||||
return;
|
||||
}
|
||||
// From here down is only stuff that happens when we're rendering
|
||||
// the subscriber settings
|
||||
|
||||
$("#subscriptions_table").on("submit", ".subscriber_list_add form", function (e) {
|
||||
e.preventDefault();
|
||||
var sub_row = $(e.target).closest('.subscription_row');
|
||||
var stream = sub_row.find('.subscription_name').text();
|
||||
var error_elem = sub_row.find('.subscriber_list_container .alert');
|
||||
var text_box = sub_row.find('input[name="principal"]');
|
||||
var principal = text_box.val();
|
||||
// TODO: clean up this error handling
|
||||
var error_elem = sub_row.find('.subscriber_list_container .alert-error');
|
||||
var warning_elem = sub_row.find('.subscriber_list_container .alert-warning');
|
||||
var list = sub_row.find('.subscriber_list_container ul');
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/json/subscriptions/add",
|
||||
dataType: 'json',
|
||||
data: {"subscriptions": JSON.stringify([stream]),
|
||||
"principal": principal},
|
||||
success: function (data) {
|
||||
text_box.val('');
|
||||
if (data.subscribed.length) {
|
||||
error_elem.addClass("hide");
|
||||
warning_elem.addClass("hide");
|
||||
list.prepend('<li>' + principal);
|
||||
} else {
|
||||
error_elem.addClass("hide");
|
||||
warning_elem.removeClass("hide").text("User already subscribed");
|
||||
}
|
||||
},
|
||||
error: function (xhr) {
|
||||
warning_elem.addClass("hide");
|
||||
error_elem.removeClass("hide").text("Could not add user to this stream");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$("#subscriptions_table").on("show", ".subscription_settings", function (e) {
|
||||
var sub_row = $(e.target).closest('.subscription_row');
|
||||
var stream = sub_row.find('.subscription_name').text();
|
||||
var error_elem = sub_row.find('.subscriber_list_container .alert-error');
|
||||
var list = sub_row.find('.subscriber_list_container ul');
|
||||
error_elem.addClass('hide');
|
||||
list.empty();
|
||||
|
||||
@ -615,6 +615,11 @@ table.floating_recipient {
|
||||
|
||||
.subscription_settings {
|
||||
margin-left: 35px;
|
||||
margin-right: 35px;
|
||||
}
|
||||
|
||||
.subscription_settings form {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.subscription_settings ul {
|
||||
@ -641,6 +646,11 @@ table.floating_recipient {
|
||||
.subscriber_list_container {
|
||||
max-height: 200px;
|
||||
overflow: auto;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.subscriber_list_add {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#invite_user_form {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user