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
+
+