frontend: Add org_type to realm settings updates and events.

Adds a drop-down menu for updating the organization type in the
`organization_profile_admin` page. Implements front end for
this setting to work / update like other organization profile,
notification and permissions settings.

One special note about this dropdown is that the listed options
should change once an organization has successfully set a type
other than 'unspecified' in the database. To accomplish this
the initial settings overlay build checks the realm_org_type
value in the page_params to select the correct options list,
and when the dropdown value is reset, either for update events
or for discarding changes, the page_params value is again used
to check for whether the 'unspecified' value should be present
as an option in the dropdown menu.

Adds basic node test for the `server_events_dispatch`.
Also adds a new help center documentation article for this
organization setting that is linked to in the UI.

Fixes #21692.
This commit is contained in:
Lauryn Menard
2022-04-12 17:41:07 +02:00
committed by Tim Abbott
parent d2207d4ad5
commit 1292338537
11 changed files with 140 additions and 4 deletions

View File

@@ -80,6 +80,7 @@ export function build_page() {
const options = {
custom_profile_field_types: page_params.custom_profile_field_types,
realm_name: page_params.realm_name,
realm_org_type: page_params.realm_org_type,
realm_available_video_chat_providers: page_params.realm_available_video_chat_providers,
giphy_rating_options: page_params.giphy_rating_options,
giphy_api_key_empty: page_params.giphy_api_key === "",
@@ -162,6 +163,7 @@ export function build_page() {
disable_enable_spectator_access_setting: !page_params.server_web_public_streams_enabled,
can_sort_by_email: settings_data.show_email(),
realm_push_notifications_enabled: page_params.realm_push_notifications_enabled,
realm_org_type_values: settings_org.get_org_type_dropdown_options(),
};
if (options.realm_logo_source !== "D" && options.realm_night_logo_source === "D") {