summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSandeepa Singh <sandeepa.singh@ibm.com>2021-07-26 12:35:39 +0300
committerDerick Montague <derick.montague@ibm.com>2021-08-10 22:20:42 +0300
commitb440616c23b61166ae6d87839a70eec31bdca235 (patch)
treed72769d4aa425e96e47419515b85a8631d8e99d7
parentf67f769f2304bca64d2b9758e22c21203960eef9 (diff)
downloadwebui-vue-b440616c23b61166ae6d87839a70eec31bdca235.tar.xz
IA update: Update access and control section
This is the fifth commit of the information architecture changes and has the following changes: - The icon for access and control has been updated - Access and control section has been updated to security and access section - Security settings page has been updated to policies page and moved to security and access section - Client sessions page has been updated to sessions page - Local user management page has been updated to user management page - SSL certificates page has been updated to certificates page Signed-off-by: Sandeepa Singh <sandeepa.singh@ibm.com> Change-Id: Ie93cee9002742ecf7d33615636f4f159f4395fc4
-rw-r--r--src/components/AppNavigation/AppNavigationMixin.js40
-rw-r--r--src/env/components/AppNavigation/ibm.js40
-rw-r--r--src/env/components/AppNavigation/intel.js38
-rw-r--r--src/env/router/ibm.js52
-rw-r--r--src/env/router/intel.js48
-rw-r--r--src/locales/en-US.json40
-rw-r--r--src/locales/ru-RU.json34
-rw-r--r--src/router/routes.js50
-rw-r--r--src/store/index.js18
-rw-r--r--src/store/modules/SecurityAndAccess/CertificatesStore.js (renamed from src/store/modules/AccessControl/SslCertificatesStore.js)24
-rw-r--r--src/store/modules/SecurityAndAccess/LdapStore.js (renamed from src/store/modules/AccessControl/LdapStore.js)0
-rw-r--r--src/store/modules/SecurityAndAccess/PoliciesStore.js (renamed from src/store/modules/Settings/SecuritySettingsStore.js)28
-rw-r--r--src/store/modules/SecurityAndAccess/SessionsStore.js (renamed from src/store/modules/AccessControl/ClientSessionsStore.js)12
-rw-r--r--src/store/modules/SecurityAndAccess/UserManagementStore.js (renamed from src/store/modules/AccessControl/LocalUserMangementStore.js)55
-rw-r--r--src/views/AccessControl/ClientSessions/index.js2
-rw-r--r--src/views/AccessControl/LocalUserManagement/index.js2
-rw-r--r--src/views/AccessControl/SslCertificates/index.js2
-rw-r--r--src/views/ChangePassword/ChangePassword.vue2
-rw-r--r--src/views/ProfileSettings/ProfileSettings.vue8
-rw-r--r--src/views/SecurityAndAccess/Certificates/Certificates.vue (renamed from src/views/AccessControl/SslCertificates/SslCertificates.vue)46
-rw-r--r--src/views/SecurityAndAccess/Certificates/CsrCountryCodes.js (renamed from src/views/AccessControl/SslCertificates/CsrCountryCodes.js)0
-rw-r--r--src/views/SecurityAndAccess/Certificates/ModalGenerateCsr.vue (renamed from src/views/AccessControl/SslCertificates/ModalGenerateCsr.vue)48
-rw-r--r--src/views/SecurityAndAccess/Certificates/ModalUploadCertificate.vue (renamed from src/views/AccessControl/SslCertificates/ModalUploadCertificate.vue)12
-rw-r--r--src/views/SecurityAndAccess/Certificates/index.js2
-rw-r--r--src/views/SecurityAndAccess/Ldap/Ldap.vue (renamed from src/views/AccessControl/Ldap/Ldap.vue)6
-rw-r--r--src/views/SecurityAndAccess/Ldap/ModalAddRoleGroup.vue (renamed from src/views/AccessControl/Ldap/ModalAddRoleGroup.vue)2
-rw-r--r--src/views/SecurityAndAccess/Ldap/TableRoleGroups.vue (renamed from src/views/AccessControl/Ldap/TableRoleGroups.vue)2
-rw-r--r--src/views/SecurityAndAccess/Ldap/index.js (renamed from src/views/AccessControl/Ldap/index.js)0
-rw-r--r--src/views/SecurityAndAccess/Policies/Policies.vue (renamed from src/views/Settings/SecuritySettings/SecuritySettings.vue)32
-rw-r--r--src/views/SecurityAndAccess/Policies/index.js2
-rw-r--r--src/views/SecurityAndAccess/Sessions/Sessions.vue (renamed from src/views/AccessControl/ClientSessions/ClientSessions.vue)65
-rw-r--r--src/views/SecurityAndAccess/Sessions/index.js2
-rw-r--r--src/views/SecurityAndAccess/UserManagement/ModalSettings.vue (renamed from src/views/AccessControl/LocalUserManagement/ModalSettings.vue)28
-rw-r--r--src/views/SecurityAndAccess/UserManagement/ModalUser.vue (renamed from src/views/AccessControl/LocalUserManagement/ModalUser.vue)71
-rw-r--r--src/views/SecurityAndAccess/UserManagement/TableRoles.vue (renamed from src/views/AccessControl/LocalUserManagement/TableRoles.vue)10
-rw-r--r--src/views/SecurityAndAccess/UserManagement/UserManagement.vue (renamed from src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue)70
-rw-r--r--src/views/SecurityAndAccess/UserManagement/index.js2
-rw-r--r--src/views/Settings/SecuritySettings/index.js2
-rw-r--r--tests/unit/__snapshots__/AppNavigation.spec.js.snap108
39 files changed, 486 insertions, 519 deletions
diff --git a/src/components/AppNavigation/AppNavigationMixin.js b/src/components/AppNavigation/AppNavigationMixin.js
index b89f361c..da8a59cd 100644
--- a/src/components/AppNavigation/AppNavigationMixin.js
+++ b/src/components/AppNavigation/AppNavigationMixin.js
@@ -3,7 +3,7 @@ import IconTextLinkAnalysis from '@carbon/icons-vue/es/text-link--analysis/16';
import IconDataCheck from '@carbon/icons-vue/es/data--check/16';
import IconSettingsAdjust from '@carbon/icons-vue/es/settings--adjust/16';
import IconSettings from '@carbon/icons-vue/es/settings/16';
-import IconPassword from '@carbon/icons-vue/es/password/16';
+import IconSecurity from '@carbon/icons-vue/es/security/16';
import IconChevronUp from '@carbon/icons-vue/es/chevron--up/16';
const AppNavigationMixin = {
@@ -13,7 +13,7 @@ const AppNavigationMixin = {
iconHealth: IconDataCheck,
iconControl: IconSettingsAdjust,
iconSettings: IconSettings,
- iconAccessControl: IconPassword,
+ iconSecurityAndAccess: IconSecurity,
iconExpand: IconChevronUp,
},
data() {
@@ -126,37 +126,37 @@ const AppNavigationMixin = {
label: this.$t('appNavigation.powerRestorePolicy'),
route: '/settings/power-restore-policy',
},
- {
- id: 'security-settings',
- label: this.$t('appNavigation.securitySettings'),
- route: '/settings/security-settings',
- },
],
},
{
- id: 'access-control',
- label: this.$t('appNavigation.accessControl'),
- icon: 'iconAccessControl',
+ id: 'security-and-access',
+ label: this.$t('appNavigation.securityAndAccess'),
+ icon: 'iconSecurityAndAccess',
children: [
{
- id: 'client-sessions',
- label: this.$t('appNavigation.clientSessions'),
- route: '/access-control/client-sessions',
+ id: 'sessions',
+ label: this.$t('appNavigation.sessions'),
+ route: '/security-and-access/sessions',
},
{
id: 'ldap',
label: this.$t('appNavigation.ldap'),
- route: '/access-control/ldap',
+ route: '/security-and-access/ldap',
+ },
+ {
+ id: 'user-management',
+ label: this.$t('appNavigation.userManagement'),
+ route: '/security-and-access/user-management',
},
{
- id: 'local-user-management',
- label: this.$t('appNavigation.localUserManagement'),
- route: '/access-control/local-user-management',
+ id: 'policies',
+ label: this.$t('appNavigation.policies'),
+ route: '/security-and-access/policies',
},
{
- id: 'ssl-certificates',
- label: this.$t('appNavigation.sslCertificates'),
- route: '/access-control/ssl-certificates',
+ id: 'certificates',
+ label: this.$t('appNavigation.certificates'),
+ route: '/security-and-access/certificates',
},
],
},
diff --git a/src/env/components/AppNavigation/ibm.js b/src/env/components/AppNavigation/ibm.js
index d6a62893..cbf0db55 100644
--- a/src/env/components/AppNavigation/ibm.js
+++ b/src/env/components/AppNavigation/ibm.js
@@ -3,7 +3,7 @@ import IconTextLinkAnalysis from '@carbon/icons-vue/es/text-link--analysis/16';
import IconDataCheck from '@carbon/icons-vue/es/data--check/16';
import IconSettingsAdjust from '@carbon/icons-vue/es/settings--adjust/16';
import IconSettings from '@carbon/icons-vue/es/settings/16';
-import IconPassword from '@carbon/icons-vue/es/password/16';
+import IconSecurity from '@carbon/icons-vue/es/security/16';
import IconChevronUp from '@carbon/icons-vue/es/chevron--up/16';
const AppNavigationMixin = {
@@ -13,7 +13,7 @@ const AppNavigationMixin = {
iconHealth: IconDataCheck,
iconControl: IconSettingsAdjust,
iconSettings: IconSettings,
- iconAccessControl: IconPassword,
+ iconSecurityAndAccess: IconSecurity,
iconExpand: IconChevronUp,
},
data() {
@@ -121,37 +121,37 @@ const AppNavigationMixin = {
label: this.$t('appNavigation.powerRestorePolicy'),
route: '/settings/power-restore-policy',
},
- {
- id: 'security-settings',
- label: this.$t('appNavigation.securitySettings'),
- route: '/settings/security-settings',
- },
],
},
{
- id: 'access-control',
- label: this.$t('appNavigation.accessControl'),
- icon: 'iconAccessControl',
+ id: 'security-and-access',
+ label: this.$t('appNavigation.securityAndAccess'),
+ icon: 'iconSecurityAndAccess',
children: [
{
- id: 'client-sessions',
- label: this.$t('appNavigation.clientSessions'),
- route: '/access-control/client-sessions',
+ id: 'sessions',
+ label: this.$t('appNavigation.sessions'),
+ route: '/security-and-access/sessions',
},
{
id: 'ldap',
label: this.$t('appNavigation.ldap'),
- route: '/access-control/ldap',
+ route: '/security-and-access/ldap',
+ },
+ {
+ id: 'user-management',
+ label: this.$t('appNavigation.userManagement'),
+ route: '/security-and-access/user-management',
},
{
- id: 'local-user-management',
- label: this.$t('appNavigation.localUserManagement'),
- route: '/access-control/local-user-management',
+ id: 'policies',
+ label: this.$t('appNavigation.policies'),
+ route: '/security-and-access/policies',
},
{
- id: 'ssl-certificates',
- label: this.$t('appNavigation.sslCertificates'),
- route: '/access-control/ssl-certificates',
+ id: 'certificates',
+ label: this.$t('appNavigation.certificates'),
+ route: '/security-and-access/certificates',
},
],
},
diff --git a/src/env/components/AppNavigation/intel.js b/src/env/components/AppNavigation/intel.js
index 20aa4f23..a67828d9 100644
--- a/src/env/components/AppNavigation/intel.js
+++ b/src/env/components/AppNavigation/intel.js
@@ -3,7 +3,7 @@ import IconTextLinkAnalysis from '@carbon/icons-vue/es/text-link--analysis/16';
import IconDataCheck from '@carbon/icons-vue/es/data--check/16';
import IconSettingsAdjust from '@carbon/icons-vue/es/settings--adjust/16';
import IconSettings from '@carbon/icons-vue/es/settings/16';
-import IconPassword from '@carbon/icons-vue/es/password/16';
+import IconSecurity from '@carbon/icons-vue/es/security/16';
import IconChevronUp from '@carbon/icons-vue/es/chevron--up/16';
const AppNavigationMixin = {
@@ -13,7 +13,7 @@ const AppNavigationMixin = {
iconHealth: IconDataCheck,
iconControl: IconSettingsAdjust,
iconSettings: IconSettings,
- iconAccessControl: IconPassword,
+ iconSecurityAndAccess: IconSecurity,
iconExpand: IconChevronUp,
},
data() {
@@ -111,32 +111,32 @@ const AppNavigationMixin = {
label: this.$t('appNavigation.network'),
route: '/settings/network',
},
- {
- id: 'security-settings',
- label: this.$t('appNavigation.securitySettings'),
- route: '/settings/security-settings',
- },
],
},
{
- id: 'access-control',
- label: this.$t('appNavigation.accessControl'),
- icon: 'iconAccessControl',
+ id: 'security-and-access',
+ label: this.$t('appNavigation.securityAndAccess'),
+ icon: 'iconSecurityAndAccess',
children: [
{
- id: 'client-sessions',
- label: this.$t('appNavigation.clientSessions'),
- route: '/access-control/client-sessions',
+ id: 'sessions',
+ label: this.$t('appNavigation.sessions'),
+ route: '/security-and-access/sessions',
+ },
+ {
+ id: 'user-management',
+ label: this.$t('appNavigation.userManagement'),
+ route: '/security-and-access/user-management',
},
{
- id: 'local-user-management',
- label: this.$t('appNavigation.localUserManagement'),
- route: '/access-control/local-user-management',
+ id: 'policies',
+ label: this.$t('appNavigation.policies'),
+ route: '/security-and-access/policies',
},
{
- id: 'ssl-certificates',
- label: this.$t('appNavigation.sslCertificates'),
- route: '/access-control/ssl-certificates',
+ id: 'certificates',
+ label: this.$t('appNavigation.certificates'),
+ route: '/security-and-access/certificates',
},
],
},
diff --git a/src/env/router/ibm.js b/src/env/router/ibm.js
index 4149b97a..f32635fc 100644
--- a/src/env/router/ibm.js
+++ b/src/env/router/ibm.js
@@ -1,14 +1,14 @@
import AppLayout from '@/layouts/AppLayout.vue';
import ChangePassword from '@/views/ChangePassword';
-import ClientSessions from '@/views/AccessControl/ClientSessions';
+import Sessions from '@/views/SecurityAndAccess/Sessions';
import ConsoleLayout from '@/layouts/ConsoleLayout.vue';
import DateTime from '@/views/Settings/DateTime';
import EventLogs from '@/views/Logs/EventLogs';
import FactoryReset from '@/views/Operations/FactoryReset';
import Firmware from '@/views/Operations/Firmware';
import Inventory from '@/views/HardwareStatus/Inventory';
-import Ldap from '@/views/AccessControl/Ldap';
-import LocalUserManagement from '@/views/AccessControl/LocalUserManagement';
+import Ldap from '@/views/SecurityAndAccess/Ldap';
+import UserManagement from '@/views/SecurityAndAccess/UserManagement';
import Login from '@/views/Login';
import LoginLayout from '@/layouts/LoginLayout';
import ManagePowerUsage from '@/views/Operations/ManagePowerUsage';
@@ -19,12 +19,12 @@ import PostCodeLogs from '@/views/Logs/PostCodeLogs';
import PowerRestorePolicy from '@/views/Settings/PowerRestorePolicy';
import ProfileSettings from '@/views/ProfileSettings';
import RebootBmc from '@/views/Operations/RebootBmc';
-import SecuritySettings from '@/views/Settings/SecuritySettings';
+import Policies from '@/views/SecurityAndAccess/Policies';
import Sensors from '@/views/HardwareStatus/Sensors';
import SerialOverLan from '@/views/Operations/SerialOverLan';
import SerialOverLanConsole from '@/views/Operations/SerialOverLan/SerialOverLanConsole';
import ServerPowerOperations from '@/views/Operations/ServerPowerOperations';
-import SslCertificates from '@/views/AccessControl/SslCertificates';
+import Certificates from '@/views/SecurityAndAccess/Certificates';
import i18n from '@/i18n';
// Custom components
@@ -135,15 +135,15 @@ const routes = [
},
},
{
- path: '/access-control/client-sessions',
- name: 'client-sessions',
- component: ClientSessions,
+ path: '/security-and-access/sessions',
+ name: 'sessions',
+ component: Sessions,
meta: {
- title: i18n.t('appPageTitle.clientSessions'),
+ title: i18n.t('appPageTitle.sessions'),
},
},
{
- path: '/access-control/ldap',
+ path: '/security-and-access/ldap',
name: 'ldap',
component: Ldap,
meta: {
@@ -151,19 +151,27 @@ const routes = [
},
},
{
- path: '/access-control/local-user-management',
- name: 'local-users',
- component: LocalUserManagement,
+ path: '/security-and-access/user-management',
+ name: 'user-management',
+ component: UserManagement,
meta: {
- title: i18n.t('appPageTitle.localUserManagement'),
+ title: i18n.t('appPageTitle.userManagement'),
},
},
{
- path: '/access-control/ssl-certificates',
- name: 'ssl-certificates',
- component: SslCertificates,
+ path: '/security-and-access/policies',
+ name: 'policies',
+ component: Policies,
meta: {
- title: i18n.t('appPageTitle.sslCertificates'),
+ title: i18n.t('appPageTitle.policies'),
+ },
+ },
+ {
+ path: '/security-and-access/certificates',
+ name: 'certificates',
+ component: Certificates,
+ meta: {
+ title: i18n.t('appPageTitle.certificates'),
},
},
{
@@ -207,14 +215,6 @@ const routes = [
},
},
{
- path: '/settings/security-settings',
- name: 'security-settings',
- component: SecuritySettings,
- meta: {
- title: i18n.t('appPageTitle.securitySettings'),
- },
- },
- {
path: '/operations/factory-reset',
name: 'factory-reset',
component: FactoryReset,
diff --git a/src/env/router/intel.js b/src/env/router/intel.js
index a8c5a2af..dec42afc 100644
--- a/src/env/router/intel.js
+++ b/src/env/router/intel.js
@@ -1,6 +1,6 @@
import AppLayout from '@/layouts/AppLayout.vue';
import ChangePassword from '@/views/ChangePassword';
-import ClientSessions from '@/views/AccessControl/ClientSessions';
+import Sessions from '@/views/SecurityAndAccess/Sessions';
import ConsoleLayout from '@/layouts/ConsoleLayout.vue';
import DateTime from '@/views/Settings/DateTime';
import EventLogs from '@/views/Logs/EventLogs';
@@ -8,7 +8,7 @@ import Firmware from '@/views/Operations/Firmware';
import Inventory from '@/views/HardwareStatus/Inventory';
import Kvm from '@/views/Operations/Kvm';
import KvmConsole from '@/views/Operations/Kvm/KvmConsole';
-import LocalUserManagement from '@/views/AccessControl/LocalUserManagement';
+import UserManagement from '@/views/SecurityAndAccess/UserManagement';
import Login from '@/views/Login';
import LoginLayout from '@/layouts/LoginLayout';
import ManagePowerUsage from '@/views/Operations/ManagePowerUsage';
@@ -17,12 +17,12 @@ import Overview from '@/views/Overview';
import PageNotFound from '@/views/PageNotFound';
import ProfileSettings from '@/views/ProfileSettings';
import RebootBmc from '@/views/Operations/RebootBmc';
-import SecuritySettings from '@/views/Settings/SecuritySettings';
+import Policies from '@/views/SecurityAndAccess/Policies';
import Sensors from '@/views/HardwareStatus/Sensors';
import SerialOverLan from '@/views/Operations/SerialOverLan';
import SerialOverLanConsole from '@/views/Operations/SerialOverLan/SerialOverLanConsole';
import ServerPowerOperations from '@/views/Operations/ServerPowerOperations';
-import SslCertificates from '@/views/AccessControl/SslCertificates';
+import Certificates from '@/views/SecurityAndAccess/Certificates';
import VirtualMedia from '@/views/Operations/VirtualMedia';
import i18n from '@/i18n';
@@ -123,27 +123,35 @@ const routes = [
},
},
{
- path: '/access-control/client-sessions',
- name: 'client-sessions',
- component: ClientSessions,
+ path: '/security-and-access/sessions',
+ name: 'sessions',
+ component: Sessions,
meta: {
- title: i18n.t('appPageTitle.clientSessions'),
+ title: i18n.t('appPageTitle.sessions'),
},
},
{
- path: '/access-control/local-user-management',
- name: 'local-users',
- component: LocalUserManagement,
+ path: '/security-and-access/user-management',
+ name: 'user-management',
+ component: UserManagement,
meta: {
- title: i18n.t('appPageTitle.localUserManagement'),
+ title: i18n.t('appPageTitle.userManagement'),
},
},
{
- path: '/access-control/ssl-certificates',
- name: 'ssl-certificates',
- component: SslCertificates,
+ path: '/security-and-access/policies',
+ name: 'policies',
+ component: Policies,
meta: {
- title: i18n.t('appPageTitle.sslCertificates'),
+ title: i18n.t('appPageTitle.policies'),
+ },
+ },
+ {
+ path: '/security-and-access/certificates',
+ name: 'certificates',
+ component: Certificates,
+ meta: {
+ title: i18n.t('appPageTitle.certificates'),
},
},
{
@@ -187,14 +195,6 @@ const routes = [
},
},
{
- path: '/settings/security-settings',
- name: 'security-settings',
- component: SecuritySettings,
- meta: {
- title: i18n.t('appPageTitle.securitySettings'),
- },
- },
- {
path: '/operations/reboot-bmc',
name: 'reboot-bmc',
component: RebootBmc,
diff --git a/src/locales/en-US.json b/src/locales/en-US.json
index ed23acac..33e65f58 100644
--- a/src/locales/en-US.json
+++ b/src/locales/en-US.json
@@ -98,8 +98,8 @@
"titleRefresh": "Refresh application data"
},
"appNavigation": {
- "accessControl": "Access control",
- "clientSessions": "@:appPageTitle.clientSessions",
+ "securityAndAccess": "Security and access",
+ "sessions": "@:appPageTitle.sessions",
"settings": "Settings",
"operations": "Operations",
"dateTime": "@:appPageTitle.dateTime",
@@ -112,7 +112,7 @@
"kvm": "@:appPageTitle.kvm",
"ldap": "@:appPageTitle.ldap",
"logs": "Logs",
- "localUserManagement": "@:appPageTitle.localUserManagement",
+ "userManagement": "@:appPageTitle.userManagement",
"managePowerUsage": "@:appPageTitle.managePowerUsage",
"network": "@:appPageTitle.network",
"overview": "@:appPageTitle.overview",
@@ -120,16 +120,16 @@
"postCodeLogs": "@:appPageTitle.postCodeLogs",
"powerRestorePolicy": "@:appPageTitle.powerRestorePolicy",
"rebootBmc": "@:appPageTitle.rebootBmc",
- "securitySettings": "@:appPageTitle.securitySettings",
+ "policies": "@:appPageTitle.policies",
"sensors": "@:appPageTitle.sensors",
"serialOverLan": "SOL console",
"serverPowerOperations": "@:appPageTitle.serverPowerOperations",
- "sslCertificates": "@:appPageTitle.sslCertificates",
+ "certificates": "@:appPageTitle.certificates",
"virtualMedia": "@:appPageTitle.virtualMedia"
},
"appPageTitle": {
"changePassword": "Change password",
- "clientSessions": "Client sessions",
+ "sessions": "Sessions",
"dateTime": "Date and time",
"dumps": "Dumps",
"eventLogs": "Event logs",
@@ -138,7 +138,7 @@
"inventory": "Inventory and LEDs",
"kvm": "KVM",
"ldap": "LDAP",
- "localUserManagement": "Local user management",
+ "userManagement": "User management",
"login": "Login",
"managePowerUsage": "Manage power usage",
"network": "Network",
@@ -148,11 +148,11 @@
"powerRestorePolicy": "Power restore policy",
"profileSettings": "Profile settings",
"rebootBmc": "Reboot BMC",
- "securitySettings": "Security settings",
+ "policies": "Policies",
"sensors": "Sensors",
"serialOverLan": "Serial over LAN (SOL) console",
"serverPowerOperations": "Server power operations",
- "sslCertificates": "SSL certificates",
+ "certificates": "Certificates",
"virtualMedia": "Virtual media"
},
"pageChangePassword": {
@@ -164,7 +164,7 @@
"newPassword": "New password",
"username": "Username"
},
- "pageClientSessions": {
+ "pageSessions": {
"action": {
"disconnect": "Disconnect"
},
@@ -486,7 +486,7 @@
"successSaveRoleGroup": "Successfully saved role group '%{groupName}'."
}
},
- "pageLocalUserManagement": {
+ "pageUserManagement": {
"accountPolicySettings": "Account policy settings",
"addUser": "Add user",
"deleteUser": "Delete user | Delete users",
@@ -585,7 +585,7 @@
"solConsole": "@:appNavigation.serialOverLan"
}
},
- "pagePostCodeLogs":{
+ "pagePostCodeLogs": {
"allExportFilePrefix": "All_POST_codes_log_",
"downloadFilePrefix": "POST_codes_additional_details_",
"exportFilePrefix": "POST_codes_log_",
@@ -594,7 +594,7 @@
"exportLogs": "Export log"
},
"button": {
- "exportAll": "Export all"
+ "exportAll": "Export all"
},
"table": {
"created": "Created",
@@ -694,12 +694,22 @@
"successRebootStart": "Rebooting BMC."
}
},
- "pageSecuritySettings": {
+ "pagePolicies": {
"ipmi": "Network IPMI (out-of-band IPMI)",
"ipmiDescription": "Allow remote management of the platform via IPMI. Tools such as ipmitool require this setting to be enabled.",
"networkServices": "Network services",
"ssh": "BMC shell (via SSH)",
"sshDescription": "Allow access to shell sessions via SSH, through port 22 on the BMC.",
+ "modal": {
+ "disableMessage": {
+ "ipmi": "Are you sure you want to disable @:pagePolicies.ipmi?",
+ "ssh": "Are you sure you want to disable @:pagePolicies.ssh?"
+ },
+ "enableMessage": {
+ "ipmi": "Are you sure you want to enable @:pagePolicies.ipmi?",
+ "ssh": "Are you sure you want to enable @:pagePolicies.ssh?"
+ }
+ },
"toast": {
"errorIpmiDisabled": "Error disabling IPMI security setting.",
"errorIpmiEnabled": "Error enabling IPMI security setting.",
@@ -765,7 +775,7 @@
"successSaveSettings": "Successfully saved settings."
}
},
- "pageSslCertificates": {
+ "pageCertificates": {
"addNewCertificate": "Add new certificate",
"caCertificate": "CA Certificate",
"deleteCertificate": "Delete certificate",
diff --git a/src/locales/ru-RU.json b/src/locales/ru-RU.json
index 8042b163..c39a1737 100644
--- a/src/locales/ru-RU.json
+++ b/src/locales/ru-RU.json
@@ -96,8 +96,8 @@
"titleRefresh": "Обновить данные веб-приложения"
},
"appNavigation": {
- "accessControl": "Контроль доступа",
- "clientSessions": "@:appPageTitle.clientSessions",
+ "securityAndAccess": "доступа",
+ "sessions": "@:appPageTitle.sessions",
"configuration": "Конфигурация",
"control": "Управление",
"dateTimeSettings": "@:appPageTitle.dateTimeSettings",
@@ -109,25 +109,25 @@
"health": "Состояние",
"kvm": "@:appPageTitle.kvm",
"ldap": "@:appPageTitle.ldap",
- "localUserManagement": "@:appPageTitle.localUserManagement",
+ "userManagement": "@:appPageTitle.userManagement",
"managePowerUsage": "@:appPageTitle.managePowerUsage",
"networkSettings": "@:appPageTitle.networkSettings",
"overview": "@:appPageTitle.overview",
"primaryNavigation": "Основная навигация",
"powerRestorePolicy": "@:appPageTitle.powerRestorePolicy",
"rebootBmc": "@:appPageTitle.rebootBmc",
- "securitySettings": "@:appPageTitle.securitySettings",
+ "policies": "@:appPageTitle.policies",
"sensors": "@:appPageTitle.sensors",
"serialOverLan": "Консоль SOL",
"serverLed": "@:appPageTitle.serverLed",
"serverPowerOperations": "@:appPageTitle.serverPowerOperations",
"snmpSettings": "@:appPageTitle.snmpSettings",
- "sslCertificates": "@:appPageTitle.sslCertificates",
+ "certificates": "@:appPageTitle.certificates",
"virtualMedia": "@:appPageTitle.virtualMedia"
},
"appPageTitle": {
"changePassword": "Изменить пароль",
- "clientSessions": "Сессии клиентов",
+ "sessions": "Сессии клиентов",
"dateTimeSettings": "Настройка даты и времени",
"dumps": "Дампы",
"eventLogs": "Журнал событий",
@@ -136,7 +136,7 @@
"hardwareStatus": "Статус оборудования",
"kvm": "KVM",
"ldap": "LDAP",
- "localUserManagement": "Управление локальными пользователями",
+ "userManagement": "Управление локальными пользователями",
"login": "Логин",
"managePowerUsage": "Управление энергопотреблением",
"networkSettings": "Настройки сети",
@@ -145,13 +145,13 @@
"powerRestorePolicy": "Действие при восстановлении питания",
"profileSettings": "Настройки профиля",
"rebootBmc": "Перезапуск BMC",
- "securitySettings": "Настройки безопасности",
+ "policies": "Настройки безопасности",
"sensors": "Датчики",
"serialOverLan": "Консоль Serial over LAN (SOL)",
"serverLed": "Индикатор сервера",
"serverPowerOperations": "Управление питанием сервера",
"snmpSettings": "Настройки SNMP",
- "sslCertificates": "SSL сертификаты",
+ "certificates": "сертификаты",
"virtualMedia": "Виртуальные носители"
},
"pageChangePassword": {
@@ -163,7 +163,7 @@
"newPassword": "Новый пароль",
"username": "Имя пользователя"
},
- "pageClientSessions": {
+ "pageSessions": {
"action": {
"disconnect": "Отключить"
},
@@ -453,7 +453,7 @@
"successSaveRoleGroup": "Успешное сохранение группы '%{groupName}'."
}
},
- "pageLocalUserManagement": {
+ "pageUserManagement": {
"accountPolicySettings": "Настройки политики учётной записи",
"addUser": "Добавить пользователя",
"deleteUser": "Удалить пользователя | Удалить пользователей",
@@ -644,7 +644,7 @@
"successRebootStart": "Перезапуск BMC."
}
},
- "pageSecuritySettings": {
+ "pagePolicies": {
"ipmi": "Сетевой IPMI (out-of-band IPMI)",
"ipmiDescription": "Разрешить удаленное управление платформой через IPMI. Такие иструменты, как ipmitool требуют включения этой функции.",
"networkServices": "Сетевые службы",
@@ -652,12 +652,12 @@
"sshDescription": "Разрешить доступ к консольной сессии через SSH, через порт 22 на BMC.",
"modal": {
"disableMessage": {
- "ipmi": "Вы уверены, что хотите отключить @:pageSecuritySettings.ipmi?",
- "ssh": "Вы уверены, что хотите отключить @:pageSecuritySettings.ssh?"
+ "ipmi": "Вы уверены, что хотите отключить @:pagePolicies.ipmi?",
+ "ssh": "Вы уверены, что хотите отключить @:pagePolicies.ssh?"
},
"enableMessage": {
- "ipmi": "Вы уверены, что хотите включить @:pageSecuritySettings.ipmi?",
- "ssh": "Вы уверены, что хотите включить @:pageSecuritySettings.ssh?"
+ "ipmi": "Вы уверены, что хотите включить @:pagePolicies.ipmi?",
+ "ssh": "Вы уверены, что хотите включить @:pagePolicies.ssh?"
}
},
"toast": {
@@ -735,7 +735,7 @@
"successSaveSettings": "Успешное сохранение настроек."
}
},
- "pageSslCertificates": {
+ "pageCertificates": {
"addNewCertificate": "Добавить новый сертификат",
"caCertificate": "Сертификат CA",
"deleteCertificate": "Удалить сертификат",
diff --git a/src/router/routes.js b/src/router/routes.js
index a5cb7f2f..da103755 100644
--- a/src/router/routes.js
+++ b/src/router/routes.js
@@ -8,9 +8,9 @@ import Firmware from '@/views/Operations/Firmware';
import Inventory from '@/views/HardwareStatus/Inventory';
import Kvm from '@/views/Operations/Kvm';
import KvmConsole from '@/views/Operations/Kvm/KvmConsole';
-import ClientSessions from '../views/AccessControl/ClientSessions';
-import Ldap from '@/views/AccessControl/Ldap';
-import LocalUserManagement from '@/views/AccessControl/LocalUserManagement';
+import Sessions from '../views/SecurityAndAccess/Sessions';
+import Ldap from '@/views/SecurityAndAccess/Ldap';
+import UserManagement from '@/views/SecurityAndAccess/UserManagement';
import Login from '@/views/Login';
import LoginLayout from '@/layouts/LoginLayout';
import ManagePowerUsage from '@/views/Operations/ManagePowerUsage';
@@ -21,12 +21,12 @@ import PostCodeLogs from '@/views/Logs/PostCodeLogs';
import PowerRestorePolicy from '@/views/Settings/PowerRestorePolicy';
import ProfileSettings from '@/views/ProfileSettings';
import RebootBmc from '@/views/Operations/RebootBmc';
-import SecuritySettings from '@/views/Settings/SecuritySettings';
+import Policies from '@/views/SecurityAndAccess/Policies';
import Sensors from '@/views/HardwareStatus/Sensors';
import SerialOverLan from '@/views/Operations/SerialOverLan';
import SerialOverLanConsole from '@/views/Operations/SerialOverLan/SerialOverLanConsole';
import ServerPowerOperations from '@/views/Operations/ServerPowerOperations';
-import SslCertificates from '@/views/AccessControl/SslCertificates';
+import Certificates from '@/views/SecurityAndAccess/Certificates';
import VirtualMedia from '@/views/Operations/VirtualMedia';
import i18n from '@/i18n';
@@ -135,15 +135,15 @@ const routes = [
},
},
{
- path: '/access-control/client-sessions',
- name: 'client-sessions',
- component: ClientSessions,
+ path: '/security-and-access/sessions',
+ name: 'sessions',
+ component: Sessions,
meta: {
- title: i18n.t('appPageTitle.clientSessions'),
+ title: i18n.t('appPageTitle.sessions'),
},
},
{
- path: '/access-control/ldap',
+ path: '/security-and-access/ldap',
name: 'ldap',
component: Ldap,
meta: {
@@ -151,35 +151,35 @@ const routes = [
},
},
{
- path: '/access-control/local-user-management',
+ path: '/security-and-access/user-management',
name: 'local-users',
- component: LocalUserManagement,
+ component: UserManagement,
meta: {
- title: i18n.t('appPageTitle.localUserManagement'),
+ title: i18n.t('appPageTitle.userManagement'),
},
},
{
- path: '/access-control/ssl-certificates',
- name: 'ssl-certificates',
- component: SslCertificates,
+ path: '/security-and-access/policies',
+ name: 'policies',
+ component: Policies,
meta: {
- title: i18n.t('appPageTitle.sslCertificates'),
+ title: i18n.t('appPageTitle.policies'),
},
},
{
- path: '/settings/date-time',
- name: 'date-time',
- component: DateTime,
+ path: '/security-and-access/certificates',
+ name: 'certificates',
+ component: Certificates,
meta: {
- title: i18n.t('appPageTitle.dateTime'),
+ title: i18n.t('appPageTitle.certificates'),
},
},
{
- path: '/configuration/security-settings',
- name: 'security-settings',
- component: SecuritySettings,
+ path: '/settings/date-time',
+ name: 'date-time',
+ component: DateTime,
meta: {
- title: i18n.t('appPageTitle.securitySettings'),
+ title: i18n.t('appPageTitle.dateTime'),
},
},
{
diff --git a/src/store/index.js b/src/store/index.js
index 2afadd02..608a0270 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -3,10 +3,10 @@ import Vuex from 'vuex';
import GlobalStore from './modules/GlobalStore';
import AuthenticationStore from './modules/Authentication/AuthenticanStore';
-import ClientSessions from './modules/AccessControl/ClientSessionsStore';
-import LdapStore from './modules/AccessControl/LdapStore';
-import LocalUserManagementStore from './modules/AccessControl/LocalUserMangementStore';
-import SslCertificatesStore from './modules/AccessControl/SslCertificatesStore';
+import SessionsStore from './modules/SecurityAndAccess/SessionsStore';
+import LdapStore from './modules/SecurityAndAccess/LdapStore';
+import UserManagementStore from './modules/SecurityAndAccess/UserManagementStore';
+import CertificatesStore from './modules/SecurityAndAccess/CertificatesStore';
import FirmwareStore from './modules/Operations/FirmwareStore';
import BootSettingsStore from './modules/Operations/BootSettingsStore';
import ControlStore from './modules/Operations/ControlStore';
@@ -24,7 +24,7 @@ import ChassisStore from './modules/HardwareStatus/ChassisStore';
import BmcStore from './modules/HardwareStatus/BmcStore';
import ProcessorStore from './modules/HardwareStatus/ProcessorStore';
import PostCodeLogsStore from './modules/Logs/PostCodeLogsStore';
-import SecuritySettingsStore from './modules/Settings/SecuritySettingsStore';
+import PoliciesStore from './modules/SecurityAndAccess/PoliciesStore';
import FactoryResetStore from './modules/Operations/FactoryResetStore';
import WebSocketPlugin from './plugins/WebSocketPlugin';
@@ -40,10 +40,10 @@ export default new Vuex.Store({
modules: {
global: GlobalStore,
authentication: AuthenticationStore,
- clientSessions: ClientSessions,
+ sessions: SessionsStore,
dateTime: DateTimeStore,
ldap: LdapStore,
- localUsers: LocalUserManagementStore,
+ userManagement: UserManagementStore,
firmware: FirmwareStore,
serverBootSettings: BootSettingsStore,
controls: ControlStore,
@@ -53,8 +53,8 @@ export default new Vuex.Store({
network: NetworkStore,
eventLog: EventLogStore,
sensors: SensorsStore,
- sslCertificates: SslCertificatesStore,
serverLed: ServerLedStore,
+ certificates: CertificatesStore,
system: SystemStore,
memory: MemoryStore,
fan: FanStore,
@@ -63,7 +63,7 @@ export default new Vuex.Store({
processors: ProcessorStore,
postCodeLogs: PostCodeLogsStore,
virtualMedia: VirtualMediaStore,
- securitySettings: SecuritySettingsStore,
+ policies: PoliciesStore,
factoryReset: FactoryResetStore,
},
plugins: [WebSocketPlugin],
diff --git a/src/store/modules/AccessControl/SslCertificatesStore.js b/src/store/modules/SecurityAndAccess/CertificatesStore.js
index 752c2124..97241f34 100644
--- a/src/store/modules/AccessControl/SslCertificatesStore.js
+++ b/src/store/modules/SecurityAndAccess/CertificatesStore.js
@@ -5,12 +5,12 @@ export const CERTIFICATE_TYPES = [
{
type: 'HTTPS Certificate',
location: '/redfish/v1/Managers/bmc/NetworkProtocol/HTTPS/Certificates/',
- label: i18n.t('pageSslCertificates.httpsCertificate'),
+ label: i18n.t('pageCertificates.httpsCertificate'),
},
{
type: 'LDAP Certificate',
location: '/redfish/v1/AccountService/LDAP/Certificates/',
- label: i18n.t('pageSslCertificates.ldapCertificate'),
+ label: i18n.t('pageCertificates.ldapCertificate'),
},
{
type: 'TrustStore Certificate',
@@ -18,7 +18,7 @@ export const CERTIFICATE_TYPES = [
// Web UI will show 'CA Certificate' instead of
// 'TrustStore Certificate' after user testing revealed
// the term 'TrustStore Certificate' wasn't recognized/was unfamilar
- label: i18n.t('pageSslCertificates.caCertificate'),
+ label: i18n.t('pageCertificates.caCertificate'),
},
];
@@ -29,7 +29,7 @@ const getCertificateProp = (type, prop) => {
return certificate ? certificate[prop] : null;
};
-const SslCertificatesStore = {
+const CertificatesStore = {
namespaced: true,
state: {
allCertificates: [],
@@ -98,15 +98,13 @@ const SslCertificatesStore = {
})
.then(() => dispatch('getCertificates'))
.then(() =>
- i18n.t('pageSslCertificates.toast.successAddCertificate', {
+ i18n.t('pageCertificates.toast.successAddCertificate', {
certificate: getCertificateProp(type, 'label'),
})
)
.catch((error) => {
console.log(error);
- throw new Error(
- i18n.t('pageSslCertificates.toast.errorAddCertificate')
- );
+ throw new Error(i18n.t('pageCertificates.toast.errorAddCertificate'));
});
},
async replaceCertificate(
@@ -125,14 +123,14 @@ const SslCertificatesStore = {
)
.then(() => dispatch('getCertificates'))
.then(() =>
- i18n.t('pageSslCertificates.toast.successReplaceCertificate', {
+ i18n.t('pageCertificates.toast.successReplaceCertificate', {
certificate: getCertificateProp(type, 'label'),
})
)
.catch((error) => {
console.log(error);
throw new Error(
- i18n.t('pageSslCertificates.toast.errorReplaceCertificate')
+ i18n.t('pageCertificates.toast.errorReplaceCertificate')
);
});
},
@@ -141,14 +139,14 @@ const SslCertificatesStore = {
.delete(location)
.then(() => dispatch('getCertificates'))
.then(() =>
- i18n.t('pageSslCertificates.toast.successDeleteCertificate', {
+ i18n.t('pageCertificates.toast.successDeleteCertificate', {
certificate: getCertificateProp(type, 'label'),
})
)
.catch((error) => {
console.log(error);
throw new Error(
- i18n.t('pageSslCertificates.toast.errorDeleteCertificate')
+ i18n.t('pageCertificates.toast.errorDeleteCertificate')
);
});
},
@@ -201,4 +199,4 @@ const SslCertificatesStore = {
},
};
-export default SslCertificatesStore;
+export default CertificatesStore;
diff --git a/src/store/modules/AccessControl/LdapStore.js b/src/store/modules/SecurityAndAccess/LdapStore.js
index 5aa31c2d..5aa31c2d 100644
--- a/src/store/modules/AccessControl/LdapStore.js
+++ b/src/store/modules/SecurityAndAccess/LdapStore.js
diff --git a/src/store/modules/Settings/SecuritySettingsStore.js b/src/store/modules/SecurityAndAccess/PoliciesStore.js
index 5a885425..1e195527 100644
--- a/src/store/modules/Settings/SecuritySettingsStore.js
+++ b/src/store/modules/SecurityAndAccess/PoliciesStore.js
@@ -1,7 +1,7 @@
import api from '@/store/api';
import i18n from '@/i18n';
-const SecuritySettingsStore = {
+const PoliciesStore = {
namespaced: true,
state: {
sshProtocolEnabled: false,
@@ -40,22 +40,18 @@ const SecuritySettingsStore = {
.patch('/redfish/v1/Managers/bmc/NetworkProtocol', ipmi)
.then(() => {
if (protocolEnabled) {
- return i18n.t('pageSecuritySettings.toast.successIpmiEnabled');
+ return i18n.t('pagePolicies.toast.successIpmiEnabled');
} else {
- return i18n.t('pageSecuritySettings.toast.successIpmiDisabled');
+ return i18n.t('pagePolicies.toast.successIpmiDisabled');
}
})
.catch((error) => {
console.log(error);
commit('setIpmiProtocolEnabled', !protocolEnabled);
if (protocolEnabled) {
- throw new Error(
- i18n.t('pageSecuritySettings.toast.errorIpmiEnabled')
- );
+ throw new Error(i18n.t('pagePolicies.toast.errorIpmiEnabled'));
} else {
- throw new Error(
- i18n.t('pageSecuritySettings.toast.errorIpmiDisabled')
- );
+ throw new Error(i18n.t('pagePolicies.toast.errorIpmiDisabled'));
}
});
},
@@ -70,26 +66,22 @@ const SecuritySettingsStore = {
.patch('/redfish/v1/Managers/bmc/NetworkProtocol', ssh)
.then(() => {
if (protocolEnabled) {
- return i18n.t('pageSecuritySettings.toast.successSshEnabled');
+ return i18n.t('pagePolicies.toast.successSshEnabled');
} else {
- return i18n.t('pageSecuritySettings.toast.successSshDisabled');
+ return i18n.t('pagePolicies.toast.successSshDisabled');
}
})
.catch((error) => {
console.log(error);
commit('setSshProtocolEnabled', !protocolEnabled);
if (protocolEnabled) {
- throw new Error(
- i18n.t('pageSecuritySettings.toast.errorSshEnabled')
- );
+ throw new Error(i18n.t('pagePolicies.toast.errorSshEnabled'));
} else {
- throw new Error(
- i18n.t('pageSecuritySettings.toast.errorSshDisabled')
- );
+ throw new Error(i18n.t('pagePolicies.toast.errorSshDisabled'));
}
});
},
},
};
-export default SecuritySettingsStore;
+export default PoliciesStore;
diff --git a/src/store/modules/AccessControl/ClientSessionsStore.js b/src/store/modules/SecurityAndAccess/SessionsStore.js
index 4295d578..54607ab6 100644
--- a/src/store/modules/AccessControl/ClientSessionsStore.js
+++ b/src/store/modules/SecurityAndAccess/SessionsStore.js
@@ -1,7 +1,7 @@
import api, { getResponseCount } from '@/store/api';
import i18n from '@/i18n';
-const ClientSessionsStore = {
+const SessionsStore = {
namespaced: true,
state: {
allConnections: [],
@@ -14,7 +14,7 @@ const ClientSessionsStore = {
(state.allConnections = allConnections),
},
actions: {
- async getClientSessionsData({ commit }) {
+ async getSessionsData({ commit }) {
return await api
.get('/redfish/v1/SessionService/Sessions')
.then((response) =>
@@ -48,7 +48,7 @@ const ClientSessionsStore = {
return await api
.all(promises)
.then((response) => {
- dispatch('getClientSessionsData');
+ dispatch('getSessionsData');
return response;
})
.then(
@@ -58,7 +58,7 @@ const ClientSessionsStore = {
if (successCount) {
const message = i18n.tc(
- 'pageClientSessions.toast.successDelete',
+ 'pageSessions.toast.successDelete',
successCount
);
toastMessages.push({ type: 'success', message });
@@ -66,7 +66,7 @@ const ClientSessionsStore = {
if (errorCount) {
const message = i18n.tc(
- 'pageClientSessions.toast.errorDelete',
+ 'pageSessions.toast.errorDelete',
errorCount
);
toastMessages.push({ type: 'error', message });
@@ -77,4 +77,4 @@ const ClientSessionsStore = {
},
},
};
-export default ClientSessionsStore;
+export default SessionsStore;
diff --git a/src/store/modules/AccessControl/LocalUserMangementStore.js b/src/store/modules/SecurityAndAccess/UserManagementStore.js
index 6bc6ec5d..362f3f64 100644
--- a/src/store/modules/AccessControl/LocalUserMangementStore.js
+++ b/src/store/modules/SecurityAndAccess/UserManagementStore.js
@@ -1,7 +1,7 @@
import api, { getResponseCount } from '@/store/api';
import i18n from '@/i18n';
-const LocalUserManagementStore = {
+const UserManagementStore = {
namespaced: true,
state: {
allUsers: [],
@@ -65,9 +65,7 @@ const LocalUserManagementStore = {
})
.catch((error) => {
console.log(error);
- const message = i18n.t(
- 'pageLocalUserManagement.toast.errorLoadUsers'
- );
+ const message = i18n.t('pageUserManagement.toast.errorLoadUsers');
throw new Error(message);
});
},
@@ -83,7 +81,7 @@ const LocalUserManagementStore = {
.catch((error) => {
console.log(error);
const message = i18n.t(
- 'pageLocalUserManagement.toast.errorLoadAccountSettings'
+ 'pageUserManagement.toast.errorLoadAccountSettings'
);
throw new Error(message);
});
@@ -110,16 +108,15 @@ const LocalUserManagementStore = {
.post('/redfish/v1/AccountService/Accounts', data)
.then(() => dispatch('getUsers'))
.then(() =>
- i18n.t('pageLocalUserManagement.toast.successCreateUser', {
+ i18n.t('pageUserManagement.toast.successCreateUser', {
username,
})
)
.catch((error) => {
console.log(error);
- const message = i18n.t(
- 'pageLocalUserManagement.toast.errorCreateUser',
- { username }
- );
+ const message = i18n.t('pageUserManagement.toast.errorCreateUser', {
+ username,
+ });
throw new Error(message);
});
},
@@ -137,16 +134,15 @@ const LocalUserManagementStore = {
.patch(`/redfish/v1/AccountService/Accounts/${originalUsername}`, data)
.then(() => dispatch('getUsers'))
.then(() =>
- i18n.t('pageLocalUserManagement.toast.successUpdateUser', {
+ i18n.t('pageUserManagement.toast.successUpdateUser', {
username: originalUsername,
})
)
.catch((error) => {
console.log(error);
- const message = i18n.t(
- 'pageLocalUserManagement.toast.errorUpdateUser',
- { username: originalUsername }
- );
+ const message = i18n.t('pageUserManagement.toast.errorUpdateUser', {
+ username: originalUsername,
+ });
throw new Error(message);
});
},
@@ -155,16 +151,15 @@ const LocalUserManagementStore = {
.delete(`/redfish/v1/AccountService/Accounts/${username}`)
.then(() => dispatch('getUsers'))
.then(() =>
- i18n.t('pageLocalUserManagement.toast.successDeleteUser', {
+ i18n.t('pageUserManagement.toast.successDeleteUser', {
username,
})
)
.catch((error) => {
console.log(error);
- const message = i18n.t(
- 'pageLocalUserManagement.toast.errorDeleteUser',
- { username }
- );
+ const message = i18n.t('pageUserManagement.toast.errorDeleteUser', {
+ username,
+ });
throw new Error(message);
});
},
@@ -190,7 +185,7 @@ const LocalUserManagementStore = {
if (successCount) {
const message = i18n.tc(
- 'pageLocalUserManagement.toast.successBatchDelete',
+ 'pageUserManagement.toast.successBatchDelete',
successCount
);
toastMessages.push({ type: 'success', message });
@@ -198,7 +193,7 @@ const LocalUserManagementStore = {
if (errorCount) {
const message = i18n.tc(
- 'pageLocalUserManagement.toast.errorBatchDelete',
+ 'pageUserManagement.toast.errorBatchDelete',
errorCount
);
toastMessages.push({ type: 'error', message });
@@ -233,7 +228,7 @@ const LocalUserManagementStore = {
if (successCount) {
const message = i18n.tc(
- 'pageLocalUserManagement.toast.successBatchEnable',
+ 'pageUserManagement.toast.successBatchEnable',
successCount
);
toastMessages.push({ type: 'success', message });
@@ -241,7 +236,7 @@ const LocalUserManagementStore = {
if (errorCount) {
const message = i18n.tc(
- 'pageLocalUserManagement.toast.errorBatchEnable',
+ 'pageUserManagement.toast.errorBatchEnable',
errorCount
);
toastMessages.push({ type: 'error', message });
@@ -276,7 +271,7 @@ const LocalUserManagementStore = {
if (successCount) {
const message = i18n.tc(
- 'pageLocalUserManagement.toast.successBatchDisable',
+ 'pageUserManagement.toast.successBatchDisable',
successCount
);
toastMessages.push({ type: 'success', message });
@@ -284,7 +279,7 @@ const LocalUserManagementStore = {
if (errorCount) {
const message = i18n.tc(
- 'pageLocalUserManagement.toast.errorBatchDisable',
+ 'pageUserManagement.toast.errorBatchDisable',
errorCount
);
toastMessages.push({ type: 'error', message });
@@ -310,16 +305,14 @@ const LocalUserManagementStore = {
.patch('/redfish/v1/AccountService', data)
//GET new settings to update view
.then(() => dispatch('getAccountSettings'))
- .then(() => i18n.t('pageLocalUserManagement.toast.successSaveSettings'))
+ .then(() => i18n.t('pageUserManagement.toast.successSaveSettings'))
.catch((error) => {
console.log(error);
- const message = i18n.t(
- 'pageLocalUserManagement.toast.errorSaveSettings'
- );
+ const message = i18n.t('pageUserManagement.toast.errorSaveSettings');
throw new Error(message);
});
},
},
};
-export default LocalUserManagementStore;
+export default UserManagementStore;
diff --git a/src/views/AccessControl/ClientSessions/index.js b/src/views/AccessControl/ClientSessions/index.js
deleted file mode 100644
index 6000ab75..00000000
--- a/src/views/AccessControl/ClientSessions/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import ClientSessions from './ClientSessions.vue';
-export default ClientSessions;
diff --git a/src/views/AccessControl/LocalUserManagement/index.js b/src/views/AccessControl/LocalUserManagement/index.js
deleted file mode 100644
index 315748af..00000000
--- a/src/views/AccessControl/LocalUserManagement/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import LocalUserManagement from './LocalUserManagement.vue';
-export default LocalUserManagement;
diff --git a/src/views/AccessControl/SslCertificates/index.js b/src/views/AccessControl/SslCertificates/index.js
deleted file mode 100644
index 03daa565..00000000
--- a/src/views/AccessControl/SslCertificates/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import SslCertificates from './SslCertificates.vue';
-export default SslCertificates;
diff --git a/src/views/ChangePassword/ChangePassword.vue b/src/views/ChangePassword/ChangePassword.vue
index 039dd0b6..e4319303 100644
--- a/src/views/ChangePassword/ChangePassword.vue
+++ b/src/views/ChangePassword/ChangePassword.vue
@@ -115,7 +115,7 @@ export default {
};
this.$store
- .dispatch('localUsers/updateUser', data)
+ .dispatch('userManagement/updateUser', data)
.then(() => this.$router.push('/'))
.catch(() => (this.changePasswordError = true));
},
diff --git a/src/views/ProfileSettings/ProfileSettings.vue b/src/views/ProfileSettings/ProfileSettings.vue
index 820d386c..35fc800d 100644
--- a/src/views/ProfileSettings/ProfileSettings.vue
+++ b/src/views/ProfileSettings/ProfileSettings.vue
@@ -30,7 +30,7 @@
>
<b-form-text id="password-help-block">
{{
- $t('pageLocalUserManagement.modal.passwordMustBeBetween', {
+ $t('pageUserManagement.modal.passwordMustBeBetween', {
min: passwordRequirements.minLength,
max: passwordRequirements.maxLength,
})
@@ -160,7 +160,7 @@ export default {
return this.$store.getters['global/username'];
},
passwordRequirements() {
- return this.$store.getters['localUsers/accountPasswordRequirements'];
+ return this.$store.getters['userManagement/accountPasswordRequirements'];
},
timezone() {
return this.localOffset();
@@ -169,7 +169,7 @@ export default {
created() {
this.startLoader();
this.$store
- .dispatch('localUsers/getAccountSettings')
+ .dispatch('userManagement/getAccountSettings')
.finally(() => this.endLoader());
},
validations() {
@@ -196,7 +196,7 @@ export default {
};
this.$store
- .dispatch('localUsers/updateUser', userData)
+ .dispatch('userManagement/updateUser', userData)
.then((message) => {
(this.form.newPassword = ''), (this.form.confirmPassword = '');
this.$v.$reset();
diff --git a/src/views/AccessControl/SslCertificates/SslCertificates.vue b/src/views/SecurityAndAccess/Certificates/Certificates.vue
index 4ce9a707..9d208897 100644
--- a/src/views/AccessControl/SslCertificates/SslCertificates.vue
+++ b/src/views/SecurityAndAccess/Certificates/Certificates.vue
@@ -6,11 +6,11 @@
<!-- Expired certificates banner -->
<alert :show="expiredCertificateTypes.length > 0" variant="danger">
<template v-if="expiredCertificateTypes.length > 1">
- {{ $t('pageSslCertificates.alert.certificatesExpiredMessage') }}
+ {{ $t('pageCertificates.alert.certificatesExpiredMessage') }}
</template>
<template v-else>
{{
- $t('pageSslCertificates.alert.certificateExpiredMessage', {
+ $t('pageCertificates.alert.certificateExpiredMessage', {
certificate: expiredCertificateTypes[0],
})
}}
@@ -19,11 +19,11 @@
<!-- Expiring certificates banner -->
<alert :show="expiringCertificateTypes.length > 0" variant="warning">
<template v-if="expiringCertificateTypes.length > 1">
- {{ $t('pageSslCertificates.alert.certificatesExpiringMessage') }}
+ {{ $t('pageCertificates.alert.certificatesExpiringMessage') }}
</template>
<template v-else>
{{
- $t('pageSslCertificates.alert.certificateExpiringMessage', {
+ $t('pageCertificates.alert.certificateExpiringMessage', {
certificate: expiringCertificateTypes[0],
})
}}
@@ -35,11 +35,11 @@
<b-col xl="11" class="text-right">
<b-button
v-b-modal.generate-csr
- data-test-id="sslCertificates-button-generateCsr"
+ data-test-id="certificates-button-generateCsr"
variant="link"
>
<icon-add />
- {{ $t('pageSslCertificates.generateCsr') }}
+ {{ $t('pageCertificates.generateCsr') }}
</b-button>
<b-button
variant="primary"
@@ -47,7 +47,7 @@
@click="initModalUploadCertificate(null)"
>
<icon-add />
- {{ $t('pageSslCertificates.addNewCertificate') }}
+ {{ $t('pageCertificates.addNewCertificate') }}
</b-button>
</b-col>
</b-row>
@@ -114,7 +114,7 @@ import BVToastMixin from '@/components/Mixins/BVToastMixin';
import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
export default {
- name: 'SslCertificates',
+ name: 'Certificates',
components: {
Alert,
IconAdd,
@@ -137,23 +137,23 @@ export default {
fields: [
{
key: 'certificate',
- label: this.$t('pageSslCertificates.table.certificate'),
+ label: this.$t('pageCertificates.table.certificate'),
},
{
key: 'issuedBy',
- label: this.$t('pageSslCertificates.table.issuedBy'),
+ label: this.$t('pageCertificates.table.issuedBy'),
},
{
key: 'issuedTo',
- label: this.$t('pageSslCertificates.table.issuedTo'),
+ label: this.$t('pageCertificates.table.issuedTo'),
},
{
key: 'validFrom',
- label: this.$t('pageSslCertificates.table.validFrom'),
+ label: this.$t('pageCertificates.table.validFrom'),
},
{
key: 'validUntil',
- label: this.$t('pageSslCertificates.table.validUntil'),
+ label: this.$t('pageCertificates.table.validUntil'),
},
{
key: 'actions',
@@ -165,7 +165,7 @@ export default {
},
computed: {
certificates() {
- return this.$store.getters['sslCertificates/allCertificates'];
+ return this.$store.getters['certificates/allCertificates'];
},
tableItems() {
return this.certificates.map((certificate) => {
@@ -174,11 +174,11 @@ export default {
actions: [
{
value: 'replace',
- title: this.$t('pageSslCertificates.replaceCertificate'),
+ title: this.$t('pageCertificates.replaceCertificate'),
},
{
value: 'delete',
- title: this.$t('pageSslCertificates.deleteCertificate'),
+ title: this.$t('pageCertificates.deleteCertificate'),
enabled:
certificate.type === 'TrustStore Certificate' ? true : false,
},
@@ -187,7 +187,7 @@ export default {
});
},
certificatesForUpload() {
- return this.$store.getters['sslCertificates/availableUploadTypes'];
+ return this.$store.getters['certificates/availableUploadTypes'];
},
bmcTime() {
return this.$store.getters['global/bmcTime'];
@@ -215,7 +215,7 @@ export default {
this.startLoader();
await this.$store.dispatch('global/getBmcTime');
this.$store
- .dispatch('sslCertificates/getCertificates')
+ .dispatch('certificates/getCertificates')
.finally(() => this.endLoader());
},
methods: {
@@ -238,12 +238,12 @@ export default {
initModalDeleteCertificate(certificate) {
this.$bvModal
.msgBoxConfirm(
- this.$t('pageSslCertificates.modal.deleteConfirmMessage', {
+ this.$t('pageCertificates.modal.deleteConfirmMessage', {
issuedBy: certificate.issuedBy,
certificate: certificate.certificate,
}),
{
- title: this.$t('pageSslCertificates.deleteCertificate'),
+ title: this.$t('pageCertificates.deleteCertificate'),
okTitle: this.$t('global.action.delete'),
cancelTitle: this.$t('global.action.cancel'),
}
@@ -264,7 +264,7 @@ export default {
addNewCertificate(file, type) {
this.startLoader();
this.$store
- .dispatch('sslCertificates/addNewCertificate', { file, type })
+ .dispatch('certificates/addNewCertificate', { file, type })
.then((success) => this.successToast(success))
.catch(({ message }) => this.errorToast(message))
.finally(() => this.endLoader());
@@ -276,7 +276,7 @@ export default {
reader.onloadend = (event) => {
const certificateString = event.target.result;
this.$store
- .dispatch('sslCertificates/replaceCertificate', {
+ .dispatch('certificates/replaceCertificate', {
certificateString,
type,
location,
@@ -289,7 +289,7 @@ export default {
deleteCertificate({ type, location }) {
this.startLoader();
this.$store
- .dispatch('sslCertificates/deleteCertificate', {
+ .dispatch('certificates/deleteCertificate', {
type,
location,
})
diff --git a/src/views/AccessControl/SslCertificates/CsrCountryCodes.js b/src/views/SecurityAndAccess/Certificates/CsrCountryCodes.js
index a2d70007..a2d70007 100644
--- a/src/views/AccessControl/SslCertificates/CsrCountryCodes.js
+++ b/src/views/SecurityAndAccess/Certificates/CsrCountryCodes.js
diff --git a/src/views/AccessControl/SslCertificates/ModalGenerateCsr.vue b/src/views/SecurityAndAccess/Certificates/ModalGenerateCsr.vue
index 6544c2c4..d76f9fe1 100644
--- a/src/views/AccessControl/SslCertificates/ModalGenerateCsr.vue
+++ b/src/views/SecurityAndAccess/Certificates/ModalGenerateCsr.vue
@@ -5,9 +5,7 @@
ref="modal"
size="lg"
no-stacking
- :title="
- $t('pageSslCertificates.modal.generateACertificateSigningRequest')
- "
+ :title="$t('pageCertificates.modal.generateACertificateSigningRequest')"
@ok="onOkGenerateCsrModal"
@cancel="resetForm"
@hidden="$v.$reset()"
@@ -19,7 +17,7 @@
<b-row>
<b-col lg="6">
<b-form-group
- :label="$t('pageSslCertificates.modal.certificateType')"
+ :label="$t('pageCertificates.modal.certificateType')"
label-for="certificate-type"
>
<b-form-select
@@ -43,7 +41,7 @@
</b-col>
<b-col lg="6">
<b-form-group
- :label="$t('pageSslCertificates.modal.country')"
+ :label="$t('pageCertificates.modal.country')"
label-for="country"
>
<b-form-select
@@ -69,7 +67,7 @@
<b-row>
<b-col lg="6">
<b-form-group
- :label="$t('pageSslCertificates.modal.state')"
+ :label="$t('pageCertificates.modal.state')"
label-for="state"
>
<b-form-input
@@ -86,7 +84,7 @@
</b-col>
<b-col lg="6">
<b-form-group
- :label="$t('pageSslCertificates.modal.city')"
+ :label="$t('pageCertificates.modal.city')"
label-for="city"
>
<b-form-input
@@ -105,7 +103,7 @@
<b-row>
<b-col lg="6">
<b-form-group
- :label="$t('pageSslCertificates.modal.companyName')"
+ :label="$t('pageCertificates.modal.companyName')"
label-for="company-name"
>
<b-form-input
@@ -122,7 +120,7 @@
</b-col>
<b-col lg="6">
<b-form-group
- :label="$t('pageSslCertificates.modal.companyUnit')"
+ :label="$t('pageCertificates.modal.companyUnit')"
label-for="company-unit"
>
<b-form-input
@@ -141,7 +139,7 @@
<b-row>
<b-col lg="6">
<b-form-group
- :label="$t('pageSslCertificates.modal.commonName')"
+ :label="$t('pageCertificates.modal.commonName')"
label-for="common-name"
>
<b-form-input
@@ -159,7 +157,7 @@
<b-col lg="6">
<b-form-group label-for="challenge-password">
<template #label>
- {{ $t('pageSslCertificates.modal.challengePassword') }} -
+ {{ $t('pageCertificates.modal.challengePassword') }} -
<span class="form-text d-inline">
{{ $t('global.form.optional') }}
</span>
@@ -177,7 +175,7 @@
<b-col lg="6">
<b-form-group label-for="contact-person">
<template #label>
- {{ $t('pageSslCertificates.modal.contactPerson') }} -
+ {{ $t('pageCertificates.modal.contactPerson') }} -
<span class="form-text d-inline">
{{ $t('global.form.optional') }}
</span>
@@ -193,7 +191,7 @@
<b-col lg="6">
<b-form-group label-for="email-address">
<template #label>
- {{ $t('pageSslCertificates.modal.emailAddress') }} -
+ {{ $t('pageCertificates.modal.emailAddress') }} -
<span class="form-text d-inline">
{{ $t('global.form.optional') }}
</span>
@@ -211,15 +209,13 @@
<b-col lg="12">
<b-form-group label-for="alternate-name">
<template #label>
- {{ $t('pageSslCertificates.modal.alternateName') }} -
+ {{ $t('pageCertificates.modal.alternateName') }} -
<span class="form-text d-inline">
{{ $t('global.form.optional') }}
</span>
</template>
<b-form-text id="alternate-name-help-block">
- {{
- $t('pageSslCertificates.modal.alternateNameHelperText')
- }}
+ {{ $t('pageCertificates.modal.alternateNameHelperText') }}
</b-form-text>
<b-form-tags
v-model="form.alternateName"
@@ -232,7 +228,7 @@
'aria-describedby': 'alternate-name-help-block',
}"
:duplicate-tag-text="
- $t('pageSslCertificates.modal.duplicateAlternateName')
+ $t('pageCertificates.modal.duplicateAlternateName')
"
placeholder=""
data-test-id="modalGenerateCsr-input-alternateName"
@@ -249,10 +245,10 @@
<b-row>
<b-col lg="12">
<p class="col-form-label">
- {{ $t('pageSslCertificates.modal.privateKey') }}
+ {{ $t('pageCertificates.modal.privateKey') }}
</p>
<b-form-group
- :label="$t('pageSslCertificates.modal.keyPairAlgorithm')"
+ :label="$t('pageCertificates.modal.keyPairAlgorithm')"
label-for="key-pair-algorithm"
>
<b-form-select
@@ -279,7 +275,7 @@
<b-col lg="12">
<template v-if="$v.form.keyPairAlgorithm.$model === 'EC'">
<b-form-group
- :label="$t('pageSslCertificates.modal.keyCurveId')"
+ :label="$t('pageCertificates.modal.keyCurveId')"
label-for="key-curve-id"
>
<b-form-select
@@ -303,7 +299,7 @@
</template>
<template v-if="$v.form.keyPairAlgorithm.$model === 'RSA'">
<b-form-group
- :label="$t('pageSslCertificates.modal.keyBitLength')"
+ :label="$t('pageCertificates.modal.keyBitLength')"
label-for="key-bit-length"
>
<b-form-select
@@ -342,7 +338,7 @@
data-test-id="modalGenerateCsr-button-ok"
@click="ok()"
>
- {{ $t('pageSslCertificates.generateCsr') }}
+ {{ $t('pageCertificates.generateCsr') }}
</b-button>
</template>
</b-modal>
@@ -350,7 +346,7 @@
id="csr-string"
no-stacking
size="lg"
- :title="$t('pageSslCertificates.modal.certificateSigningRequest')"
+ :title="$t('pageCertificates.modal.certificateSigningRequest')"
@hidden="onHiddenCsrStringModal"
>
{{ csrString }}
@@ -383,7 +379,7 @@ import IconCheckmark from '@carbon/icons-vue/es/checkmark/20';
import { required, requiredIf } from 'vuelidate/lib/validators';
import { COUNTRY_LIST } from './CsrCountryCodes';
-import { CERTIFICATE_TYPES } from '@/store/modules/AccessControl/SslCertificatesStore';
+import { CERTIFICATE_TYPES } from '@/store/modules/SecurityAndAccess/CertificatesStore';
import BVToastMixin from '@/components/Mixins/BVToastMixin';
import VuelidateMixin from '@/components/Mixins/VuelidateMixin.js';
@@ -459,7 +455,7 @@ export default {
this.$v.$touch();
if (this.$v.$invalid) return;
this.$store
- .dispatch('sslCertificates/generateCsr', this.form)
+ .dispatch('certificates/generateCsr', this.form)
.then(({ data: { CSRString } }) => {
this.csrString = CSRString;
this.$bvModal.show('csr-string');
diff --git a/src/views/AccessControl/SslCertificates/ModalUploadCertificate.vue b/src/views/SecurityAndAccess/Certificates/ModalUploadCertificate.vue
index cafbd935..f4db7a26 100644
--- a/src/views/AccessControl/SslCertificates/ModalUploadCertificate.vue
+++ b/src/views/SecurityAndAccess/Certificates/ModalUploadCertificate.vue
@@ -2,17 +2,17 @@
<b-modal id="upload-certificate" ref="modal" @ok="onOk" @hidden="resetForm">
<template #modal-title>
<template v-if="certificate">
- {{ $t('pageSslCertificates.replaceCertificate') }}
+ {{ $t('pageCertificates.replaceCertificate') }}
</template>
<template v-else>
- {{ $t('pageSslCertificates.addNewCertificate') }}
+ {{ $t('pageCertificates.addNewCertificate') }}
</template>
</template>
<b-form>
<!-- Replace Certificate type -->
<template v-if="certificate !== null">
<dl class="mb-4">
- <dt>{{ $t('pageSslCertificates.modal.certificateType') }}</dt>
+ <dt>{{ $t('pageCertificates.modal.certificateType') }}</dt>
<dd>{{ certificate.certificate }}</dd>
</dl>
</template>
@@ -20,7 +20,7 @@
<!-- Add new Certificate type -->
<template v-else>
<b-form-group
- :label="$t('pageSslCertificates.modal.certificateType')"
+ :label="$t('pageCertificates.modal.certificateType')"
label-for="certificate-type"
>
<b-form-select
@@ -39,7 +39,7 @@
</b-form-group>
</template>
- <b-form-group :label="$t('pageSslCertificates.modal.certificateFile')">
+ <b-form-group :label="$t('pageCertificates.modal.certificateFile')">
<form-file
id="certificate-file"
v-model="form.file"
@@ -100,7 +100,7 @@ export default {
},
computed: {
certificateTypes() {
- return this.$store.getters['sslCertificates/availableUploadTypes'];
+ return this.$store.getters['certificates/availableUploadTypes'];
},
certificateOptions() {
return this.certificateTypes.map(({ type, label }) => {
diff --git a/src/views/SecurityAndAccess/Certificates/index.js b/src/views/SecurityAndAccess/Certificates/index.js
new file mode 100644
index 00000000..aff57b59
--- /dev/null
+++ b/src/views/SecurityAndAccess/Certificates/index.js
@@ -0,0 +1,2 @@
+import Certificates from './Certificates.vue';
+export default Certificates;
diff --git a/src/views/AccessControl/Ldap/Ldap.vue b/src/views/SecurityAndAccess/Ldap/Ldap.vue
index 78bb830b..1f2108de 100644
--- a/src/views/AccessControl/Ldap/Ldap.vue
+++ b/src/views/SecurityAndAccess/Ldap/Ldap.vue
@@ -63,7 +63,7 @@
</dl>
<b-link
class="d-inline-block mb-4 m-md-0"
- to="/access-control/ssl-certificates"
+ to="/security-and-access/certificates"
>
{{ $t('pageLdap.form.manageSslCertificates') }}
</b-link>
@@ -283,7 +283,7 @@ export default {
'activeDirectory',
]),
sslCertificates() {
- return this.$store.getters['sslCertificates/allCertificates'];
+ return this.$store.getters['certificates/allCertificates'];
},
caCertificateExpiration() {
const caCertificate = find(this.sslCertificates, {
@@ -351,7 +351,7 @@ export default {
.dispatch('ldap/getAccountSettings')
.finally(() => this.endLoader());
this.$store
- .dispatch('sslCertificates/getCertificates')
+ .dispatch('certificates/getCertificates')
.finally(() => this.endLoader());
this.setFormValues();
},
diff --git a/src/views/AccessControl/Ldap/ModalAddRoleGroup.vue b/src/views/SecurityAndAccess/Ldap/ModalAddRoleGroup.vue
index b6b77e9e..6ea2561a 100644
--- a/src/views/AccessControl/Ldap/ModalAddRoleGroup.vue
+++ b/src/views/SecurityAndAccess/Ldap/ModalAddRoleGroup.vue
@@ -108,7 +108,7 @@ export default {
},
computed: {
accountRoles() {
- return this.$store.getters['localUsers/accountRoles'];
+ return this.$store.getters['userManagement/accountRoles'];
},
},
watch: {
diff --git a/src/views/AccessControl/Ldap/TableRoleGroups.vue b/src/views/SecurityAndAccess/Ldap/TableRoleGroups.vue
index 9d05ceaf..6e231110 100644
--- a/src/views/AccessControl/Ldap/TableRoleGroups.vue
+++ b/src/views/SecurityAndAccess/Ldap/TableRoleGroups.vue
@@ -179,7 +179,7 @@ export default {
},
},
created() {
- this.$store.dispatch('localUsers/getAccountRoles');
+ this.$store.dispatch('userManagement/getAccountRoles');
},
methods: {
onBatchAction() {
diff --git a/src/views/AccessControl/Ldap/index.js b/src/views/SecurityAndAccess/Ldap/index.js
index 6ae3abfc..6ae3abfc 100644
--- a/src/views/AccessControl/Ldap/index.js
+++ b/src/views/SecurityAndAccess/Ldap/index.js
diff --git a/src/views/Settings/SecuritySettings/SecuritySettings.vue b/src/views/SecurityAndAccess/Policies/Policies.vue
index ec8d2589..41b95366 100644
--- a/src/views/Settings/SecuritySettings/SecuritySettings.vue
+++ b/src/views/SecurityAndAccess/Policies/Policies.vue
@@ -3,26 +3,24 @@
<page-title />
<b-row>
<b-col md="8">
- <page-section
- :section-title="$t('pageSecuritySettings.networkServices')"
- >
+ <page-section :section-title="$t('pagePolicies.networkServices')">
<b-row class="setting-section">
<b-col class="d-flex align-items-center justify-content-between">
<dl class="mr-3 w-75">
- <dt>{{ $t('pageSecuritySettings.ssh') }}</dt>
+ <dt>{{ $t('pagePolicies.ssh') }}</dt>
<dd>
- {{ $t('pageSecuritySettings.sshDescription') }}
+ {{ $t('pagePolicies.sshDescription') }}
</dd>
</dl>
<b-form-checkbox
id="sshSwitch"
v-model="sshProtocolState"
- data-test-id="security-toggle-bmcShell"
+ data-test-id="policies-toggle-bmcShell"
switch
@change="changeSshProtocolState"
>
<span class="sr-only">
- {{ $t('pageSecuritySettings.ssh') }}
+ {{ $t('pagePolicies.ssh') }}
</span>
<span v-if="sshProtocolState">
{{ $t('global.status.enabled') }}
@@ -34,20 +32,20 @@
<b-row class="setting-section">
<b-col class="d-flex align-items-center justify-content-between">
<dl class="mt-3 mr-3 w-75">
- <dt>{{ $t('pageSecuritySettings.ipmi') }}</dt>
+ <dt>{{ $t('pagePolicies.ipmi') }}</dt>
<dd>
- {{ $t('pageSecuritySettings.ipmiDescription') }}
+ {{ $t('pagePolicies.ipmiDescription') }}
</dd>
</dl>
<b-form-checkbox
id="ipmiSwitch"
v-model="ipmiProtocolState"
- data-test-id="security-toggle-networkIpmi"
+ data-test-id="polices-toggle-networkIpmi"
switch
@change="changeIpmiProtocolState"
>
<span class="sr-only">
- {{ $t('pageSecuritySettings.ipmi') }}
+ {{ $t('pagePolicies.ipmi') }}
</span>
<span v-if="ipmiProtocolState">
{{ $t('global.status.enabled') }}
@@ -70,7 +68,7 @@ import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
import BVToastMixin from '@/components/Mixins/BVToastMixin';
export default {
- name: 'SecuritySettings',
+ name: 'Policies',
components: { PageTitle, PageSection },
mixins: [LoadingBarMixin, BVToastMixin],
beforeRouteLeave(to, from, next) {
@@ -80,7 +78,7 @@ export default {
computed: {
sshProtocolState: {
get() {
- return this.$store.getters['securitySettings/sshProtocolEnabled'];
+ return this.$store.getters['policies/sshProtocolEnabled'];
},
set(newValue) {
return newValue;
@@ -88,7 +86,7 @@ export default {
},
ipmiProtocolState: {
get() {
- return this.$store.getters['securitySettings/ipmiProtocolEnabled'];
+ return this.$store.getters['policies/ipmiProtocolEnabled'];
},
set(newValue) {
return newValue;
@@ -98,19 +96,19 @@ export default {
created() {
this.startLoader();
this.$store
- .dispatch('securitySettings/getNetworkProtocolStatus')
+ .dispatch('policies/getNetworkProtocolStatus')
.finally(() => this.endLoader());
},
methods: {
changeIpmiProtocolState(state) {
this.$store
- .dispatch('securitySettings/saveIpmiProtocolState', state)
+ .dispatch('policies/saveIpmiProtocolState', state)
.then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message));
},
changeSshProtocolState(state) {
this.$store
- .dispatch('securitySettings/saveSshProtocolState', state)
+ .dispatch('policies/saveSshProtocolState', state)
.then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message));
},
diff --git a/src/views/SecurityAndAccess/Policies/index.js b/src/views/SecurityAndAccess/Policies/index.js
new file mode 100644
index 00000000..77023908
--- /dev/null
+++ b/src/views/SecurityAndAccess/Policies/index.js
@@ -0,0 +1,2 @@
+import Policies from './Policies.vue';
+export default Policies;
diff --git a/src/views/AccessControl/ClientSessions/ClientSessions.vue b/src/views/SecurityAndAccess/Sessions/Sessions.vue
index b61b2032..bd4c06a9 100644
--- a/src/views/AccessControl/ClientSessions/ClientSessions.vue
+++ b/src/views/SecurityAndAccess/Sessions/Sessions.vue
@@ -4,8 +4,8 @@
<b-row class="align-items-end">
<b-col sm="6" md="5" xl="4">
<search
- :placeholder="$t('pageClientSessions.table.searchSessions')"
- data-test-id="clientSessions-input-searchSessions"
+ :placeholder="$t('pageSessions.table.searchSessions')"
+ data-test-id="sessions-input-searchSessions"
@change-search="onChangeSearchInput"
@clear-search="onClearSearchInput"
/>
@@ -49,7 +49,7 @@
<template #head(checkbox)>
<b-form-checkbox
v-model="tableHeaderCheckboxModel"
- data-test-id="clientSessions-checkbox-selectAll"
+ data-test-id="sessions-checkbox-selectAll"
:indeterminate="tableHeaderCheckboxIndeterminate"
@change="onChangeHeaderCheckbox($refs.table)"
>
@@ -59,7 +59,7 @@
<template #cell(checkbox)="row">
<b-form-checkbox
v-model="row.rowSelected"
- :data-test-id="`clientSessions-checkbox-selectRow-${row.index}`"
+ :data-test-id="`sessions-checkbox-selectRow-${row.index}`"
@change="toggleSelectRow($refs.table, row.index)"
>
<span class="sr-only">{{ $t('global.table.selectItem') }}</span>
@@ -75,7 +75,7 @@
:title="action.title"
:row-data="row.item"
:btn-icon-only="false"
- :data-test-id="`clientSessions-button-disconnect-${row.index}`"
+ :data-test-id="`sessions-button-disconnect-${row.index}`"
@click-table-action="onTableRowAction($event, row.item)"
></table-row-action>
</template>
@@ -164,15 +164,15 @@ export default {
},
{
key: 'clientID',
- label: this.$t('pageClientSessions.table.clientID'),
+ label: this.$t('pageSessions.table.clientID'),
},
{
key: 'username',
- label: this.$t('pageClientSessions.table.username'),
+ label: this.$t('pageSessions.table.username'),
},
{
key: 'ipAddress',
- label: this.$t('pageClientSessions.table.ipAddress'),
+ label: this.$t('pageSessions.table.ipAddress'),
},
{
key: 'actions',
@@ -182,7 +182,7 @@ export default {
batchActions: [
{
value: 'disconnect',
- label: this.$t('pageClientSessions.action.disconnect'),
+ label: this.$t('pageSessions.action.disconnect'),
},
],
currentPage: currentPage,
@@ -202,25 +202,23 @@ export default {
: this.allConnections.length;
},
allConnections() {
- return this.$store.getters['clientSessions/allConnections'].map(
- (session) => {
- return {
- ...session,
- actions: [
- {
- value: 'disconnect',
- title: this.$t('pageClientSessions.action.disconnect'),
- },
- ],
- };
- }
- );
+ return this.$store.getters['sessions/allConnections'].map((session) => {
+ return {
+ ...session,
+ actions: [
+ {
+ value: 'disconnect',
+ title: this.$t('pageSessions.action.disconnect'),
+ },
+ ],
+ };
+ });
},
},
created() {
this.startLoader();
this.$store
- .dispatch('clientSessions/getClientSessionsData')
+ .dispatch('sessions/getSessionsData')
.finally(() => this.endLoader());
},
methods: {
@@ -232,7 +230,7 @@ export default {
},
disconnectSessions(uris) {
this.$store
- .dispatch('clientSessions/disconnectSessions', uris)
+ .dispatch('sessions/disconnectSessions', uris)
.then((messages) => {
messages.forEach(({ type, message }) => {
if (type === 'success') {
@@ -246,14 +244,11 @@ export default {
onTableRowAction(action, { uri }) {
if (action === 'disconnect') {
this.$bvModal
- .msgBoxConfirm(
- this.$tc('pageClientSessions.modal.disconnectMessage'),
- {
- title: this.$tc('pageClientSessions.modal.disconnectTitle'),
- okTitle: this.$t('pageClientSessions.action.disconnect'),
- cancelTitle: this.$t('global.action.cancel'),
- }
- )
+ .msgBoxConfirm(this.$tc('pageSessions.modal.disconnectMessage'), {
+ title: this.$tc('pageSessions.modal.disconnectTitle'),
+ okTitle: this.$t('pageSessions.action.disconnect'),
+ cancelTitle: this.$t('global.action.cancel'),
+ })
.then((deleteConfirmed) => {
if (deleteConfirmed) this.disconnectSessions([uri]);
});
@@ -265,15 +260,15 @@ export default {
this.$bvModal
.msgBoxConfirm(
this.$tc(
- 'pageClientSessions.modal.disconnectMessage',
+ 'pageSessions.modal.disconnectMessage',
this.selectedRows.length
),
{
title: this.$tc(
- 'pageClientSessions.modal.disconnectTitle',
+ 'pageSessions.modal.disconnectTitle',
this.selectedRows.length
),
- okTitle: this.$t('pageClientSessions.action.disconnect'),
+ okTitle: this.$t('pageSessions.action.disconnect'),
cancelTitle: this.$t('global.action.cancel'),
}
)
diff --git a/src/views/SecurityAndAccess/Sessions/index.js b/src/views/SecurityAndAccess/Sessions/index.js
new file mode 100644
index 00000000..aa113aff
--- /dev/null
+++ b/src/views/SecurityAndAccess/Sessions/index.js
@@ -0,0 +1,2 @@
+import Sessions from './Sessions.vue';
+export default Sessions;
diff --git a/src/views/AccessControl/LocalUserManagement/ModalSettings.vue b/src/views/SecurityAndAccess/UserManagement/ModalSettings.vue
index bf274e5a..0f05123c 100644
--- a/src/views/AccessControl/LocalUserManagement/ModalSettings.vue
+++ b/src/views/SecurityAndAccess/UserManagement/ModalSettings.vue
@@ -2,7 +2,7 @@
<b-modal
id="modal-settings"
ref="modal"
- :title="$t('pageLocalUserManagement.accountPolicySettings')"
+ :title="$t('pageUserManagement.accountPolicySettings')"
@hidden="resetForm"
>
<b-form id="form-settings" novalidate @submit.prevent="handleSubmit">
@@ -10,9 +10,7 @@
<b-row>
<b-col>
<b-form-group
- :label="
- $t('pageLocalUserManagement.modal.maxFailedLoginAttempts')
- "
+ :label="$t('pageUserManagement.modal.maxFailedLoginAttempts')"
label-for="lockout-threshold"
>
<b-form-text id="lockout-threshold-help-block">
@@ -28,7 +26,7 @@
v-model.number="form.lockoutThreshold"
type="number"
aria-describedby="lockout-threshold-help-block"
- data-test-id="localUserManagement-input-lockoutThreshold"
+ data-test-id="userManagement-input-lockoutThreshold"
:state="getValidationState($v.form.lockoutThreshold)"
@input="$v.form.lockoutThreshold.$touch()"
/>
@@ -54,38 +52,36 @@
</b-col>
<b-col>
<b-form-group
- :label="$t('pageLocalUserManagement.modal.userUnlockMethod')"
+ :label="$t('pageUserManagement.modal.userUnlockMethod')"
>
<b-form-radio
v-model="form.unlockMethod"
name="unlock-method"
class="mb-2"
:value="0"
- data-test-id="localUserManagement-radio-manualUnlock"
+ data-test-id="userManagement-radio-manualUnlock"
@input="$v.form.unlockMethod.$touch()"
>
- {{ $t('pageLocalUserManagement.modal.manual') }}
+ {{ $t('pageUserManagement.modal.manual') }}
</b-form-radio>
<b-form-radio
v-model="form.unlockMethod"
name="unlock-method"
:value="1"
- data-test-id="localUserManagement-radio-automaticUnlock"
+ data-test-id="userManagement-radio-automaticUnlock"
@input="$v.form.unlockMethod.$touch()"
>
- {{ $t('pageLocalUserManagement.modal.automaticAfterTimeout') }}
+ {{ $t('pageUserManagement.modal.automaticAfterTimeout') }}
</b-form-radio>
<div class="mt-3 ml-4">
<b-form-text id="lockout-duration-help-block">
- {{
- $t('pageLocalUserManagement.modal.timeoutDurationSeconds')
- }}
+ {{ $t('pageUserManagement.modal.timeoutDurationSeconds') }}
</b-form-text>
<b-form-input
v-model.number="form.lockoutDuration"
aria-describedby="lockout-duration-help-block"
type="number"
- data-test-id="localUserManagement-input-lockoutDuration"
+ data-test-id="userManagement-input-lockoutDuration"
:state="getValidationState($v.form.lockoutDuration)"
:readonly="$v.form.unlockMethod.$model === 0"
@input="$v.form.lockoutDuration.$touch()"
@@ -107,7 +103,7 @@
<template #modal-footer="{ cancel }">
<b-button
variant="secondary"
- data-test-id="localUserManagement-button-cancel"
+ data-test-id="userManagement-button-cancel"
@click="cancel()"
>
{{ $t('global.action.cancel') }}
@@ -116,7 +112,7 @@
form="form-settings"
type="submit"
variant="primary"
- data-test-id="localUserManagement-button-submit"
+ data-test-id="userManagement-button-submit"
@click="onOk"
>
{{ $t('global.action.save') }}
diff --git a/src/views/AccessControl/LocalUserManagement/ModalUser.vue b/src/views/SecurityAndAccess/UserManagement/ModalUser.vue
index 202ae8e6..0f8757ce 100644
--- a/src/views/AccessControl/LocalUserManagement/ModalUser.vue
+++ b/src/views/SecurityAndAccess/UserManagement/ModalUser.vue
@@ -2,10 +2,10 @@
<b-modal id="modal-user" ref="modal" @hidden="resetForm">
<template #modal-title>
<template v-if="newUser">
- {{ $t('pageLocalUserManagement.addUser') }}
+ {{ $t('pageUserManagement.addUser') }}
</template>
<template v-else>
- {{ $t('pageLocalUserManagement.editUser') }}
+ {{ $t('pageUserManagement.editUser') }}
</template>
</template>
<b-form id="form-user" novalidate @submit.prevent="handleSubmit">
@@ -15,42 +15,38 @@
<b-col sm="9">
<alert :show="true" variant="warning" small>
<template v-if="!$v.form.manualUnlock.$dirty">
- {{ $t('pageLocalUserManagement.modal.accountLocked') }}
+ {{ $t('pageUserManagement.modal.accountLocked') }}
</template>
<template v-else>
- {{
- $t('pageLocalUserManagement.modal.clickSaveToUnlockAccount')
- }}
+ {{ $t('pageUserManagement.modal.clickSaveToUnlockAccount') }}
</template>
</alert>
</b-col>
<b-col sm="3">
<input
v-model="form.manualUnlock"
- data-test-id="localUserManagement-input-manualUnlock"
+ data-test-id="userManagement-input-manualUnlock"
type="hidden"
value="false"
/>
<b-button
variant="primary"
:disabled="$v.form.manualUnlock.$dirty"
- data-test-id="localUserManagement-button-manualUnlock"
+ data-test-id="userManagement-button-manualUnlock"
@click="$v.form.manualUnlock.$touch()"
>
- {{ $t('pageLocalUserManagement.modal.unlock') }}
+ {{ $t('pageUserManagement.modal.unlock') }}
</b-button>
</b-col>
</b-row>
<b-row>
<b-col>
- <b-form-group
- :label="$t('pageLocalUserManagement.modal.accountStatus')"
- >
+ <b-form-group :label="$t('pageUserManagement.modal.accountStatus')">
<b-form-radio
v-model="form.status"
name="user-status"
:value="true"
- data-test-id="localUserManagement-radioButton-statusEnabled"
+ data-test-id="userManagement-radioButton-statusEnabled"
@input="$v.form.status.$touch()"
>
{{ $t('global.status.enabled') }}
@@ -58,7 +54,7 @@
<b-form-radio
v-model="form.status"
name="user-status"
- data-test-id="localUserManagement-radioButton-statusDisabled"
+ data-test-id="userManagement-radioButton-statusDisabled"
:value="false"
@input="$v.form.status.$touch()"
>
@@ -66,15 +62,15 @@
</b-form-radio>
</b-form-group>
<b-form-group
- :label="$t('pageLocalUserManagement.modal.username')"
+ :label="$t('pageUserManagement.modal.username')"
label-for="username"
>
<b-form-text id="username-help-block">
- {{ $t('pageLocalUserManagement.modal.cannotStartWithANumber') }}
+ {{ $t('pageUserManagement.modal.cannotStartWithANumber') }}
<br />
{{
$t(
- 'pageLocalUserManagement.modal.noSpecialCharactersExceptUnderscore'
+ 'pageUserManagement.modal.noSpecialCharactersExceptUnderscore'
)
}}
</b-form-text>
@@ -83,7 +79,7 @@
v-model="form.username"
type="text"
aria-describedby="username-help-block"
- data-test-id="localUserManagement-input-username"
+ data-test-id="userManagement-input-username"
:state="getValidationState($v.form.username)"
:disabled="!newUser && originalUsername === 'root'"
@input="$v.form.username.$touch()"
@@ -103,14 +99,14 @@
</b-form-invalid-feedback>
</b-form-group>
<b-form-group
- :label="$t('pageLocalUserManagement.modal.privilege')"
+ :label="$t('pageUserManagement.modal.privilege')"
label-for="privilege"
>
<b-form-select
id="privilege"
v-model="form.privilege"
:options="privilegeTypes"
- data-test-id="localUserManagement-select-privilege"
+ data-test-id="userManagement-select-privilege"
:state="getValidationState($v.form.privilege)"
@input="$v.form.privilege.$touch()"
>
@@ -129,12 +125,12 @@
</b-col>
<b-col>
<b-form-group
- :label="$t('pageLocalUserManagement.modal.userPassword')"
+ :label="$t('pageUserManagement.modal.userPassword')"
label-for="password"
>
<b-form-text id="password-help-block">
{{
- $t('pageLocalUserManagement.modal.passwordMustBeBetween', {
+ $t('pageUserManagement.modal.passwordMustBeBetween', {
min: passwordRequirements.minLength,
max: passwordRequirements.maxLength,
})
@@ -145,7 +141,7 @@
id="password"
v-model="form.password"
type="password"
- data-test-id="localUserManagement-input-password"
+ data-test-id="userManagement-input-password"
aria-describedby="password-help-block"
:state="getValidationState($v.form.password)"
class="form-control-with-button"
@@ -161,27 +157,24 @@
"
>
{{
- $t(
- 'pageLocalUserManagement.modal.passwordMustBeBetween',
- {
- min: passwordRequirements.minLength,
- max: passwordRequirements.maxLength,
- }
- )
+ $t('pageUserManagement.modal.passwordMustBeBetween', {
+ min: passwordRequirements.minLength,
+ max: passwordRequirements.maxLength,
+ })
}}
</template>
</b-form-invalid-feedback>
</input-password-toggle>
</b-form-group>
<b-form-group
- :label="$t('pageLocalUserManagement.modal.confirmUserPassword')"
+ :label="$t('pageUserManagement.modal.confirmUserPassword')"
label-for="password-confirmation"
>
<input-password-toggle>
<b-form-input
id="password-confirmation"
v-model="form.passwordConfirmation"
- data-test-id="localUserManagement-input-passwordConfirmation"
+ data-test-id="userManagement-input-passwordConfirmation"
type="password"
:state="getValidationState($v.form.passwordConfirmation)"
class="form-control-with-button"
@@ -194,9 +187,7 @@
<template
v-else-if="!$v.form.passwordConfirmation.sameAsPassword"
>
- {{
- $t('pageLocalUserManagement.modal.passwordsDoNotMatch')
- }}
+ {{ $t('pageUserManagement.modal.passwordsDoNotMatch') }}
</template>
</b-form-invalid-feedback>
</input-password-toggle>
@@ -208,20 +199,20 @@
<template #modal-footer="{ cancel }">
<b-button
variant="secondary"
- data-test-id="localUserManagement-button-cancel"
+ data-test-id="userManagement-button-cancel"
@click="cancel()"
>
{{ $t('global.action.cancel') }}
</b-button>
<b-button
form="form-user"
- data-test-id="localUserManagement-button-submit"
+ data-test-id="userManagement-button-submit"
type="submit"
variant="primary"
@click="onOk"
>
<template v-if="newUser">
- {{ $t('pageLocalUserManagement.addUser') }}
+ {{ $t('pageUserManagement.addUser') }}
</template>
<template v-else>
{{ $t('global.action.save') }}
@@ -275,13 +266,13 @@ export default {
return this.user ? false : true;
},
accountSettings() {
- return this.$store.getters['localUsers/accountSettings'];
+ return this.$store.getters['userManagement/accountSettings'];
},
manualUnlockPolicy() {
return !this.accountSettings.accountLockoutDuration;
},
privilegeTypes() {
- return this.$store.getters['localUsers/accountRoles'];
+ return this.$store.getters['userManagement/accountRoles'];
},
},
watch: {
diff --git a/src/views/AccessControl/LocalUserManagement/TableRoles.vue b/src/views/SecurityAndAccess/UserManagement/TableRoles.vue
index 3993af02..61ef1ee8 100644
--- a/src/views/AccessControl/LocalUserManagement/TableRoles.vue
+++ b/src/views/SecurityAndAccess/UserManagement/TableRoles.vue
@@ -35,7 +35,7 @@ export default {
items: [
{
description: this.$t(
- 'pageLocalUserManagement.tableRoles.configureComponentsManagedByThisService'
+ 'pageUserManagement.tableRoles.configureComponentsManagedByThisService'
),
administrator: true,
operator: true,
@@ -44,7 +44,7 @@ export default {
},
{
description: this.$t(
- 'pageLocalUserManagement.tableRoles.configureManagerResources'
+ 'pageUserManagement.tableRoles.configureManagerResources'
),
administrator: true,
operator: false,
@@ -53,7 +53,7 @@ export default {
},
{
description: this.$t(
- 'pageLocalUserManagement.tableRoles.updatePasswordForCurrentUserAccount'
+ 'pageUserManagement.tableRoles.updatePasswordForCurrentUserAccount'
),
administrator: true,
operator: true,
@@ -62,7 +62,7 @@ export default {
},
{
description: this.$t(
- 'pageLocalUserManagement.tableRoles.configureUsersAndTheirAccounts'
+ 'pageUserManagement.tableRoles.configureUsersAndTheirAccounts'
),
administrator: true,
operator: false,
@@ -71,7 +71,7 @@ export default {
},
{
description: this.$t(
- 'pageLocalUserManagement.tableRoles.logInToTheServiceAndReadResources'
+ 'pageUserManagement.tableRoles.logInToTheServiceAndReadResources'
),
administrator: true,
operator: true,
diff --git a/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue b/src/views/SecurityAndAccess/UserManagement/UserManagement.vue
index fb5ba16e..015fee91 100644
--- a/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue
+++ b/src/views/SecurityAndAccess/UserManagement/UserManagement.vue
@@ -5,15 +5,15 @@
<b-col xl="9" class="text-right">
<b-button variant="link" @click="initModalSettings">
<icon-settings />
- {{ $t('pageLocalUserManagement.accountPolicySettings') }}
+ {{ $t('pageUserManagement.accountPolicySettings') }}
</b-button>
<b-button
variant="primary"
- data-test-id="localUserManagement-button-addUser"
+ data-test-id="userManagement-button-addUser"
@click="initModalUser(null)"
>
<icon-add />
- {{ $t('pageLocalUserManagement.addUser') }}
+ {{ $t('pageUserManagement.addUser') }}
</b-button>
</b-col>
</b-row>
@@ -42,7 +42,7 @@
<template #head(checkbox)>
<b-form-checkbox
v-model="tableHeaderCheckboxModel"
- data-test-id="localUserManagement-checkbox-tableHeaderCheckbox"
+ data-test-id="userManagement-checkbox-tableHeaderCheckbox"
:indeterminate="tableHeaderCheckboxIndeterminate"
@change="onChangeHeaderCheckbox($refs.table)"
>
@@ -52,7 +52,7 @@
<template #cell(checkbox)="row">
<b-form-checkbox
v-model="row.rowSelected"
- data-test-id="localUserManagement-checkbox-toggleSelectRow"
+ data-test-id="userManagement-checkbox-toggleSelectRow"
@change="toggleSelectRow($refs.table, row.index)"
>
<span class="sr-only">{{ $t('global.table.selectItem') }}</span>
@@ -72,11 +72,11 @@
<template #icon>
<icon-edit
v-if="action.value === 'edit'"
- :data-test-id="`localUserManagement-tableRowAction-edit-${index}`"
+ :data-test-id="`userManagement-tableRowAction-edit-${index}`"
/>
<icon-trashcan
v-if="action.value === 'delete'"
- :data-test-id="`localUserManagement-tableRowAction-delete-${index}`"
+ :data-test-id="`userManagement-tableRowAction-delete-${index}`"
/>
</template>
</table-row-action>
@@ -88,12 +88,12 @@
<b-col xl="8">
<b-button
v-b-toggle.collapse-role-table
- data-test-id="localUserManagement-button-viewPrivilegeRoleDescriptions"
+ data-test-id="userManagement-button-viewPrivilegeRoleDescriptions"
variant="link"
class="mt-3"
>
<icon-chevron />
- {{ $t('pageLocalUserManagement.viewPrivilegeRoleDescriptions') }}
+ {{ $t('pageUserManagement.viewPrivilegeRoleDescriptions') }}
</b-button>
<b-collapse id="collapse-role-table" class="mt-3">
<table-roles />
@@ -134,7 +134,7 @@ import BVToastMixin from '@/components/Mixins/BVToastMixin';
import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
export default {
- name: 'LocalUsers',
+ name: 'UserManagement',
components: {
IconAdd,
IconChevron,
@@ -162,15 +162,15 @@ export default {
},
{
key: 'username',
- label: this.$t('pageLocalUserManagement.table.username'),
+ label: this.$t('pageUserManagement.table.username'),
},
{
key: 'privilege',
- label: this.$t('pageLocalUserManagement.table.privilege'),
+ label: this.$t('pageUserManagement.table.privilege'),
},
{
key: 'status',
- label: this.$t('pageLocalUserManagement.table.status'),
+ label: this.$t('pageUserManagement.table.status'),
},
{
key: 'actions',
@@ -199,7 +199,7 @@ export default {
},
computed: {
allUsers() {
- return this.$store.getters['localUsers/allUsers'];
+ return this.$store.getters['userManagement/allUsers'];
},
tableItems() {
// transform user data to table data
@@ -216,12 +216,12 @@ export default {
{
value: 'edit',
enabled: true,
- title: this.$t('pageLocalUserManagement.editUser'),
+ title: this.$t('pageUserManagement.editUser'),
},
{
value: 'delete',
enabled: user.UserName === 'root' ? false : true,
- title: this.$tc('pageLocalUserManagement.deleteUser'),
+ title: this.$tc('pageUserManagement.deleteUser'),
},
],
...user,
@@ -229,17 +229,19 @@ export default {
});
},
settings() {
- return this.$store.getters['localUsers/accountSettings'];
+ return this.$store.getters['userManagement/accountSettings'];
},
passwordRequirements() {
- return this.$store.getters['localUsers/accountPasswordRequirements'];
+ return this.$store.getters['userManagement/accountPasswordRequirements'];
},
},
created() {
this.startLoader();
- this.$store.dispatch('localUsers/getUsers').finally(() => this.endLoader());
- this.$store.dispatch('localUsers/getAccountSettings');
- this.$store.dispatch('localUsers/getAccountRoles');
+ this.$store
+ .dispatch('userManagement/getUsers')
+ .finally(() => this.endLoader());
+ this.$store.dispatch('userManagement/getAccountSettings');
+ this.$store.dispatch('userManagement/getAccountRoles');
},
methods: {
initModalUser(user) {
@@ -249,12 +251,12 @@ export default {
initModalDelete(user) {
this.$bvModal
.msgBoxConfirm(
- this.$t('pageLocalUserManagement.modal.deleteConfirmMessage', {
+ this.$t('pageUserManagement.modal.deleteConfirmMessage', {
user: user.username,
}),
{
- title: this.$tc('pageLocalUserManagement.deleteUser'),
- okTitle: this.$tc('pageLocalUserManagement.deleteUser'),
+ title: this.$tc('pageUserManagement.deleteUser'),
+ okTitle: this.$tc('pageUserManagement.deleteUser'),
cancelTitle: this.$t('global.action.cancel'),
}
)
@@ -271,13 +273,13 @@ export default {
this.startLoader();
if (isNewUser) {
this.$store
- .dispatch('localUsers/createUser', userData)
+ .dispatch('userManagement/createUser', userData)
.then((success) => this.successToast(success))
.catch(({ message }) => this.errorToast(message))
.finally(() => this.endLoader());
} else {
this.$store
- .dispatch('localUsers/updateUser', userData)
+ .dispatch('userManagement/updateUser', userData)
.then((success) => this.successToast(success))
.catch(({ message }) => this.errorToast(message))
.finally(() => this.endLoader());
@@ -286,7 +288,7 @@ export default {
deleteUser({ username }) {
this.startLoader();
this.$store
- .dispatch('localUsers/deleteUser', username)
+ .dispatch('userManagement/deleteUser', username)
.then((success) => this.successToast(success))
.catch(({ message }) => this.errorToast(message))
.finally(() => this.endLoader());
@@ -297,16 +299,16 @@ export default {
this.$bvModal
.msgBoxConfirm(
this.$tc(
- 'pageLocalUserManagement.modal.batchDeleteConfirmMessage',
+ 'pageUserManagement.modal.batchDeleteConfirmMessage',
this.selectedRows.length
),
{
title: this.$tc(
- 'pageLocalUserManagement.deleteUser',
+ 'pageUserManagement.deleteUser',
this.selectedRows.length
),
okTitle: this.$tc(
- 'pageLocalUserManagement.deleteUser',
+ 'pageUserManagement.deleteUser',
this.selectedRows.length
),
cancelTitle: this.$t('global.action.cancel'),
@@ -316,7 +318,7 @@ export default {
if (deleteConfirmed) {
this.startLoader();
this.$store
- .dispatch('localUsers/deleteUsers', this.selectedRows)
+ .dispatch('userManagement/deleteUsers', this.selectedRows)
.then((messages) => {
messages.forEach(({ type, message }) => {
if (type === 'success') this.successToast(message);
@@ -330,7 +332,7 @@ export default {
case 'enable':
this.startLoader();
this.$store
- .dispatch('localUsers/enableUsers', this.selectedRows)
+ .dispatch('userManagement/enableUsers', this.selectedRows)
.then((messages) => {
messages.forEach(({ type, message }) => {
if (type === 'success') this.successToast(message);
@@ -342,7 +344,7 @@ export default {
case 'disable':
this.startLoader();
this.$store
- .dispatch('localUsers/disableUsers', this.selectedRows)
+ .dispatch('userManagement/disableUsers', this.selectedRows)
.then((messages) => {
messages.forEach(({ type, message }) => {
if (type === 'success') this.successToast(message);
@@ -368,7 +370,7 @@ export default {
saveAccountSettings(settings) {
this.startLoader();
this.$store
- .dispatch('localUsers/saveAccountSettings', settings)
+ .dispatch('userManagement/saveAccountSettings', settings)
.then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message))
.finally(() => this.endLoader());
diff --git a/src/views/SecurityAndAccess/UserManagement/index.js b/src/views/SecurityAndAccess/UserManagement/index.js
new file mode 100644
index 00000000..c3aebec3
--- /dev/null
+++ b/src/views/SecurityAndAccess/UserManagement/index.js
@@ -0,0 +1,2 @@
+import UserManagement from './UserManagement.vue';
+export default UserManagement;
diff --git a/src/views/Settings/SecuritySettings/index.js b/src/views/Settings/SecuritySettings/index.js
deleted file mode 100644
index 5ec2b615..00000000
--- a/src/views/Settings/SecuritySettings/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import SecuritySettings from './SecuritySettings.vue';
-export default SecuritySettings;
diff --git a/tests/unit/__snapshots__/AppNavigation.spec.js.snap b/tests/unit/__snapshots__/AppNavigation.spec.js.snap
index d8cf57fc..d87d44ed 100644
--- a/tests/unit/__snapshots__/AppNavigation.spec.js.snap
+++ b/tests/unit/__snapshots__/AppNavigation.spec.js.snap
@@ -462,15 +462,6 @@ exports[`AppNavigation.vue should render correctly 1`] = `
appNavigation.powerRestorePolicy
</a>
- <a
- class="nav-link"
- data-test-id="nav-item-security-settings"
- href="#/settings/security-settings"
- >
-
- appNavigation.securitySettings
-
- </a>
</li>
</ul>
</transition-stub>
@@ -479,10 +470,10 @@ exports[`AppNavigation.vue should render correctly 1`] = `
class="nav-item"
>
<button
- aria-controls="access-control"
+ aria-controls="security-and-access"
aria-expanded="false"
class="btn btn-link collapsed"
- data-test-id="nav-button-access-control"
+ data-test-id="nav-button-security-and-access"
type="button"
>
<svg
@@ -496,16 +487,14 @@ exports[`AppNavigation.vue should render correctly 1`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
- d="M21,2a8.9977,8.9977,0,0,0-8.6119,11.6118L2,24v6H8L18.3881,19.6118A9,9,0,1,0,21,2Zm0,16a7.0125,7.0125,0,0,1-2.0322-.3022L17.821,17.35l-.8472.8472-3.1811,3.1812L12.4141,20,11,21.4141l1.3787,1.3786-1.5859,1.586L9.4141,23,8,24.4141l1.3787,1.3786L7.1716,28H4V24.8284l9.8023-9.8023.8472-.8474-.3473-1.1467A7,7,0,1,1,21,18Z"
+ d="M14 16.59L11.41 14 10 15.41 14 19.41 22 11.41 20.59 10 14 16.59z"
/>
- <circle
- cx="22"
- cy="10"
- r="2"
+ <path
+ d="M16,30,9.8242,26.7071A10.9818,10.9818,0,0,1,4,17V4A2.0021,2.0021,0,0,1,6,2H26a2.0021,2.0021,0,0,1,2,2V17a10.9818,10.9818,0,0,1-5.8242,9.7071ZM6,4V17a8.9852,8.9852,0,0,0,4.7656,7.9423L16,27.7333l5.2344-2.791A8.9852,8.9852,0,0,0,26,17V4Z"
/>
</svg>
- appNavigation.accessControl
+ appNavigation.securityAndAccess
<svg
aria-hidden="true"
@@ -536,7 +525,7 @@ exports[`AppNavigation.vue should render correctly 1`] = `
>
<ul
class="collapse"
- id="access-control"
+ id="security-and-access"
style="display: none;"
>
<li
@@ -544,17 +533,17 @@ exports[`AppNavigation.vue should render correctly 1`] = `
>
<a
class="nav-link"
- data-test-id="nav-item-client-sessions"
- href="#/access-control/client-sessions"
+ data-test-id="nav-item-sessions"
+ href="#/security-and-access/sessions"
>
- appNavigation.clientSessions
+ appNavigation.sessions
</a>
<a
class="nav-link"
data-test-id="nav-item-ldap"
- href="#/access-control/ldap"
+ href="#/security-and-access/ldap"
>
appNavigation.ldap
@@ -562,20 +551,29 @@ exports[`AppNavigation.vue should render correctly 1`] = `
</a>
<a
class="nav-link"
- data-test-id="nav-item-local-user-management"
- href="#/access-control/local-user-management"
+ data-test-id="nav-item-user-management"
+ href="#/security-and-access/user-management"
+ >
+
+ appNavigation.userManagement
+
+ </a>
+ <a
+ class="nav-link"
+ data-test-id="nav-item-policies"
+ href="#/security-and-access/policies"
>
- appNavigation.localUserManagement
+ appNavigation.policies
</a>
<a
class="nav-link"
- data-test-id="nav-item-ssl-certificates"
- href="#/access-control/ssl-certificates"
+ data-test-id="nav-item-certificates"
+ href="#/security-and-access/certificates"
>
- appNavigation.sslCertificates
+ appNavigation.certificates
</a>
</li>
@@ -1056,15 +1054,6 @@ exports[`AppNavigation.vue should render with nav-container open 1`] = `
appNavigation.powerRestorePolicy
</a>
- <a
- class="nav-link"
- data-test-id="nav-item-security-settings"
- href="#/settings/security-settings"
- >
-
- appNavigation.securitySettings
-
- </a>
</li>
</ul>
</transition-stub>
@@ -1073,10 +1062,10 @@ exports[`AppNavigation.vue should render with nav-container open 1`] = `
class="nav-item"
>
<button
- aria-controls="access-control"
+ aria-controls="security-and-access"
aria-expanded="false"
class="btn btn-link collapsed"
- data-test-id="nav-button-access-control"
+ data-test-id="nav-button-security-and-access"
type="button"
>
<svg
@@ -1090,16 +1079,14 @@ exports[`AppNavigation.vue should render with nav-container open 1`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
- d="M21,2a8.9977,8.9977,0,0,0-8.6119,11.6118L2,24v6H8L18.3881,19.6118A9,9,0,1,0,21,2Zm0,16a7.0125,7.0125,0,0,1-2.0322-.3022L17.821,17.35l-.8472.8472-3.1811,3.1812L12.4141,20,11,21.4141l1.3787,1.3786-1.5859,1.586L9.4141,23,8,24.4141l1.3787,1.3786L7.1716,28H4V24.8284l9.8023-9.8023.8472-.8474-.3473-1.1467A7,7,0,1,1,21,18Z"
+ d="M14 16.59L11.41 14 10 15.41 14 19.41 22 11.41 20.59 10 14 16.59z"
/>
- <circle
- cx="22"
- cy="10"
- r="2"
+ <path
+ d="M16,30,9.8242,26.7071A10.9818,10.9818,0,0,1,4,17V4A2.0021,2.0021,0,0,1,6,2H26a2.0021,2.0021,0,0,1,2,2V17a10.9818,10.9818,0,0,1-5.8242,9.7071ZM6,4V17a8.9852,8.9852,0,0,0,4.7656,7.9423L16,27.7333l5.2344-2.791A8.9852,8.9852,0,0,0,26,17V4Z"
/>
</svg>
- appNavigation.accessControl
+ appNavigation.securityAndAccess
<svg
aria-hidden="true"
@@ -1130,7 +1117,7 @@ exports[`AppNavigation.vue should render with nav-container open 1`] = `
>
<ul
class="collapse"
- id="access-control"
+ id="security-and-access"
style="display: none;"
>
<li
@@ -1138,17 +1125,17 @@ exports[`AppNavigation.vue should render with nav-container open 1`] = `
>
<a
class="nav-link"
- data-test-id="nav-item-client-sessions"
- href="#/access-control/client-sessions"
+ data-test-id="nav-item-sessions"
+ href="#/security-and-access/sessions"
>
- appNavigation.clientSessions
+ appNavigation.sessions
</a>
<a
class="nav-link"
data-test-id="nav-item-ldap"
- href="#/access-control/ldap"
+ href="#/security-and-access/ldap"
>
appNavigation.ldap
@@ -1156,20 +1143,29 @@ exports[`AppNavigation.vue should render with nav-container open 1`] = `
</a>
<a
class="nav-link"
- data-test-id="nav-item-local-user-management"
- href="#/access-control/local-user-management"
+ data-test-id="nav-item-user-management"
+ href="#/security-and-access/user-management"
+ >
+
+ appNavigation.userManagement
+
+ </a>
+ <a
+ class="nav-link"
+ data-test-id="nav-item-policies"
+ href="#/security-and-access/policies"
>
- appNavigation.localUserManagement
+ appNavigation.policies
</a>
<a
class="nav-link"
- data-test-id="nav-item-ssl-certificates"
- href="#/access-control/ssl-certificates"
+ data-test-id="nav-item-certificates"
+ href="#/security-and-access/certificates"
>
- appNavigation.sslCertificates
+ appNavigation.certificates
</a>
</li>