Compare commits
10 commits
ad5b0ea38e
...
ac8e99929d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ac8e99929d | ||
|
|
bded2143c6 | ||
|
|
edd17e39a8 | ||
|
|
e8ef42ba0c | ||
|
|
055d34471e | ||
|
|
2fe8777911 | ||
|
|
4592b8abc1 | ||
|
|
4988cbaecf | ||
|
|
a302ac6b15 | ||
|
|
c57c7af095 |
18 changed files with 305 additions and 69 deletions
|
|
@ -228,10 +228,6 @@
|
|||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-websocket</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-messaging</artifactId>
|
||||
|
|
@ -252,6 +248,10 @@
|
|||
<groupId>org.apache.kafka</groupId>
|
||||
<artifactId>kafka-clients</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.lz4</groupId>
|
||||
<artifactId>lz4-java</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<finalName>${project.parent.artifactId}</finalName>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
package ru.micord.ervu.account_applications.component.service;
|
||||
|
||||
|
||||
import component.complex.FilterableByPKGridService;
|
||||
import model.Filter;
|
||||
import model.grid.GridRows;
|
||||
import model.grid.SortInfo;
|
||||
import ru.micord.ervu.account_applications.component.util.GridUtils;
|
||||
|
||||
import ru.cg.webbpm.modules.database.api.dao.option.SortOrder;
|
||||
|
||||
/**
|
||||
* @author Adel Kalimullin
|
||||
*/
|
||||
public class IpFilterableGridService extends FilterableByPKGridService {
|
||||
private static final String IP_FIELD = "ip_directory$ip_address";
|
||||
|
||||
@Override
|
||||
public GridRows loadData(Integer offset, Integer limit, Filter[] filters, SortInfo[] sortInfos) {
|
||||
GridRows gridRows = super.loadData(offset, limit, filters, null);
|
||||
SortOrder sortOrder = (sortInfos != null && sortInfos.length > 0)
|
||||
? sortInfos[0].getSortOrder()
|
||||
: SortOrder.ASC;
|
||||
|
||||
GridUtils.sortByIp(gridRows, sortOrder, IP_FIELD);
|
||||
return gridRows;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GridRows loadDataWithRowCount(Integer offset, Integer limit, Filter[] filters,
|
||||
SortInfo[] sortInfos) {
|
||||
GridRows gridRows = super.loadDataWithRowCount(offset, limit, filters, null);
|
||||
SortOrder sortOrder = (sortInfos != null && sortInfos.length > 0)
|
||||
? sortInfos[0].getSortOrder()
|
||||
: SortOrder.ASC;
|
||||
|
||||
GridUtils.sortByIp(gridRows, sortOrder, IP_FIELD);
|
||||
return gridRows;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package ru.micord.ervu.account_applications.component.service;
|
||||
|
||||
|
||||
import model.Filter;
|
||||
import model.grid.GridRows;
|
||||
import model.grid.SortInfo;
|
||||
import ru.micord.ervu.account_applications.component.util.GridUtils;
|
||||
import service.GridV2ServiceImpl;
|
||||
|
||||
import ru.cg.webbpm.modules.database.api.dao.option.SortOrder;
|
||||
|
||||
|
||||
/**
|
||||
* @author Adel Kalimullin
|
||||
*/
|
||||
public class IpGridV2Service extends GridV2ServiceImpl {
|
||||
private static final String IP_FIELD = "link_user_application_ip_address$ip_address";
|
||||
|
||||
@Override
|
||||
public GridRows loadData(Integer offset, Integer limit, Filter[] filters, SortInfo[] sortInfos) {
|
||||
GridRows gridRows = super.loadData(offset, limit, filters, null);
|
||||
SortOrder sortOrder = (sortInfos != null && sortInfos.length > 0)
|
||||
? sortInfos[0].getSortOrder()
|
||||
: SortOrder.ASC;
|
||||
|
||||
GridUtils.sortByIp(gridRows, sortOrder, IP_FIELD);
|
||||
return gridRows;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GridRows loadDataWithRowCount(Integer offset, Integer limit, Filter[] filters,
|
||||
SortInfo[] sortInfos) {
|
||||
GridRows gridRows = super.loadDataWithRowCount(offset, limit, filters, null);
|
||||
SortOrder sortOrder = (sortInfos != null && sortInfos.length > 0)
|
||||
? sortInfos[0].getSortOrder()
|
||||
: SortOrder.ASC;
|
||||
|
||||
GridUtils.sortByIp(gridRows, sortOrder, IP_FIELD);
|
||||
return gridRows;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package ru.micord.ervu.account_applications.component.util;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import model.grid.GridRow;
|
||||
import model.grid.GridRows;
|
||||
import ru.micord.ervu.account_applications.util.IpAddressUtils;
|
||||
|
||||
import ru.cg.webbpm.modules.database.api.dao.option.SortOrder;
|
||||
|
||||
/**
|
||||
* @author Adel Kalimullin
|
||||
*/
|
||||
public final class GridUtils {
|
||||
|
||||
private GridUtils() {}
|
||||
|
||||
public static void sortByIp(GridRows gridRows, SortOrder sortOrder, String columnName) {
|
||||
if (gridRows == null || gridRows.getRows() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
GridRow[] rows = gridRows.getRows();
|
||||
|
||||
Arrays.sort(rows, (row1, row2) -> {
|
||||
String ip1 = (String) row1.get(columnName);
|
||||
String ip2 = (String) row2.get(columnName);
|
||||
|
||||
int comparison = IpAddressUtils.compareIpAddresses(ip1, ip2);
|
||||
|
||||
return sortOrder == SortOrder.DESC ? -comparison : comparison;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -1,14 +1,15 @@
|
|||
package ru.micord.ervu.account_applications.kafka.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
/**
|
||||
* @author Adel Kalimullin
|
||||
*/
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public record DeclarationStatus(
|
||||
@JsonProperty("applicationNumber") Long applicationNumber,
|
||||
@JsonProperty("password") String password,
|
||||
@JsonProperty("status") boolean status,
|
||||
@JsonProperty("userName") String userName,
|
||||
@JsonProperty("description") String errorMsg
|
||||
) {}
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package ru.micord.ervu.account_applications.service;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.HashMap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
|
@ -30,6 +30,7 @@ import ru.micord.ervu.account_applications.component.model.dto.SearchRequest;
|
|||
import ru.micord.ervu.account_applications.component.model.dto.SearchResponse;
|
||||
import ru.micord.ervu.account_applications.security.context.SecurityContext;
|
||||
import ru.micord.ervu.account_applications.service.constant.PathConstant;
|
||||
import ru.micord.ervu.account_applications.util.IpAddressUtils;
|
||||
|
||||
import ru.cg.webbpm.modules.standard_annotations.editor.ObjectRef;
|
||||
|
||||
|
|
@ -196,9 +197,15 @@ public class AccountFetchService implements EntityFetchService<Account> {
|
|||
}
|
||||
|
||||
private GridRows convertIpAddressesToGridRows(List<?> ipList) {
|
||||
List<?> sortedList = new ArrayList<>(ipList);
|
||||
sortedList.sort((ip1, ip2) -> {
|
||||
String ip1Str = ip1 != null ? ip1.toString() : "";
|
||||
String ip2Str = ip2 != null ? ip2.toString() : "";
|
||||
return IpAddressUtils.compareIpAddresses(ip1Str, ip2Str);
|
||||
});
|
||||
|
||||
List<GridRow> rows = new ArrayList<>();
|
||||
int i = 0;
|
||||
for (Object ip : ipList) {
|
||||
for (Object ip : sortedList) {
|
||||
GridRow row = new GridRow();
|
||||
row.put("row_uid", ip);
|
||||
row.put(
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
package ru.micord.ervu.account_applications.util;
|
||||
|
||||
/**
|
||||
* @author Adel Kalimullin
|
||||
*/
|
||||
public final class IpAddressUtils {
|
||||
|
||||
private IpAddressUtils() {}
|
||||
|
||||
public static int compareIpAddresses(String ip1, String ip2) {
|
||||
long ip1Long = ipToLong(ip1);
|
||||
long ip2Long = ipToLong(ip2);
|
||||
return Long.compare(ip1Long, ip2Long);
|
||||
}
|
||||
|
||||
private static long ipToLong(String ip) {
|
||||
if (ip == null || ip.isEmpty() || !ip.matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}")) {
|
||||
return 0L;
|
||||
}
|
||||
|
||||
String[] parts = ip.split("\\.");
|
||||
long result = 0;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
result = result * 256 + Integer.parseInt(parts[i]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
@ -31,6 +31,8 @@ import {BlockedRegion} from "../../../generated/ru/micord/ervu/account_applicati
|
|||
import {ErvuPermission} from "../../../modules/app/enum/ErvuPermission";
|
||||
import {BlockingData} from "./dto/blocking/BlockingData";
|
||||
import {UnblockingData} from "./dto/blocking/UnblockingData";
|
||||
import {AccountDetails} from "./dto/blocking/AccountDetails";
|
||||
import {PersonDetails} from "./dto/blocking/PersonDetails";
|
||||
|
||||
@AnalyticalScope(Form)
|
||||
export class UserManagementService extends Behavior {
|
||||
|
|
@ -47,6 +49,7 @@ export class UserManagementService extends Behavior {
|
|||
private rpc: UserApplicationListRpcService;
|
||||
private authService: AuthorizationService;
|
||||
private statusUpdateService: StatusUpdateService;
|
||||
private formJson: any;
|
||||
|
||||
initialize() {
|
||||
super.initialize();
|
||||
|
|
@ -59,23 +62,25 @@ export class UserManagementService extends Behavior {
|
|||
|
||||
@Visible()
|
||||
public processDeclaration(): void {
|
||||
if (!this.authService.hasPermission(ErvuPermission.APPROVER) || !this.sendToErvu) {
|
||||
if (!this.authService.hasPermission(ErvuPermission.APPROVER)
|
||||
|| !this.sendToErvu
|
||||
|| !this.formJson) {
|
||||
return;
|
||||
}
|
||||
const kind = this.applicationKind.getValue();
|
||||
const formJson = this.collectData();
|
||||
const appNumber = formJson['appNumber'];
|
||||
const accountId = formJson['accountId'];
|
||||
const personId = formJson['idPerson'];
|
||||
const appNumber = this.formJson['appNumber'];
|
||||
const accountId = this.formJson['accountId'];
|
||||
const personId = this.formJson['idPerson'];
|
||||
const login = this.formJson['login'];
|
||||
let request;
|
||||
|
||||
switch (kind) {
|
||||
case ApplicationKind.CREATE_USER:
|
||||
let createData = new CreateAccountData();
|
||||
createData.account = this.populateDto(new Account(), formJson);
|
||||
createData.person = this.populateDto(new Person(), formJson);
|
||||
createData.account = this.populateDto(new Account(), this.formJson);
|
||||
createData.person = this.populateDto(new Person(), this.formJson);
|
||||
let roles = new Roles();
|
||||
roles.add = formJson['rolesList'].map(id => {
|
||||
roles.add = this.formJson['rolesList'].map(id => {
|
||||
let role = new Role();
|
||||
role.id = id;
|
||||
return role;
|
||||
|
|
@ -90,8 +95,8 @@ export class UserManagementService extends Behavior {
|
|||
let editPersonData = new EditPersonData();
|
||||
editPersonData.accountId = accountId;
|
||||
editPersonData.personId = personId;
|
||||
editPersonData.organizationId = formJson['idDomain'];
|
||||
editPersonData.personData = this.populateDto(new Person(), formJson);
|
||||
editPersonData.organizationId = this.formJson['idDomain'];
|
||||
editPersonData.personData = this.populateDto(new Person(), this.formJson);
|
||||
request = new ProcessRequest<EditPersonData>();
|
||||
request.data = editPersonData;
|
||||
request.processKey = ProcessKey.EDIT_PERSON;
|
||||
|
|
@ -99,7 +104,7 @@ export class UserManagementService extends Behavior {
|
|||
break;
|
||||
case ApplicationKind.EDIT_USER_ACCOUNT:
|
||||
let editAccountData = new EditAccountData();
|
||||
let account = this.populateDto(new Account(), formJson);
|
||||
let account = this.populateDto(new Account(), this.formJson);
|
||||
editAccountData.account = account;
|
||||
editAccountData.accountId = accountId;
|
||||
request = new ProcessRequest<EditAccountData>();
|
||||
|
|
@ -109,7 +114,7 @@ export class UserManagementService extends Behavior {
|
|||
break;
|
||||
case ApplicationKind.EDIT_USER_ROLES:
|
||||
let editRolesAccount = new EditRolesAccount();
|
||||
let rolesList = formJson['rolesList'];
|
||||
let rolesList = this.formJson['rolesList'];
|
||||
editRolesAccount.accountId = accountId;
|
||||
let roles2 = new Roles();
|
||||
roles2.add = rolesList.map(id => {
|
||||
|
|
@ -131,7 +136,9 @@ export class UserManagementService extends Behavior {
|
|||
break;
|
||||
case ApplicationKind.BLOCK_USER:
|
||||
let blockingData = new BlockingData();
|
||||
blockingData.accountIdList = [accountId];
|
||||
blockingData.accountList = [
|
||||
new AccountDetails(accountId, login)
|
||||
];
|
||||
request = new ProcessRequest<BlockingData>();
|
||||
request.data = blockingData;
|
||||
request.processKey = ProcessKey.BLOCK;
|
||||
|
|
@ -139,18 +146,26 @@ export class UserManagementService extends Behavior {
|
|||
break;
|
||||
case ApplicationKind.UNBLOCK_USER:
|
||||
let unblockingData = new UnblockingData();
|
||||
let blockedRegion = formJson['blockedRegion'];
|
||||
let blockedRegion = this.formJson['blockedRegion'];
|
||||
|
||||
switch (blockedRegion) {
|
||||
case BlockedRegion.ACCOUNT:
|
||||
unblockingData.accountIdList = [accountId];
|
||||
unblockingData.accountList = [
|
||||
new AccountDetails(accountId, login)
|
||||
];
|
||||
break;
|
||||
case BlockedRegion.PERSON:
|
||||
unblockingData.personIdList = [personId];
|
||||
unblockingData.personList = [
|
||||
new PersonDetails(personId, login)
|
||||
];
|
||||
break;
|
||||
case BlockedRegion.BOTH:
|
||||
unblockingData.accountIdList = [accountId];
|
||||
unblockingData.personIdList = [personId];
|
||||
unblockingData.accountList = [
|
||||
new AccountDetails(accountId, login)
|
||||
];
|
||||
unblockingData.personList = [
|
||||
new PersonDetails(personId, login)
|
||||
];
|
||||
break;
|
||||
}
|
||||
request = new ProcessRequest<UnblockingData>();
|
||||
|
|
@ -174,6 +189,7 @@ export class UserManagementService extends Behavior {
|
|||
|
||||
@Visible()
|
||||
public allowSendToErvu(): void {
|
||||
this.formJson = this.collectData();
|
||||
this.sendToErvu = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
export class AccountDetails {
|
||||
public accountId: string;
|
||||
public login: string;
|
||||
|
||||
constructor(accountId: string, login: string) {
|
||||
this.accountId = accountId;
|
||||
this.login = login;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
import {Data} from "../Data";
|
||||
import {AccountDetails} from "./AccountDetails";
|
||||
|
||||
export class BlockingData extends Data {
|
||||
public accountIdList: string[];
|
||||
public accountList: AccountDetails[];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
export class PersonDetails {
|
||||
public personId: string;
|
||||
public login: string;
|
||||
|
||||
constructor(personId: string, login: string) {
|
||||
this.personId = personId;
|
||||
this.login = login;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
import {Data} from "../Data";
|
||||
import {AccountDetails} from "./AccountDetails";
|
||||
import { PersonDetails } from "./PersonDetails";
|
||||
|
||||
export class UnblockingData extends Data {
|
||||
public accountIdList: string[] = [];
|
||||
public personIdList: string[] = [];
|
||||
public accountList: AccountDetails[] = [];
|
||||
public personList: PersonDetails[] = [];
|
||||
}
|
||||
|
|
|
|||
15
pom.xml
15
pom.xml
|
|
@ -309,11 +309,6 @@
|
|||
<version>${webbpm-platform.version}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-websocket</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-messaging</artifactId>
|
||||
|
|
@ -349,8 +344,18 @@
|
|||
<groupId>org.xerial.snappy</groupId>
|
||||
<artifactId>snappy-java</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.lz4</groupId>
|
||||
<artifactId>lz4-java</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.lz4</groupId>
|
||||
<artifactId>lz4-java</artifactId>
|
||||
<version>1.8.1</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<repositories>
|
||||
|
|
|
|||
|
|
@ -2011,7 +2011,6 @@
|
|||
<componentRootId>eaaf9ba1-feca-4c41-9944-e321eee27a58</componentRootId>
|
||||
<name>Hbox</name>
|
||||
<container>true</container>
|
||||
<expanded>false</expanded>
|
||||
<childrenReordered>false</childrenReordered>
|
||||
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"/>
|
||||
<scripts id="b6068710-0f31-48ec-8e03-c0c1480a40c0"/>
|
||||
|
|
@ -3057,7 +3056,6 @@
|
|||
<componentRootId>4b6acb44-bdc9-4015-872b-238d45ce643f</componentRootId>
|
||||
<name>Vbox_3</name>
|
||||
<container>true</container>
|
||||
<expanded>false</expanded>
|
||||
<childrenReordered>false</childrenReordered>
|
||||
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f">
|
||||
<properties>
|
||||
|
|
@ -3438,18 +3436,48 @@
|
|||
<entry>
|
||||
<key>graph</key>
|
||||
<value>
|
||||
<simple>{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"link_user_application_ip_address","schemaName":"public","x":249.0,"y":275.0,"alias":"link_user_application_ip_address","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"link_user_application_ip_address","schemaName":"public","x":249.0,"y":275.0,"alias":"link_user_application_ip_address","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"link_user_application_ip_address":{"tableName":"link_user_application_ip_address","schemaName":"public","x":249.0,"y":275.0,"alias":"link_user_application_ip_address","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null]],"mainNodeIndex":0}</simple>
|
||||
<simple>{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"link_user_application_ip_address","schemaName":"public","x":380.0,"y":227.0,"alias":"link_user_application_ip_address","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"link_user_application_ip_address","schemaName":"public","x":380.0,"y":227.0,"alias":"link_user_application_ip_address","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"link_user_application_ip_address":{"tableName":"link_user_application_ip_address","schemaName":"public","x":380.0,"y":227.0,"alias":"link_user_application_ip_address","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null]],"mainNodeIndex":0}</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</complex>
|
||||
</value>
|
||||
</entry>
|
||||
</complex>
|
||||
<implRef type="JAVA">
|
||||
<className>IpGridV2Service</className>
|
||||
<packageName>ru.micord.ervu.account_applications.component.service</packageName>
|
||||
</implRef>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
<scripts id="be8fe0e1-4909-4224-8664-be55168595c6">
|
||||
<properties>
|
||||
<entry>
|
||||
<key>columnSorts</key>
|
||||
<value>
|
||||
<item id="e296c9a4-8516-43d1-ae17-95529077dd19" removed="false">
|
||||
<value>
|
||||
<complex>
|
||||
<entry>
|
||||
<key>field</key>
|
||||
<value>
|
||||
<simple>{"schema":"public","table":"link_user_application_ip_address","entity":"link_user_application_ip_address","name":"ip_address"}</simple>
|
||||
</value>
|
||||
</entry>
|
||||
<entry>
|
||||
<key>sortOrder</key>
|
||||
<value>
|
||||
<simple>"ASC"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</complex>
|
||||
</value>
|
||||
</item>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
<scripts id="be8fe0e1-4909-4224-8664-be55168595c6"/>
|
||||
<scripts id="3f018695-895b-463b-9292-37d976a933b0">
|
||||
<classRef type="TS">
|
||||
<className>GridFormField</className>
|
||||
|
|
@ -4534,27 +4562,6 @@
|
|||
<container>false</container>
|
||||
<removed>true</removed>
|
||||
</children>
|
||||
<children id="e200392b-c9e6-4197-8fb4-3255508f58d3">
|
||||
<prototypeId>98594cec-0a9b-4cef-af09-e1b71cb2ad9e</prototypeId>
|
||||
<componentRootId>e200392b-c9e6-4197-8fb4-3255508f58d3</componentRootId>
|
||||
<name>AC_processor</name>
|
||||
<container>false</container>
|
||||
<removed>true</removed>
|
||||
</children>
|
||||
<children id="73a8ad00-8906-4677-a7b6-04942a3e9679">
|
||||
<prototypeId>98594cec-0a9b-4cef-af09-e1b71cb2ad9e</prototypeId>
|
||||
<componentRootId>73a8ad00-8906-4677-a7b6-04942a3e9679</componentRootId>
|
||||
<name>AC_creator</name>
|
||||
<container>false</container>
|
||||
<removed>true</removed>
|
||||
</children>
|
||||
<children id="86b06492-e4d1-45f5-97d0-cde7209d1add">
|
||||
<prototypeId>98594cec-0a9b-4cef-af09-e1b71cb2ad9e</prototypeId>
|
||||
<componentRootId>86b06492-e4d1-45f5-97d0-cde7209d1add</componentRootId>
|
||||
<name>AC_creator</name>
|
||||
<container>false</container>
|
||||
<removed>true</removed>
|
||||
</children>
|
||||
<children id="9e772048-b43f-42f1-a370-2519dd4f6ad7">
|
||||
<prototypeId>133ca212-09a6-413a-ac66-e2f6ce188f1f</prototypeId>
|
||||
<componentRootId>9e772048-b43f-42f1-a370-2519dd4f6ad7</componentRootId>
|
||||
|
|
|
|||
|
|
@ -941,7 +941,6 @@
|
|||
<componentRootId>d4485ba1-6ebe-4745-b661-8685332cfc22</componentRootId>
|
||||
<name>Tab container</name>
|
||||
<container>true</container>
|
||||
<expanded>false</expanded>
|
||||
<childrenReordered>false</childrenReordered>
|
||||
<scripts id="1c20b23e-f269-42ff-aa6f-ec2e7ff152cf"/>
|
||||
<scripts id="aba9b3cf-fe50-4149-84cd-ff7b6ed4e99d"/>
|
||||
|
|
@ -1604,7 +1603,6 @@
|
|||
<componentRootId>4b6acb44-bdc9-4015-872b-238d45ce643f</componentRootId>
|
||||
<name>Vbox_3</name>
|
||||
<container>true</container>
|
||||
<expanded>false</expanded>
|
||||
<childrenReordered>false</childrenReordered>
|
||||
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f">
|
||||
<properties>
|
||||
|
|
@ -1662,18 +1660,48 @@
|
|||
<entry>
|
||||
<key>graph</key>
|
||||
<value>
|
||||
<simple>{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"link_user_application_ip_address","schemaName":"public","x":249.0,"y":275.0,"alias":"link_user_application_ip_address","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"link_user_application_ip_address","schemaName":"public","x":249.0,"y":275.0,"alias":"link_user_application_ip_address","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"link_user_application_ip_address":{"tableName":"link_user_application_ip_address","schemaName":"public","x":249.0,"y":275.0,"alias":"link_user_application_ip_address","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null]],"mainNodeIndex":0}</simple>
|
||||
<simple>{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"link_user_application_ip_address","schemaName":"public","x":387.0,"y":254.0,"alias":"link_user_application_ip_address","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"link_user_application_ip_address","schemaName":"public","x":387.0,"y":254.0,"alias":"link_user_application_ip_address","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"link_user_application_ip_address":{"tableName":"link_user_application_ip_address","schemaName":"public","x":387.0,"y":254.0,"alias":"link_user_application_ip_address","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null]],"mainNodeIndex":0}</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</complex>
|
||||
</value>
|
||||
</entry>
|
||||
</complex>
|
||||
<implRef type="JAVA">
|
||||
<className>IpGridV2Service</className>
|
||||
<packageName>ru.micord.ervu.account_applications.component.service</packageName>
|
||||
</implRef>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
<scripts id="be8fe0e1-4909-4224-8664-be55168595c6">
|
||||
<properties>
|
||||
<entry>
|
||||
<key>columnSorts</key>
|
||||
<value>
|
||||
<item id="76b957b4-d215-4691-8bec-95d3b6403e77" removed="false">
|
||||
<value>
|
||||
<complex>
|
||||
<entry>
|
||||
<key>field</key>
|
||||
<value>
|
||||
<simple>{"schema":"public","table":"link_user_application_ip_address","entity":"link_user_application_ip_address","name":"ip_address"}</simple>
|
||||
</value>
|
||||
</entry>
|
||||
<entry>
|
||||
<key>sortOrder</key>
|
||||
<value>
|
||||
<simple>"ASC"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</complex>
|
||||
</value>
|
||||
</item>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
<scripts id="be8fe0e1-4909-4224-8664-be55168595c6"/>
|
||||
<scripts id="91768a69-9949-4346-a63d-2df11c486dac">
|
||||
<classRef type="TS">
|
||||
<className>GridFormField</className>
|
||||
|
|
|
|||
|
|
@ -3329,7 +3329,7 @@
|
|||
<entry>
|
||||
<key>graph</key>
|
||||
<value>
|
||||
<simple>{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"ip_directory","schemaName":"public","x":455.0,"y":191.0,"alias":"ip_directory","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"recruitment_ip","schemaName":"public","x":275.0,"y":164.0,"alias":"recruitment_ip","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"recruitment","schemaName":"public","x":88.0,"y":242.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"ip_directory","schemaName":"public","x":455.0,"y":191.0,"alias":"ip_directory","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment_ip","schemaName":"public","x":275.0,"y":164.0,"alias":"recruitment_ip","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment","schemaName":"public","x":88.0,"y":242.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment_ip":{"tableName":"recruitment_ip","schemaName":"public","x":275.0,"y":164.0,"alias":"recruitment_ip","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"public","x":88.0,"y":242.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"ip_directory":{"tableName":"ip_directory","schemaName":"public","x":455.0,"y":191.0,"alias":"ip_directory","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,{"refOnEntityName":"ip_directory","refToEntityName":"recruitment_ip","refToColumns":[{"schema":"public","table":"recruitment_ip","entity":"recruitment_ip","name":"ip_address"}],"refOnColumns":[{"schema":"public","table":"ip_directory","entity":"ip_directory","name":"ip_address"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null],[null,null,{"refOnEntityName":"recruitment_ip","refToEntityName":"recruitment","refToColumns":[{"schema":"public","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"public","table":"recruitment_ip","entity":"recruitment_ip","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}}],[null,null,null]],"mainNodeIndex":0}</simple>
|
||||
<simple>{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"ip_directory","schemaName":"public","x":490.0,"y":303.0,"alias":"ip_directory","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"recruitment_ip","schemaName":"public","x":334.0,"y":298.0,"alias":"recruitment_ip","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"recruitment","schemaName":"public","x":141.0,"y":298.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"ip_directory","schemaName":"public","x":490.0,"y":303.0,"alias":"ip_directory","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment_ip","schemaName":"public","x":334.0,"y":298.0,"alias":"recruitment_ip","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment","schemaName":"public","x":141.0,"y":298.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment_ip":{"tableName":"recruitment_ip","schemaName":"public","x":334.0,"y":298.0,"alias":"recruitment_ip","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"public","x":141.0,"y":298.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"ip_directory":{"tableName":"ip_directory","schemaName":"public","x":490.0,"y":303.0,"alias":"ip_directory","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,{"refOnEntityName":"ip_directory","refToEntityName":"recruitment_ip","refToColumns":[{"schema":"public","table":"recruitment_ip","entity":"recruitment_ip","name":"ip_address"}],"refOnColumns":[{"schema":"public","table":"ip_directory","entity":"ip_directory","name":"ip_address"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null],[null,null,{"refOnEntityName":"recruitment_ip","refToEntityName":"recruitment","refToColumns":[{"schema":"public","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"public","table":"recruitment_ip","entity":"recruitment_ip","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}}],[null,null,null]],"mainNodeIndex":0}</simple>
|
||||
</value>
|
||||
</entry>
|
||||
<entry>
|
||||
|
|
@ -3342,6 +3342,10 @@
|
|||
</value>
|
||||
</entry>
|
||||
</complex>
|
||||
<implRef type="JAVA">
|
||||
<className>IpFilterableGridService</className>
|
||||
<packageName>ru.micord.ervu.account_applications.component.service</packageName>
|
||||
</implRef>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
|
|
|
|||
|
|
@ -6306,7 +6306,7 @@
|
|||
<entry>
|
||||
<key>graph</key>
|
||||
<value>
|
||||
<simple>{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"ip_directory","schemaName":"public","x":455.0,"y":191.0,"alias":"ip_directory","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"recruitment_ip","schemaName":"public","x":275.0,"y":164.0,"alias":"recruitment_ip","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"recruitment","schemaName":"public","x":88.0,"y":242.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"ip_directory","schemaName":"public","x":455.0,"y":191.0,"alias":"ip_directory","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment_ip","schemaName":"public","x":275.0,"y":164.0,"alias":"recruitment_ip","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment","schemaName":"public","x":88.0,"y":242.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment_ip":{"tableName":"recruitment_ip","schemaName":"public","x":275.0,"y":164.0,"alias":"recruitment_ip","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"public","x":88.0,"y":242.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"ip_directory":{"tableName":"ip_directory","schemaName":"public","x":455.0,"y":191.0,"alias":"ip_directory","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,{"refOnEntityName":"ip_directory","refToEntityName":"recruitment_ip","refToColumns":[{"schema":"public","table":"recruitment_ip","entity":"recruitment_ip","name":"ip_address"}],"refOnColumns":[{"schema":"public","table":"ip_directory","entity":"ip_directory","name":"ip_address"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null],[null,null,{"refOnEntityName":"recruitment_ip","refToEntityName":"recruitment","refToColumns":[{"schema":"public","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"public","table":"recruitment_ip","entity":"recruitment_ip","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}}],[null,null,null]],"mainNodeIndex":0}</simple>
|
||||
<simple>{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"ip_directory","schemaName":"public","x":588.0,"y":283.0,"alias":"ip_directory","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"1":{"tableName":"recruitment_ip","schemaName":"public","x":421.0,"y":280.0,"alias":"recruitment_ip","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"2":{"tableName":"recruitment","schemaName":"public","x":235.0,"y":283.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"ip_directory","schemaName":"public","x":588.0,"y":283.0,"alias":"ip_directory","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment_ip","schemaName":"public","x":421.0,"y":280.0,"alias":"recruitment_ip","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},{"tableName":"recruitment","schemaName":"public","x":235.0,"y":283.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment_ip":{"tableName":"recruitment_ip","schemaName":"public","x":421.0,"y":280.0,"alias":"recruitment_ip","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"recruitment":{"tableName":"recruitment","schemaName":"public","x":235.0,"y":283.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"},"ip_directory":{"tableName":"ip_directory","schemaName":"public","x":588.0,"y":283.0,"alias":"ip_directory","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null,{"refOnEntityName":"ip_directory","refToEntityName":"recruitment_ip","refToColumns":[{"schema":"public","table":"recruitment_ip","entity":"recruitment_ip","name":"ip_address"}],"refOnColumns":[{"schema":"public","table":"ip_directory","entity":"ip_directory","name":"ip_address"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}},null],[null,null,{"refOnEntityName":"recruitment_ip","refToEntityName":"recruitment","refToColumns":[{"schema":"public","table":"recruitment","entity":"recruitment","name":"idm_id"}],"refOnColumns":[{"schema":"public","table":"recruitment_ip","entity":"recruitment_ip","name":"recruitment_id"}],"required":false,"cyclic":false,"conditionGroup":{"operator":"AND","conditions":[],"groups":[]}}],[null,null,null]],"mainNodeIndex":0}</simple>
|
||||
</value>
|
||||
</entry>
|
||||
<entry>
|
||||
|
|
@ -6319,6 +6319,10 @@
|
|||
</value>
|
||||
</entry>
|
||||
</complex>
|
||||
<implRef type="JAVA">
|
||||
<className>IpFilterableGridService</className>
|
||||
<packageName>ru.micord.ervu.account_applications.component.service</packageName>
|
||||
</implRef>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
|
|
|
|||
|
|
@ -2663,7 +2663,7 @@
|
|||
<entry>
|
||||
<key>fieldName</key>
|
||||
<value>
|
||||
<simple>"ipAddresses"</simple>
|
||||
<simple>"person.ipAddresses"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue