[CLD-6324] Cloud IP Filtering (#24726)
* Initial comit for ip filtering service implementation * Add audit logs for IP Filters * start of webapp work * Stashing * Updates based on Agniva's feedback around service vs einterface * Updates completed * Commit before refactoring, everything's working * First pass of cleanup complete, front-end tests added * actually add files * Updates to some translation strings, running i18n-extract * Lock everything behind a feature flag * Fix tests, try to fix some linter stuff * Fixed linter for JS, on to scss * Fixed linter for scss * Fix linter * More fixes for pipeline * Support for IPV6 * Remove tsx file that was removed in masteR * Revert package.json and package-lock.json to master, add cidr-regex dep into channels/package.json * Another commit to force fix Github * Fixes around IPV6. Some suggestions from Matt re: UX review. Fixing pipelines for tests and types on new cidr-regex package * Changes to address Matt's feedback * A few more changes for clean up * Add support for permissions * Fix vet for OpenAPI spec * Actually add the yaml file for openapi * Add permission migration to allow support for IP Filtering * Fix tests * Final fixes from Matt * Remove cancel button from page, update link outs to documentation * Update test to account for removed cancel button * Adjustments based on feedback from Harrison * More fixes from PR feedback * Add a t to fix translations that doesn't seem to be breaking anyone else? * More fix * updates for PR feedback * Fix linter * Fix types * Now fix the linter again * Add back tests because Harrison was able to get them running * Adjustments for PR feedback * Remove admin_definition.jsx * Fix linter * [CLD-6453] IP Filtering notification email for sysadmins (#25224) * Initial commit for IP filtering alert email * Updates to style for email, addition of ip_filtering email: * Fix pipelines * Adjustments from Matt's feedback * Padding changes * template diff (#25249) Co-authored-by: Gabe Jackson <3694686+gabrieljackson@users.noreply.github.com> * Fix hardcoded true, remove bool return value --------- Co-authored-by: Mattermost Build <build@mattermost.com> Co-authored-by: Gabe Jackson <3694686+gabrieljackson@users.noreply.github.com> * Lock feature behind enterprise license. Drop cidr-regex in favour of ipaddr.js dependency. Refactor isIpAddressWithinRanges to use ipaddr.js * Add a couple server tests * fix linter * Fix types from merge conflicts --------- Co-authored-by: Mattermost Build <build@mattermost.com> Co-authored-by: Gabe Jackson <3694686+gabrieljackson@users.noreply.github.com>
Этот коммит содержится в:
@@ -1625,6 +1625,22 @@
|
||||
"id": "api.context.invitation_expired.error",
|
||||
"translation": "Invitation is expired."
|
||||
},
|
||||
{
|
||||
"id": "api.context.ip_filtering.apply_ip_filters.app_error",
|
||||
"translation": "An error has occurred while applying IP Filters"
|
||||
},
|
||||
{
|
||||
"id": "api.context.ip_filtering.get_ip_filters.app_error",
|
||||
"translation": "An error has occurred while fetching IP Filters"
|
||||
},
|
||||
{
|
||||
"id": "api.context.ip_filtering.get_my_ip.failed",
|
||||
"translation": "An error has occurred while fetching the client's IP address"
|
||||
},
|
||||
{
|
||||
"id": "api.context.ip_filtering.not_available.app_error",
|
||||
"translation": "IP Filtering is not available on this server"
|
||||
},
|
||||
{
|
||||
"id": "api.context.json_encoding.app_error",
|
||||
"translation": "Error encoding JSON."
|
||||
@@ -3706,6 +3722,38 @@
|
||||
"id": "api.templates.invite_team_and_channels_subject",
|
||||
"translation": "[{{ .SiteName }}] {{ .SenderName }} invited you to join {{ .ChannelsLen }} channels on the {{ .TeamDisplayName }} Team"
|
||||
},
|
||||
{
|
||||
"id": "api.templates.ip_filters_changed.button",
|
||||
"translation": "Review changes"
|
||||
},
|
||||
{
|
||||
"id": "api.templates.ip_filters_changed.subTitle",
|
||||
"translation": "@{{ .InitiatingUsername }} changed the IP filtering settings for your workspace at the URL: {{ .SiteURL }}"
|
||||
},
|
||||
{
|
||||
"id": "api.templates.ip_filters_changed.subject",
|
||||
"translation": "Changes to Your Workspace's IP Filters"
|
||||
},
|
||||
{
|
||||
"id": "api.templates.ip_filters_changed.title",
|
||||
"translation": "IP filtering changes for your workspace"
|
||||
},
|
||||
{
|
||||
"id": "api.templates.ip_filters_changed_footer.contact_support",
|
||||
"translation": "Contact support"
|
||||
},
|
||||
{
|
||||
"id": "api.templates.ip_filters_changed_footer.log_in_to_customer_portal",
|
||||
"translation": "Log in to the customer portal to reset IP filtering"
|
||||
},
|
||||
{
|
||||
"id": "api.templates.ip_filters_changed_footer.send_an_email_to",
|
||||
"translation": "Send an email to {{ .InitiatingUserEmail }}"
|
||||
},
|
||||
{
|
||||
"id": "api.templates.ip_filters_changed_footer.title",
|
||||
"translation": "Having trouble accessing your workspace?"
|
||||
},
|
||||
{
|
||||
"id": "api.templates.license_up_for_renewal_contact_sales",
|
||||
"translation": "Contact sales"
|
||||
|
||||
Ссылка в новой задаче
Block a user