diff --git a/src/app/account/account-container/account-actions.container.ts b/src/app/account/account-container/account-actions.container.ts index d8c5022e30..056fcae173 100644 --- a/src/app/account/account-container/account-actions.container.ts +++ b/src/app/account/account-container/account-actions.container.ts @@ -18,7 +18,6 @@ import { Account } from '../../shared/models/account.model'; (onAccountDelete)="onAccountDelete($event)" (onAccountDisable)="onAccountDisable($event)" (onAccountEnable)="onAccountEnable($event)" - (onAccountLock)="onAccountLock($event)" > `, }) @@ -32,10 +31,6 @@ export class AccountActionsContainerComponent { ) { } - public onAccountLock(account: Account): void { - this.store.dispatch(new accountActions.LockAccountRequest(account)); - } - public onAccountEnable(account: Account): void { this.store.dispatch(new accountActions.EnableAccountRequest(account)); } diff --git a/src/app/reducers/accounts/redux/accounts.actions.ts b/src/app/reducers/accounts/redux/accounts.actions.ts index 180bdc582b..c36eb0d343 100644 --- a/src/app/reducers/accounts/redux/accounts.actions.ts +++ b/src/app/reducers/accounts/redux/accounts.actions.ts @@ -12,7 +12,6 @@ export const ACCOUNT_CREATE_ERROR = '[ACCOUNTS] CREATE_ERROR'; export const DISABLE_ACCOUNT = '[ACCOUNTS] DISABLE_ACCOUNT'; export const ENABLE_ACCOUNT = '[ACCOUNTS] ENABLE_ACCOUNT'; -export const LOCK_ACCOUNT = '[ACCOUNTS] LOCK_ACCOUNT'; export const DELETE_ACCOUNT = '[ACCOUNTS] DELETE_ACCOUNT'; export const ACCOUNT_DELETE_SUCCESS = '[ACCOUNTS] ACCOUNT_DELETE_SUCCESS'; @@ -107,13 +106,6 @@ export class DisableAccountRequest implements Action { } } -export class LockAccountRequest implements Action { - readonly type = LOCK_ACCOUNT; - - constructor(public payload: Account) { - } -} - export class DeleteAccountRequest implements Action { readonly type = DELETE_ACCOUNT; diff --git a/src/app/reducers/accounts/redux/accounts.effects.ts b/src/app/reducers/accounts/redux/accounts.effects.ts index ff95907200..bac938eda5 100644 --- a/src/app/reducers/accounts/redux/accounts.effects.ts +++ b/src/app/reducers/accounts/redux/accounts.effects.ts @@ -70,24 +70,10 @@ export class AccountsEffects { }); }); - @Effect() - lockAccount$: Observable = this.actions$ - .ofType(accountActions.LOCK_ACCOUNT) - .switchMap((action: accountActions.LockAccountRequest) => { - return this.accountService.lockAccount(action.payload) - .switchMap(job => { - return this.asyncJobService.queryJob(job, 'account', Account); - }) - .map(updatedAccount => new accountActions.UpdateAccount(updatedAccount)) - .catch((error: Error) => { - return Observable.of(new accountActions.AccountUpdateError(error)); - }); - }); - @Effect() deleteAccount$: Observable = this.actions$ .ofType(accountActions.DELETE_ACCOUNT) - .switchMap((action: accountActions.LockAccountRequest) => { + .switchMap((action: accountActions.DeleteAccountRequest) => { return this.accountService.removeAccount(action.payload) .switchMap(job => { return this.asyncJobService.queryJob(job, 'account', Account); diff --git a/src/app/shared/actions/account-actions/account-actions.component.ts b/src/app/shared/actions/account-actions/account-actions.component.ts index 6d9310d195..d9e95c5bae 100644 --- a/src/app/shared/actions/account-actions/account-actions.component.ts +++ b/src/app/shared/actions/account-actions/account-actions.component.ts @@ -23,7 +23,6 @@ import { DialogService } from '../../../dialog/dialog-service/dialog.service'; }) export class AccountActionsComponent { @Input() public account: Account; - @Output() public onAccountLock: EventEmitter = new EventEmitter(); @Output() public onAccountEnable: EventEmitter = new EventEmitter(); @Output() public onAccountDisable: EventEmitter = new EventEmitter(); @Output() public onAccountDelete: EventEmitter = new EventEmitter(); @@ -43,10 +42,6 @@ export class AccountActionsComponent { .filter(res => Boolean(res)) .subscribe(() => { switch (action.command) { - case 'lock': { - this.onAccountLock.emit(account); - break; - } case 'enable': { this.onAccountEnable.emit(account); break; diff --git a/src/app/shared/actions/account-actions/account-actions.service.ts b/src/app/shared/actions/account-actions/account-actions.service.ts index 9878fb87a7..85f161fc87 100644 --- a/src/app/shared/actions/account-actions/account-actions.service.ts +++ b/src/app/shared/actions/account-actions/account-actions.service.ts @@ -25,19 +25,10 @@ const AccountEnableAction = { canActivate: (account: Account) => account.state !== 'enabled' }; -const AccountLockAction = { - name: 'ACCOUNT_ACTION.LOCK', - command: 'lock', - icon: 'block', - confirmMessage: 'DIALOG_MESSAGES.ACCOUNT.CONFIRM_LOCK', - canActivate: (account: Account) => account.state !== 'locked' -}; - export class AccountActionsService { public actions: Array> = [ AccountDisableAction, AccountEnableAction, - AccountLockAction, AccountDeleteAction ]; } diff --git a/src/app/shared/services/error.service.ts b/src/app/shared/services/error.service.ts index 29d7820e99..269d2c8679 100644 --- a/src/app/shared/services/error.service.ts +++ b/src/app/shared/services/error.service.ts @@ -48,6 +48,11 @@ export class ErrorService { { regex: /maxSnaps exceeds limit: (\d+) for interval type: hourly/, translation: 'ERRORS.SNAPSHOT_POLICIES.HOURLY_TURN_OFF' + }, + { + regex: + /User (.*) .*or their account.* in domain (.*) is disabled\/locked. Please contact the administrator./, + translation: 'ERRORS.AUTH.DISABLED' } ]; diff --git a/src/i18n/en.json b/src/i18n/en.json index 801693b494..367d9f501f 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -91,7 +91,8 @@ "AUTH": { "INCORRECT_USERNAME": "Incorrect username", "INCORRECT_PASSWORD": "Incorrect password", - "INCORRECT_DOMAIN": "Unable to find domain {{ val1 }}" + "INCORRECT_DOMAIN": "Unable to find domain {{ val1 }}", + "DISABLED": "User {{ val1 }} (or their account) {{ val2 }} is disabled. Please contact the administrator." }, "ISO": { "VMS_IN_USE": "Unable to delete the ISO as it's used by the following VMs:
{{ vms }}" diff --git a/src/i18n/ru.json b/src/i18n/ru.json index 48ce415273..b78572757a 100644 --- a/src/i18n/ru.json +++ b/src/i18n/ru.json @@ -91,7 +91,8 @@ "AUTH": { "INCORRECT_USERNAME": "Неверное имя пользователя", "INCORRECT_PASSWORD": "Неверный пароль", - "INCORRECT_DOMAIN": "Не удалось найти домен {{ val1 }}" + "INCORRECT_DOMAIN": "Не удалось найти домен {{ val1 }}", + "DISABLED": "Пользователь {{ val1 }} (или его акаунт) {{ val2 }} деактивирован. Пожалуйста свяжитесь с администратором." }, "ISO": { "VMS_IN_USE": "Невозможно удалить ISO файл, так как он используется следующими машинами:
{{ vms }}"