mirror of
https://github.com/zulip/zulip.git
synced 2025-10-24 16:43:57 +00:00
org settings: Change user joining invitation setting to dropdown.
This commit is contained in:
committed by
Tim Abbott
parent
230ecb24ed
commit
c293bb82c4
@@ -33,8 +33,6 @@ function _setup_page() {
|
||||
realm_available_video_chat_providers: page_params.realm_available_video_chat_providers,
|
||||
realm_description: page_params.realm_description,
|
||||
realm_restricted_to_domain: page_params.realm_restricted_to_domain,
|
||||
realm_invite_required: page_params.realm_invite_required,
|
||||
realm_invite_by_admins_only: page_params.realm_invite_by_admins_only,
|
||||
realm_inline_image_preview: page_params.realm_inline_image_preview,
|
||||
server_inline_image_preview: page_params.server_inline_image_preview,
|
||||
realm_inline_url_embed_preview: page_params.realm_inline_url_embed_preview,
|
||||
@@ -81,7 +79,6 @@ function _setup_page() {
|
||||
realm_send_welcome_emails: i18n.t("Send emails introducing Zulip to new users"),
|
||||
|
||||
// Organization permissions
|
||||
realm_invite_required: i18n.t("Users need an invitation to join"),
|
||||
realm_name_changes_disabled: i18n.t("Prevent users from changing their name"),
|
||||
realm_email_changes_disabled : i18n.t("Prevent users from changing their email address"),
|
||||
};
|
||||
|
||||
@@ -63,14 +63,6 @@ var org_settings = {
|
||||
};
|
||||
|
||||
var org_permissions = {
|
||||
org_join: {
|
||||
invite_required: {
|
||||
type: 'bool',
|
||||
},
|
||||
invite_by_admins_only: {
|
||||
type: 'bool',
|
||||
},
|
||||
},
|
||||
user_identity: {
|
||||
name_changes_disabled: {
|
||||
type: 'bool',
|
||||
@@ -157,6 +149,14 @@ function get_property_value(property_name) {
|
||||
return "no_disposable_email";
|
||||
}
|
||||
return "no_restriction";
|
||||
} else if (property_name === 'realm_user_invite_restriction') {
|
||||
if (!page_params.realm_invite_required) {
|
||||
return "no_invite_required";
|
||||
}
|
||||
if (page_params.realm_invite_by_admins_only) {
|
||||
return "by_admins_only";
|
||||
}
|
||||
return "by_anyone";
|
||||
}
|
||||
return page_params[property_name];
|
||||
}
|
||||
@@ -247,6 +247,10 @@ function set_msg_delete_limit_dropdown() {
|
||||
}
|
||||
}
|
||||
|
||||
function set_user_invite_restriction_dropdown() {
|
||||
$("#id_realm_user_invite_restriction").val(get_property_value("realm_user_invite_restriction"));
|
||||
}
|
||||
|
||||
function set_org_join_restrictions_dropdown() {
|
||||
var value = get_property_value("realm_org_join_restrictions");
|
||||
$("#id_realm_org_join_restrictions").val(value);
|
||||
@@ -398,6 +402,8 @@ function update_dependent_subsettings(property_name) {
|
||||
set_msg_delete_limit_dropdown();
|
||||
} else if (property_name === 'realm_org_join_restrictions') {
|
||||
set_org_join_restrictions_dropdown();
|
||||
} else if (property_name === 'realm_user_invite_restriction') {
|
||||
set_user_invite_restriction_dropdown();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -434,6 +440,8 @@ exports.sync_realm_settings = function (property) {
|
||||
property = 'message_content_delete_limit_minutes';
|
||||
} else if (property === 'allow_message_deleting') {
|
||||
property = 'msg_delete_limit_setting';
|
||||
} else if (property === 'invite_required' || property === 'invite_by_admins_only') {
|
||||
property = 'user_invite_restriction';
|
||||
}
|
||||
var element = $('#id_realm_'+property);
|
||||
if (element.length) {
|
||||
@@ -527,6 +535,7 @@ function _set_up() {
|
||||
set_msg_edit_limit_dropdown();
|
||||
set_msg_delete_limit_dropdown();
|
||||
set_org_join_restrictions_dropdown();
|
||||
set_user_invite_restriction_dropdown();
|
||||
|
||||
$("#id_realm_invite_required").change(function () {
|
||||
settings_ui.disable_sub_setting_onchange(this.checked, "id_realm_invite_by_admins_only", true);
|
||||
@@ -676,8 +685,8 @@ function _set_up() {
|
||||
opts.data = data;
|
||||
} else if (subsection === 'org_join') {
|
||||
opts.data = {};
|
||||
var org_join_restrictions = $('#id_realm_org_join_restrictions').val();
|
||||
|
||||
var org_join_restrictions = $('#id_realm_org_join_restrictions').val();
|
||||
if (org_join_restrictions === "only_selected_domain") {
|
||||
opts.data.restricted_to_domain = true;
|
||||
opts.data.disallow_disposable_email_addresses = false;
|
||||
@@ -688,6 +697,18 @@ function _set_up() {
|
||||
opts.data.disallow_disposable_email_addresses = false;
|
||||
opts.data.restricted_to_domain = false;
|
||||
}
|
||||
|
||||
var user_invite_restriction = $('#id_realm_user_invite_restriction').val();
|
||||
if (user_invite_restriction === 'no_invite_required') {
|
||||
opts.data.invite_required = false;
|
||||
opts.data.invite_by_admins_only = false;
|
||||
} else if (user_invite_restriction === 'by_admins_only') {
|
||||
opts.data.invite_required = true;
|
||||
opts.data.invite_by_admins_only = true;
|
||||
} else {
|
||||
opts.data.invite_required = true;
|
||||
opts.data.invite_by_admins_only = false;
|
||||
}
|
||||
}
|
||||
|
||||
return opts;
|
||||
|
||||
@@ -1388,6 +1388,7 @@ input[type=checkbox].inline-block {
|
||||
#id_realm_create_stream_permission,
|
||||
#id_realm_org_join_restrictions,
|
||||
#id_realm_bot_creation_policy,
|
||||
#id_realm_user_invite_restriction,
|
||||
#id_realm_msg_edit_limit_setting {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,16 @@
|
||||
</div>
|
||||
<div class="m-10 inline-block organization-permissions-parent">
|
||||
<div class="input-group">
|
||||
<label for="realm_org_join_restrictions" class="dropdown-title">{{t "Restrict email domains of new users" }}</label>
|
||||
<label for="realm_user_invite_restriction" class="dropdown-title">{{t "Are invitations required for joining the organization?" }}</label>
|
||||
<select name="realm_user_invite_restriction" id="id_realm_user_invite_restriction">
|
||||
<option value="no_invite_required">{{t "No" }}</option>
|
||||
<option value="by_anyone">{{t "Yes, and normal users can send invitations" }}</option>
|
||||
<option value="by_admins_only">{{t "Yes, and only admins can send invitations" }}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="input-group">
|
||||
<label for="realm_org_join_restrictions" class="dropdown-title">{{t "Email domains of new users" }}</label>
|
||||
<select name="realm_org_join_restrictions" id="id_realm_org_join_restrictions">
|
||||
<option value="no_restriction">{{t "No restrictions" }}</option>
|
||||
<option value="no_disposable_email">{{t "Don’t allow disposable email addresses" }}</option>
|
||||
@@ -23,24 +32,6 @@
|
||||
<a data-toggle="modal" href="#realm_domains_modal">{{t "[Configure]" }}</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{partial "settings_checkbox"
|
||||
"setting_name" "realm_invite_required"
|
||||
"prefix" "id_"
|
||||
"is_checked" realm_invite_required
|
||||
"label" admin_settings_label.realm_invite_required}}
|
||||
|
||||
<div class="input-group disableable {{#unless realm_invite_required}}control-label-disabled{{/unless}}">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" name="realm_invite_by_admins_only" id="id_realm_invite_by_admins_only"
|
||||
{{#unless realm_invite_required}}disabled="disabled"{{/unless}}
|
||||
{{#if realm_invite_by_admins_only}}checked="checked"{{/if}} />
|
||||
<span></span>
|
||||
</label>
|
||||
<label for="id_realm_invite_by_admins_only" id="id_realm_invite_by_admins_only_label" class="inline-block">
|
||||
{{t "Only admins can invite new users" }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user