diff --git a/frontend/src/ts/account_applications/component/button/UserManagementService.ts b/frontend/src/ts/account_applications/component/button/UserManagementService.ts index b637a504..99e56c00 100644 --- a/frontend/src/ts/account_applications/component/button/UserManagementService.ts +++ b/frontend/src/ts/account_applications/component/button/UserManagementService.ts @@ -60,8 +60,10 @@ export class UserManagementService extends Behavior { if (!this.authService.hasRole('security_administrator') || !this.sendToErvu) { return; } - let kind = this.applicationKind.getValue(); - let formJson = this.collectData(); + const kind = this.applicationKind.getValue(); + const formJson = this.collectData(); + const appNumber = formJson['appNumber']; + const accountId = formJson['accountId']; let request; switch (kind) { @@ -80,30 +82,29 @@ export class UserManagementService extends Behavior { request = new CreateAccountRequest(); request.data = createData; request.processKey = ProcessKey.CREATE; - this.doRequest(request, formJson['appNumber']); + this.doRequest(request, appNumber); break; case ApplicationKind.EDIT_USER_MAIN: let editPersonData = new EditPersonData(); - editPersonData.accountId = formJson['accountId']; + editPersonData.accountId = accountId; editPersonData.personData = this.populateDto(new Person(), formJson); request = new EditPersonRequest(); request.data = editPersonData; request.processKey = ProcessKey.EDIT_PERSON; - this.doRequest(request, formJson['appNumber']); + this.doRequest(request, appNumber); break; case ApplicationKind.EDIT_USER_ACCOUNT: let editAccountData = new EditAccountData(); let account = this.populateDto(new Account(), formJson); - account.id = formJson['accountId']; + account.id = accountId; editAccountData.account = account; request = new EditAccountRequest(); request.data = editAccountData; request.processKey = ProcessKey.EDIT_ACCOUNT; - this.doRequest(request, formJson['appNumber']); + this.doRequest(request, appNumber); break; case ApplicationKind.EDIT_USER_ROLES: let editRolesAccount = new EditRolesAccount(); - let accountId = formJson['accountId']; let rolesList = formJson['rolesList']; editRolesAccount.accountId = accountId; editRolesAccount.rolesList = rolesList.map(id => { @@ -119,34 +120,34 @@ export class UserManagementService extends Behavior { request = new EditRolesRequest(); request.data = editRolesData; request.processKey = ProcessKey.EDIT_ROLES; - this.doRequest(request, formJson['appNumber']); + this.doRequest(request, appNumber); }); break; case ApplicationKind.BLOCK_USER: let deactivationData = new ChangeActivationData(); - deactivationData.accountIdList = [formJson['accountId']]; + deactivationData.accountIdList = [accountId]; request = new ChangeActivationRequest(); request.data = deactivationData; request.processKey = ProcessKey.DEACTIVATE; - this.doRequest(request, formJson['appNumber']); + this.doRequest(request, appNumber); break; case ApplicationKind.UNBLOCK_USER: let activationData = new ChangeActivationData(); - activationData.accountIdList = [formJson['accountId']]; + activationData.accountIdList = [accountId]; request = new ChangeActivationRequest(); request.data = activationData; request.processKey = ProcessKey.ACTIVATE; - this.doRequest(request, formJson['appNumber']); + this.doRequest(request, appNumber); break; case ApplicationKind.RESET_PASSWORD: let resetPasswordAccount = new ResetPasswordAccount(); - resetPasswordAccount.id = formJson['accountId']; + resetPasswordAccount.id = accountId; let resetPasswordData = new ResetPasswordData(); resetPasswordData.account = resetPasswordAccount; request = new ResetPasswordRequest(); request.data = resetPasswordData; request.processKey = ProcessKey.RESET_PASSWORD; - this.doRequest(request, formJson['appNumber']); + this.doRequest(request, appNumber); break; } }; diff --git a/frontend/src/ts/account_applications/component/field/FormField.ts b/frontend/src/ts/account_applications/component/field/FormField.ts index 5e3c084e..0f9bede5 100644 --- a/frontend/src/ts/account_applications/component/field/FormField.ts +++ b/frontend/src/ts/account_applications/component/field/FormField.ts @@ -1,31 +1,17 @@ import { AnalyticalScope, - Autocomplete, Behavior, Control, - GridV2, NotNull } from "@webbpm/base-package"; @AnalyticalScope(Control) export class FormField extends Behavior { - //TODO SUPPORT-8987 @NotNull() public name: string; - public gridValue: boolean = false; - @NotNull("gridValue == true") - public columnId: string; - public getValue(): any { - if (this.gridValue) { - let grid = this.getScript(GridV2); - return grid.getAllRows().map(rowData => rowData[this.columnId]) - } - - return this.context instanceof Autocomplete - ? this.getScript(Autocomplete).getBusinessId() - : this.getScript('component.ControlWithValue').getValueForForm(); + return this.context.getValueForForm(); } } diff --git a/frontend/src/ts/account_applications/component/field/GridFormField.ts b/frontend/src/ts/account_applications/component/field/GridFormField.ts new file mode 100644 index 00000000..4c81786b --- /dev/null +++ b/frontend/src/ts/account_applications/component/field/GridFormField.ts @@ -0,0 +1,15 @@ +import {FormField} from "./FormField"; +import {AnalyticalScope, GridV2, GridV2Column, NotNull, ObjectRef} from "@webbpm/base-package"; + +@AnalyticalScope(GridV2) +export class GridFormField extends FormField { + + @NotNull() + @ObjectRef() + public column: GridV2Column; + + public getValue(): any[] { + let grid: GridV2 = this.getScript(GridV2); + return grid.getAllRows().map(rowData => rowData[this.column.getField()]); + } +} diff --git a/frontend/src/ts/account_applications/component/field/SelectizeFormField.ts b/frontend/src/ts/account_applications/component/field/SelectizeFormField.ts new file mode 100644 index 00000000..df8e80b7 --- /dev/null +++ b/frontend/src/ts/account_applications/component/field/SelectizeFormField.ts @@ -0,0 +1,10 @@ +import {FormField} from "./FormField"; +import {AnalyticalScope, SelectBase} from "@webbpm/base-package"; + +@AnalyticalScope(SelectBase) +export class SelectizeFormField extends FormField { + + public getValue(): any { + return this.context.getBusinessId(); + } +} diff --git a/resources/src/main/resources/business-model/Список заявок на пользователя/Обработка заявки на добавление пользователя.page b/resources/src/main/resources/business-model/Список заявок на пользователя/Обработка заявки на добавление пользователя.page index 2864e236..736f7a71 100644 --- a/resources/src/main/resources/business-model/Список заявок на пользователя/Обработка заявки на добавление пользователя.page +++ b/resources/src/main/resources/business-model/Список заявок на пользователя/Обработка заявки на добавление пользователя.page @@ -2413,7 +2413,6 @@ eaaf9ba1-feca-4c41-9944-e321eee27a58 Hbox true - false false @@ -3461,9 +3460,9 @@ - + - FormField + SelectizeFormField account_applications.component.field true @@ -3586,6 +3585,7 @@ 62adbc2d-0be1-45de-bc44-b77d11b129d7 Grid_groups true + false false @@ -3665,24 +3665,18 @@ - + - FormField + GridFormField account_applications.component.field true true -columnId +column - "user_application_role$user_role_id" - - - -gridValue - - true + {"objectId":"c8b2b349-588a-473a-bc1e-fb8cf5a03c0a","packageName":"component.grid","className":"GridV2Column","type":"TS"} @@ -3958,24 +3952,18 @@ - + - FormField + GridFormField account_applications.component.field true true -columnId +column - "link_user_application_ip_address$ip_address" - - - -gridValue - - true + {"objectId":"a062f520-09a7-42bc-a331-7546913530e8","packageName":"component.grid","className":"GridV2Column","type":"TS"} diff --git a/resources/src/main/resources/business-model/Список заявок на пользователя/Обработка заявки на изменение пользователя.page b/resources/src/main/resources/business-model/Список заявок на пользователя/Обработка заявки на изменение пользователя.page index 98b53552..2f5a4d43 100644 --- a/resources/src/main/resources/business-model/Список заявок на пользователя/Обработка заявки на изменение пользователя.page +++ b/resources/src/main/resources/business-model/Список заявок на пользователя/Обработка заявки на изменение пользователя.page @@ -1768,24 +1768,18 @@ - + - FormField + GridFormField account_applications.component.field true true - columnId + column - "link_user_application_ip_address$ip_address" - - - - gridValue - - true + {"objectId":"a062f520-09a7-42bc-a331-7546913530e8","packageName":"component.grid","className":"GridV2Column","type":"TS"} @@ -2873,9 +2867,9 @@ - + - FormField + SelectizeFormField account_applications.component.field true @@ -3004,6 +2998,7 @@ 62adbc2d-0be1-45de-bc44-b77d11b129d7 Grid_groups true + false false @@ -3070,24 +3065,18 @@ - + - FormField + GridFormField account_applications.component.field true true -columnId +column - "user_application_role$user_role_id" - - - -gridValue - - true + {"objectId":"c8b2b349-588a-473a-bc1e-fb8cf5a03c0a","packageName":"component.grid","className":"GridV2Column","type":"TS"} @@ -3133,6 +3122,7 @@ c8b2b349-588a-473a-bc1e-fb8cf5a03c0a Column role id false + false false @@ -8076,25 +8066,25 @@ "/app_list" - - visible - - true - - style - - margin - - "0px 0px 10px 0px" - - + + margin + + "0px 0px 10px 0px" + + + + visible + + true + +