* [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>
369 строки
11 KiB
JavaScript
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',
|
|
},
|
|
];
|