mirror of
https://github.com/zulip/zulip.git
synced 2025-11-18 21:06:16 +00:00
org settings: Explain Zoom support is experimental, and fix a few strings.
Visually, #zoom_help_text acts like .organization-settings-parent div:first-of-type when the Zoom option is selected, but isn't treated as such. No visual change with the #google_hangouts_domain change; just there to make the code more readable/defensible.
This commit is contained in:
@@ -15,8 +15,8 @@ in bursts.
|
|||||||
- Added support for explicitly setting oneself as "away" and "user
|
- Added support for explicitly setting oneself as "away" and "user
|
||||||
status" messages.
|
status" messages.
|
||||||
- Added a built-in /poll slash command for lightweight polls.
|
- Added a built-in /poll slash command for lightweight polls.
|
||||||
- Added support for using Zoom as the video chat provider. We now
|
- Added experimental support for using Zoom as the video chat
|
||||||
support Jitsi, Google Hangouts, and Zoom.
|
provider. We now support Jitsi, Google Hangouts, and Zoom.
|
||||||
- Added support for branding the top-left corner of the logged in app
|
- Added support for branding the top-left corner of the logged in app
|
||||||
with an organization's logo.
|
with an organization's logo.
|
||||||
- Zulip's "Guest users" feature is no longer experimental.
|
- Zulip's "Guest users" feature is no longer experimental.
|
||||||
|
|||||||
@@ -478,6 +478,8 @@ input[type=checkbox] + .inline-block {
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#google_hangouts_domain,
|
||||||
|
#zoom_help_text,
|
||||||
.organization-settings-parent div:first-of-type {
|
.organization-settings-parent div:first-of-type {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -165,8 +165,14 @@
|
|||||||
name="realm_google_hangouts_domain"
|
name="realm_google_hangouts_domain"
|
||||||
class="admin-realm-google-hangouts-domain"/>
|
class="admin-realm-google-hangouts-domain"/>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="zoom_help_text" class="zoom_credentials">
|
||||||
|
<p>
|
||||||
|
Note: Zoom support is experimental. In particular, Zulip currently supports having
|
||||||
|
only one active Zoom meeting at a time.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
<div id="zoom_user_id" class="zoom_credentials">
|
<div id="zoom_user_id" class="zoom_credentials">
|
||||||
<label>{{t 'Zoom user ID (required)' }}:</label>
|
<label>{{t 'Zoom user ID or email address (required)' }}:</label>
|
||||||
<input type="text" id="id_realm_zoom_user_id"
|
<input type="text" id="id_realm_zoom_user_id"
|
||||||
name="realm_zoom_user_id"
|
name="realm_zoom_user_id"
|
||||||
class="admin-realm-zoom-field"/>
|
class="admin-realm-zoom-field"/>
|
||||||
|
|||||||
@@ -414,14 +414,14 @@ class RealmTest(ZulipTestCase):
|
|||||||
|
|
||||||
req = {"video_chat_provider": ujson.dumps("Zoom")}
|
req = {"video_chat_provider": ujson.dumps("Zoom")}
|
||||||
result = self.client_patch('/json/realm', req)
|
result = self.client_patch('/json/realm', req)
|
||||||
self.assert_json_error(result, "Invalid user ID: user ID cannot be empty")
|
self.assert_json_error(result, "User ID cannot be empty")
|
||||||
|
|
||||||
req = {
|
req = {
|
||||||
"video_chat_provider": ujson.dumps("Zoom"),
|
"video_chat_provider": ujson.dumps("Zoom"),
|
||||||
"zoom_user_id": ujson.dumps("example@example.com")
|
"zoom_user_id": ujson.dumps("example@example.com")
|
||||||
}
|
}
|
||||||
result = self.client_patch('/json/realm', req)
|
result = self.client_patch('/json/realm', req)
|
||||||
self.assert_json_error(result, "Invalid API key: API key cannot be empty")
|
self.assert_json_error(result, "API key cannot be empty")
|
||||||
|
|
||||||
req = {
|
req = {
|
||||||
"video_chat_provider": ujson.dumps("Zoom"),
|
"video_chat_provider": ujson.dumps("Zoom"),
|
||||||
@@ -429,7 +429,7 @@ class RealmTest(ZulipTestCase):
|
|||||||
"zoom_api_key": ujson.dumps("abc")
|
"zoom_api_key": ujson.dumps("abc")
|
||||||
}
|
}
|
||||||
result = self.client_patch('/json/realm', req)
|
result = self.client_patch('/json/realm', req)
|
||||||
self.assert_json_error(result, "Invalid API secret: API secret cannot be empty")
|
self.assert_json_error(result, "API secret cannot be empty")
|
||||||
|
|
||||||
with mock.patch("zerver.views.realm.request_zoom_video_call_url", return_value=None):
|
with mock.patch("zerver.views.realm.request_zoom_video_call_url", return_value=None):
|
||||||
req = {
|
req = {
|
||||||
|
|||||||
@@ -87,11 +87,11 @@ def update_realm(
|
|||||||
return json_error(_('Invalid domain: {}').format(e.messages[0]))
|
return json_error(_('Invalid domain: {}').format(e.messages[0]))
|
||||||
if video_chat_provider == "Zoom":
|
if video_chat_provider == "Zoom":
|
||||||
if not zoom_user_id:
|
if not zoom_user_id:
|
||||||
return json_error(_('Invalid user ID: user ID cannot be empty'))
|
return json_error(_('User ID cannot be empty'))
|
||||||
if not zoom_api_key:
|
if not zoom_api_key:
|
||||||
return json_error(_('Invalid API key: API key cannot be empty'))
|
return json_error(_('API key cannot be empty'))
|
||||||
if not zoom_api_secret:
|
if not zoom_api_secret:
|
||||||
return json_error(_('Invalid API secret: API secret cannot be empty'))
|
return json_error(_('API secret cannot be empty'))
|
||||||
# Technically, we could call some other API endpoint that
|
# Technically, we could call some other API endpoint that
|
||||||
# doesn't create a video call link, but this is a nicer
|
# doesn't create a video call link, but this is a nicer
|
||||||
# end-to-end test, since it verifies that the Zoom API user's
|
# end-to-end test, since it verifies that the Zoom API user's
|
||||||
|
|||||||
Reference in New Issue
Block a user