Files
mostlymatter/e2e-tests/cypress/tests/utils/admin_console.js
Christopher Poile 548a47ae56 [MM-63152] LDAP Wizard (#31417)
* [MM-63717] LDAP Wizard skeleton (#31029)

* add ldap_wizard component to render its admin components

* i18n

* test adjustment

* keys and props fixes

* title fix

* fix placeholders

* fix value initialization

* linting

* remove all ...props (except custom component); any->unknown

* fix i18n (temp, will be changed in later PR)

* better return; simplify function checking/calling

* [MM-64259] Sections sidebar and navigation (#31059)

* initial sections list sidebar

* sidebar highlighting and scroll on click

* some tidying up

* add custom section titles for section sidebar

* i18n

* updating border on sections

* scss style lint

* color -> border-color

* simplify activeSectionKey initialization; remove trailing newline

* add useSectionNavigation; clean up ldap_wizard and scss; PR comments

* extract section of code into renderSidebar()

---------

Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>

* [MM-64296] Add test connection for connection settings panel (#31190)

* button -> ldap test connect api

* fix console error by sanitizing value in text component

* return detailed error as error; adjust button -> primary, flushLeft

* middle of redesigning how we do hover text, first button

* add hover text to bools and file uploads

* i18n

* add LdapSettings as api type; add new endpoint to api yaml

* allow testing without first enabling LDAP and saving config

* i18n id changes

* improve TestLdapConnection to current standards

* PR comments

* safeDereference; cleaner returns

* remove hover markdown; formatting and typing simplification

* use button for "More Info"; i18n

* finish renaming help_text_hover -> help_text_more_info

* fix error output

* only send bindpassword if it has been changed

* fix: don't send blank bindPassword when it is still *****

* merge conflict

* [MM-64480] Refactor Admin Definition (#31280)

* move ldap definition to its own file for simplicity & context

* refactor admin_definition to eliminate circular dependencies

* merge conflicts

* before: buggy userHasReadPermissinOnSomeResources; after: fix incorrect snapshot

* merge conflict: new bindPasssword definition was left behind; fixed.

* merge conflict

* [MM-63765] LDAP Wizard: User filter expandable section (#31286)

* add "more info" hover to user filter help texts; make wider

* add expandable_setting type and component

* use Dislosure show/hide pattern for accessibility

* fix tooltip scss selectors

* fix hover -> more_info; make sure translation files are correct

* use join('\n\n') instead of the eslint disable line

* Revert "use join('\n\n') instead of the eslint disable line"

This reverts commit 274667e875b34703f14fee0706cd28b0125cefc9.

* [MM-64482] LDAP Wizard - Test User filters (#31312)

* initial cut at UI and backend for test filters

* api definitions; mocks

* clean up to current standards

* [MM-64512] - Test user filters UI (#31355)

* result_count -> total_count

* json cannot marshal error, returning error as string as god intended

* render errors with icon, hover text, and better feedback texts

* gather the settings that may be in expandable sections

* remove success, use error == "" to indicate success

* [MM-64536] LDAP Wizard: Test user attributes (#31373)

* LdapFilterTestResult -> LdapDiagnosticResult; FilterName -> TestName

* implement test_attributes endpoint and limited frontend (first step)

* adding EntriesWithValue

* [MM-64550] LDAP Wizard: Test user attributes UI (#31374)

* [MM-64551] LDAP Wizard: Test group attributes (#31375)

* remove Test LDAP button (not needed); reused helptext for other btn

* implement test_group_attributes endpoint; button/client-side paths

* [MM-64552] LDAP Wizard: Test group attributes UI (#31376)

* implement Test Group Attributes button

* simplify helper functions (improves useCallback dependencies)

* show the default filter that was used on the backend in the tooltip

* show the icon when there's an error (e.g. required filter/attribute)

* fix infinite rerendering

* fix error after failed save; fix navigation unlocked after save

* empty

* Adjust message feedback given we don't test the schema anymore

* improve css; don't use inline styles

* removed unneccesary pointer indirection

* improved i18n strings and logic

* combining filters/attributes/group attributes endpoints

improve types

* improve help text for User Filter (it's tricky)

* AvailableAttrs -> AvailableAttributes

* fix for e2e tests (renamed title)

* more e2e fixes

* skip broken e2e test

---------

Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
2025-06-16 16:19:33 -04:00

369 строки
11 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
export const adminConsoleNavigation = [
{
type: ['team', 'e20'],
header: 'Edition and License',
sidebar: 'Edition and License',
url: 'admin_console/about/license',
},
{
type: ['cloud_enterprise'],
header: 'Subscription',
sidebar: 'Subscription',
url: 'admin_console/billing/subscription',
},
{
type: ['cloud_enterprise'],
header: 'Billing History',
sidebar: 'Billing History',
url: 'admin_console/billing/billing_history',
},
{
type: ['cloud_enterprise'],
header: 'Company Information',
sidebar: 'Company Information',
url: 'admin_console/billing/company_info',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'System Statistics',
sidebar: 'Site Statistics',
url: '/admin_console/reporting/system_analytics',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Team Statistics',
sidebar: 'Team Statistics',
url: '/admin_console/reporting/team_statistics',
headerContains: true,
},
{
type: ['team', 'e20'],
header: 'Server Logs',
sidebar: 'Server Logs',
url: '/admin_console/reporting/server_logs',
headerContains: true,
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Mattermost Users',
headerSelector: '.admin-console__header #systemUsersTable-headerId',
sidebar: 'Users',
url: 'admin_console/user_management/users',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Groups',
sidebar: 'Groups',
url: 'admin_console/user_management/groups',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Mattermost Teams',
sidebar: 'Teams',
url: 'admin_console/user_management/teams',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Mattermost Channels',
team_header: 'Channels',
sidebar: 'Channels',
url: 'admin_console/user_management/channels',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Permission Schemes',
sidebar: 'Permissions',
url: 'admin_console/user_management/permissions',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Delegated Granular Administration',
sidebar: 'Delegated Granular Administration',
url: 'admin_console/user_management/system_roles',
},
{
type: ['team', 'e20'],
header: 'Web Server',
sidebar: 'Web Server',
url: 'admin_console/environment/web_server',
},
{
type: ['team', 'e20'],
header: 'Database',
sidebar: 'Database',
url: 'admin_console/environment/database',
},
{
type: ['e20'],
section: 'Environment',
header: 'Elasticsearch',
sidebar: 'Elasticsearch',
url: 'admin_console/environment/elasticsearch',
},
{
type: ['team', 'e20'],
section: 'Environment',
header: 'File Storage',
sidebar: 'File Storage',
url: 'admin_console/environment/file_storage',
},
{
type: ['team', 'e20'],
section: 'Environment',
header: 'Image Proxy',
sidebar: 'Image Proxy',
url: 'admin_console/environment/image_proxy',
},
{
type: ['team', 'e20'],
section: 'Environment',
header: 'SMTP',
sidebar: 'SMTP',
url: 'admin_console/environment/smtp',
},
{
type: ['team', 'e20'],
section: 'Environment',
header: 'Push Notification Server',
sidebar: 'Push Notification Server',
url: 'admin_console/environment/push_notification_server',
},
{
type: ['e20'],
section: 'Environment',
header: 'High Availability',
sidebar: 'High Availability',
url: 'admin_console/environment/high_availability',
},
{
type: ['team', 'e20'],
section: 'Environment',
header: 'Rate Limiting',
sidebar: 'Rate Limiting',
url: 'admin_console/environment/rate_limiting',
},
{
type: ['team', 'e20'],
section: 'Environment',
header: 'Logging',
sidebar: 'Logging',
url: 'admin_console/environment/logging',
},
{
type: ['team', 'e20'],
section: 'Environment',
header: 'Session Lengths',
sidebar: 'Session Lengths',
url: 'admin_console/environment/session_lengths',
},
{
type: ['team', 'e20'],
section: 'Environment',
header: 'Performance Monitoring',
sidebar: 'Performance Monitoring',
url: 'admin_console/environment/performance_monitoring',
},
{
type: ['team', 'e20'],
section: 'Environment',
header: 'Developer Settings',
sidebar: 'Developer',
url: 'admin_console/environment/developer',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Customization',
sidebar: 'Customization',
url: 'admin_console/site_config/customization',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Localization',
sidebar: 'Localization',
url: 'admin_console/site_config/localization',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Users and Teams',
sidebar: 'Users and Teams',
url: 'admin_console/site_config/users_and_teams',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Notifications',
sidebar: 'Notifications',
url: 'admin_console/environment/notifications',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Announcement Banner',
sidebar: 'Announcement Banner',
url: 'admin_console/site_config/announcement_banner',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Emoji',
sidebar: 'Emoji',
url: 'admin_console/site_config/emoji',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Posts',
sidebar: 'Posts',
url: 'admin_console/site_config/posts',
},
{
type: ['team', 'e20'],
header: 'File Sharing and Downloads',
sidebar: 'File Sharing and Downloads',
url: 'admin_console/site_config/file_sharing_downloads',
},
{
type: ['team', 'e20'],
header: 'Public Links',
sidebar: 'Public Links',
url: 'admin_console/site_config/public_links',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Notices',
sidebar: 'Notices',
url: 'admin_console/site_config/notices',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Signup',
sidebar: 'Signup',
url: 'admin_console/authentication/signup',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Email Authentication',
sidebar: 'Email',
url: 'admin_console/authentication/email',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Password',
sidebar: 'Password',
url: 'admin_console/authentication/password',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Multi-factor Authentication',
sidebar: 'MFA',
url: 'admin_console/authentication/mfa',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'AD/LDAP Wizard',
sidebar: 'AD/LDAP',
url: 'admin_console/authentication/ldap',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'SAML 2.0',
sidebar: 'SAML 2.0',
url: 'admin_console/authentication/saml',
},
{
type: ['team'],
header: 'GitLab',
sidebar: 'GitLab',
url: 'admin_console/authentication/gitlab',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'OpenID Connect',
sidebar: 'OpenID Connect',
url: 'admin_console/authentication/openid',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Guest Access',
sidebar: 'Guest Access',
url: 'admin_console/authentication/guest_access',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Plugin Management',
sidebar: 'Plugin Management',
url: 'admin_console/plugins/plugin_management',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Integration Management',
sidebar: 'Integration Management',
url: 'admin_console/integrations/integration_management',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Bot Accounts',
sidebar: 'Bot Accounts',
url: 'admin_console/integrations/bot_accounts',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'GIF',
sidebar: 'GIF',
url: 'admin_console/integrations/gif',
},
{
type: ['team', 'e20'],
header: 'CORS',
sidebar: 'CORS',
url: 'admin_console/integrations/cors',
},
{
type: ['e20', 'cloud_enterprise'],
header: 'Data Retention Policies',
sidebar: 'Data Retention Policies',
url: 'admin_console/compliance/data_retention_settings',
},
{
type: ['team'],
header: 'Data Retention Policy',
sidebar: 'Data Retention Policy',
url: 'admin_console/compliance/data_retention',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Compliance Export',
sidebar: 'Compliance Export',
url: 'admin_console/compliance/export',
},
{
type: ['e20', 'cloud_enterprise'],
header: 'Compliance Monitoring',
sidebar: 'Compliance Monitoring',
url: 'admin_console/compliance/monitoring',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Custom Terms of Service',
sidebar: 'Custom Terms of Service',
url: 'admin_console/compliance/custom_terms_of_service',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Experimental Features',
sidebar: 'Features',
url: 'admin_console/experimental/features',
},
{
type: ['team', 'e20', 'cloud_enterprise'],
header: 'Feature Flags',
sidebar: 'Feature Flags',
url: 'admin_console/experimental/feature_flags',
},
{
type: ['team', 'e20'],
header: 'Bleve',
sidebar: 'Bleve',
url: 'admin_console/experimental/blevesearch',
},
];