Merge branch 'feature/SUPPORT-8957_manage_users' into SUPPORT-8943_seamlessness
# Conflicts: # resources/src/main/resources/business-model/Список заявок на пользователя/Обработка заявки на добавление пользователя.page
This commit is contained in:
commit
2abae2162f
27 changed files with 709 additions and 1 deletions
|
|
@ -216,6 +216,14 @@
|
|||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.validation</groupId>
|
||||
<artifactId>validation-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<finalName>${project.parent.artifactId}</finalName>
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ import org.springframework.context.annotation.FilterType;
|
|||
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
||||
|
||||
/**
|
||||
|
|
@ -75,4 +76,9 @@ public class AppConfig {
|
|||
liquibase.setChangeLog("classpath:config/changelog-master.xml");
|
||||
return liquibase;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public RestTemplate restTemplate() {
|
||||
return new RestTemplate();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,121 @@
|
|||
package ru.micord.ervu.account_applications.controller;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.HttpEntity;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.client.HttpClientErrorException;
|
||||
import org.springframework.web.client.HttpServerErrorException;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
import org.springframework.web.util.UriComponentsBuilder;
|
||||
import ru.micord.ervu.account_applications.dto.Account;
|
||||
import ru.micord.ervu.account_applications.dto.ProcessRequest;
|
||||
import ru.micord.ervu.account_applications.dto.create.CreateProcessRequest;
|
||||
import ru.micord.ervu.account_applications.dto.create.CreateUserDto;
|
||||
import ru.micord.ervu.account_applications.dto.create.Credential;
|
||||
import ru.micord.ervu.account_applications.dto.create.CreateData;
|
||||
import ru.micord.ervu.account_applications.dto.Person;
|
||||
import ru.micord.ervu.account_applications.dto.ProcessResponse;
|
||||
import ru.micord.ervu.account_applications.dto.Role;
|
||||
import ru.micord.ervu.account_applications.dto.Roles;
|
||||
import ru.micord.ervu.account_applications.dto.deactivate.DeactivateData;
|
||||
import ru.micord.ervu.account_applications.dto.deactivate.DeactivateProcessRequest;
|
||||
import ru.micord.ervu.account_applications.dto.edit.EditData;
|
||||
import ru.micord.ervu.account_applications.dto.edit.EditPersonDto;
|
||||
import ru.micord.ervu.account_applications.dto.edit.EditPersonProcessRequest;
|
||||
import ru.micord.ervu.account_applications.enums.ProcessKey;
|
||||
import ru.micord.ervu.account_applications.security.context.SecurityContext;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/user")
|
||||
public class AdminController {
|
||||
private static final String PROCESS_START_PATH = "/service/wf/service/start";
|
||||
|
||||
private final RestTemplate restTemplate;
|
||||
private final SecurityContext securityContext;
|
||||
|
||||
@Value("${ervu.url}")
|
||||
private String ervuUrl;
|
||||
|
||||
public AdminController(RestTemplate restTemplate, SecurityContext securityContext) {
|
||||
this.restTemplate = restTemplate;
|
||||
this.securityContext = securityContext;
|
||||
}
|
||||
|
||||
@PostMapping(value = "/create", consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<?> create(@RequestBody @Valid CreateUserDto dto) {
|
||||
Credential credential = new Credential(dto.username());
|
||||
Account account = new Account(dto.userDomain(), dto.position());
|
||||
Person person = new Person(dto.surname(), dto.firstname(), dto.middlename(), dto.sex(),
|
||||
dto.email(), dto.birthdate(), dto.snils(), dto.ipAddresses());
|
||||
List<Role> rolesList = dto.roles()
|
||||
.stream()
|
||||
.map(role -> new Role(role, ""))
|
||||
.collect(Collectors.toList());
|
||||
Roles roles = new Roles(rolesList);
|
||||
CreateProcessRequest request = new CreateProcessRequest(
|
||||
ProcessKey.CREATE.getValue(), getUserId(), new CreateData(credential, account, person, roles));
|
||||
return doRequest(request);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/edit", consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<?> edit(@RequestBody @Valid EditPersonDto dto) {
|
||||
Person person = new Person(dto.id(), dto.firstname(), dto.surname(), dto.middlename(), dto.sex(),
|
||||
dto.email(), dto.birthdate(), dto.snils(), dto.ipAddresses());
|
||||
EditPersonProcessRequest request = new EditPersonProcessRequest(ProcessKey.EDIT_PERSON.getValue(),
|
||||
getUserId(), new EditData(dto.accountId(), person));
|
||||
return doRequest(request);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/deactivate", consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<?> deactivate(@RequestBody DeactivateData data) {
|
||||
DeactivateProcessRequest request = new DeactivateProcessRequest(ProcessKey.DEACTIVATE.getValue(),
|
||||
getUserId(), data);
|
||||
return doRequest(request);
|
||||
}
|
||||
|
||||
private <R> ResponseEntity<?> doRequest(ProcessRequest<R> request) {
|
||||
HttpEntity<ProcessRequest<R>> entity = setEntity(getToken(), request);
|
||||
URI uri = UriComponentsBuilder.fromHttpUrl(ervuUrl)
|
||||
.path(PROCESS_START_PATH)
|
||||
.build()
|
||||
.toUri();
|
||||
|
||||
try {
|
||||
return restTemplate.postForEntity(uri, entity, ProcessResponse.class);
|
||||
}
|
||||
catch (HttpClientErrorException | HttpServerErrorException e) {
|
||||
return new ResponseEntity<>(e.getMessage(), e.getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
private <R> HttpEntity<R> setEntity(String token, R body) {
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setBearerAuth(token);
|
||||
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||
return new HttpEntity<>(body, headers);
|
||||
}
|
||||
|
||||
private String getUserId() {
|
||||
return securityContext.getUserId();
|
||||
}
|
||||
|
||||
//TODO after SUPPORT-8975
|
||||
private String getToken() {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package ru.micord.ervu.account_applications.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public record Account(String schema, @JsonProperty("user-domain") String userDomain,
|
||||
String position, boolean enabled, boolean esiaAccount,
|
||||
String start, String finish) {
|
||||
|
||||
public Account(String userDomain, String position) {
|
||||
this("Account", userDomain, position, true, false, "", "");
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package ru.micord.ervu.account_applications.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public record Person(String id, String surname, String firstname, String middlename, String sex,
|
||||
String email, String birthdate, String snils, List<String> ipAddresses,
|
||||
boolean secondFactorEnabled) {
|
||||
|
||||
public Person(String surname, String firstname, String middlename, String sex, String email,
|
||||
String birthdate, String snils, List<String> ipAddresses) {
|
||||
this("", surname, firstname, middlename, sex, email, birthdate, snils, ipAddresses);
|
||||
}
|
||||
|
||||
public Person(String id, String surname, String firstname, String middlename, String sex,
|
||||
String email, String birthdate, String snils, List<String> ipAddresses) {
|
||||
this(id, surname, firstname, middlename, sex, email, birthdate, snils, ipAddresses, false);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package ru.micord.ervu.account_applications.dto;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public abstract class ProcessRequest<T> {
|
||||
|
||||
protected final String processKey;
|
||||
protected final String userId;
|
||||
protected final T data;
|
||||
|
||||
public ProcessRequest(String processKey, String userId, T data) {
|
||||
this.processKey = processKey;
|
||||
this.userId = userId;
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public String getProcessKey() {
|
||||
return processKey;
|
||||
}
|
||||
|
||||
public String getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public T getData() {
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package ru.micord.ervu.account_applications.dto;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public record ProcessResponse(String code, String msg, String traceId) {
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package ru.micord.ervu.account_applications.dto;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public record Role(String id, String finish) {
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
package ru.micord.ervu.account_applications.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public record Roles(List<Role> rolesList) {
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package ru.micord.ervu.account_applications.dto.create;
|
||||
|
||||
import ru.micord.ervu.account_applications.dto.Account;
|
||||
import ru.micord.ervu.account_applications.dto.Person;
|
||||
import ru.micord.ervu.account_applications.dto.Roles;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public record CreateData(Credential credential, Account account, Person person, Roles roles) {
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package ru.micord.ervu.account_applications.dto.create;
|
||||
|
||||
import ru.micord.ervu.account_applications.dto.ProcessRequest;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public class CreateProcessRequest extends ProcessRequest<CreateData> {
|
||||
|
||||
public CreateProcessRequest(String processKey, String userId, CreateData data) {
|
||||
super(processKey, userId, data);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package ru.micord.ervu.account_applications.dto.create;
|
||||
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public record CreateUserDto(@NotNull String firstname, @NotNull String surname, String middlename,
|
||||
String birthdate, String sex, String position, String email,
|
||||
@NotNull String username, @NotNull String snils,
|
||||
@NotNull @NotEmpty String userDomain,
|
||||
String start, String finish,
|
||||
List<String> roles, List<String> ipAddresses) {
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package ru.micord.ervu.account_applications.dto.create;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public record Credential(String userName) {
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
package ru.micord.ervu.account_applications.dto.deactivate;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public record DeactivateData(List<String> accountIdList) {
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package ru.micord.ervu.account_applications.dto.deactivate;
|
||||
|
||||
import ru.micord.ervu.account_applications.dto.ProcessRequest;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public class DeactivateProcessRequest extends ProcessRequest<DeactivateData> {
|
||||
|
||||
public DeactivateProcessRequest(String processKey, String userId, DeactivateData data) {
|
||||
super(processKey, userId, data);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
package ru.micord.ervu.account_applications.dto.edit;
|
||||
|
||||
import ru.micord.ervu.account_applications.dto.Person;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public record EditData(String accountId, Person personData) {
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package ru.micord.ervu.account_applications.dto.edit;
|
||||
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public record EditPersonDto(@NotNull String accountId, @NotNull String id,
|
||||
@NotNull String firstname, @NotNull String surname, String middlename,
|
||||
String birthdate, String sex, String position, String email,
|
||||
@NotNull String snils, List<String> ipAddresses) {
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package ru.micord.ervu.account_applications.dto.edit;
|
||||
|
||||
import ru.micord.ervu.account_applications.dto.ProcessRequest;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public class EditPersonProcessRequest extends ProcessRequest<EditData> {
|
||||
|
||||
public EditPersonProcessRequest(String processKey, String userId, EditData data) {
|
||||
super(processKey, userId, data);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package ru.micord.ervu.account_applications.enums;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public enum ProcessKey {
|
||||
CREATE("milBaseCreateAccountProcess"),
|
||||
EDIT_PERSON("milBaseEditAccountPersonIDMProcess"),
|
||||
EDIT_ACCOUNT("milBaseEditAccountIDMProcess"),
|
||||
EDIT_ROLES("milBaseEditAccountRolesIDMSubProcess"),
|
||||
DEACTIVATE("milBaseMassDeActivateAccountIDMProcess");
|
||||
|
||||
private final String value;
|
||||
|
||||
ProcessKey(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<jboss-deployment-structure>
|
||||
<deployment>
|
||||
<exclusions>
|
||||
<module name="com.fasterxml.jackson.core.jackson-core" />
|
||||
<module name="com.fasterxml.jackson.core.jackson-databind" />
|
||||
<module name="com.fasterxml.jackson.core.jackson-annotations" />
|
||||
<module name="com.fasterxml.jackson.dataformat.jackson-dataformat-yaml" />
|
||||
<module name="com.fasterxml.jackson.datatype.jackson-datatype-jdk8" />
|
||||
<module name="com.fasterxml.jackson.datatype.jackson-datatype-jsr310" />
|
||||
<module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
|
||||
<module name="org.jboss.resteasy.resteasy-jackson2-provider" />
|
||||
</exclusions>
|
||||
</deployment>
|
||||
</jboss-deployment-structure>
|
||||
|
|
@ -56,6 +56,7 @@
|
|||
<property name="fias.enable" value="false"/>
|
||||
<property name="registration.enabled" value="false"/>
|
||||
<property name="com.arjuna.ats.arjuna.allowMultipleLastResources" value="true"/>
|
||||
<property name="ervu.url" value="https://ervu-uat.test.gosuslugi.ru"/>
|
||||
</system-properties>
|
||||
<management>
|
||||
<audit-log>
|
||||
|
|
|
|||
|
|
@ -11,3 +11,5 @@ DB_SEC_PASSWORD=ervu_account_applications
|
|||
DB_SEC_HOST=10.10.31.118
|
||||
DB_SEC_PORT=5432
|
||||
DB_SEC_NAME=account_applications
|
||||
|
||||
ERVU_URL=https://ervu-uat.test.gosuslugi.ru
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
import {
|
||||
AnalyticalScope,
|
||||
Behavior,
|
||||
NotNull,
|
||||
SaveButton
|
||||
} from "@webbpm/base-package";
|
||||
import {HttpClient} from "@angular/common/http";
|
||||
import {FormField} from "../field/FormField";
|
||||
import {AccountAction} from "../enum/AccountAction";
|
||||
import {AuthorizationService} from "../../../modules/app/service/authorization.service";
|
||||
|
||||
@AnalyticalScope(SaveButton)
|
||||
export class UserManagementService extends Behavior {
|
||||
|
||||
@NotNull()
|
||||
public action: AccountAction;
|
||||
|
||||
private button: SaveButton;
|
||||
private httpClient: HttpClient;
|
||||
private onClickFunction: Function;
|
||||
|
||||
initialize() {
|
||||
super.initialize();
|
||||
this.button = this.getScript(SaveButton);
|
||||
this.httpClient = this.injector.get(HttpClient);
|
||||
let authService = this.injector.get(AuthorizationService);
|
||||
this.onClickFunction = () => {
|
||||
if (!authService.hasRole('security_administrator')) {
|
||||
return;
|
||||
}
|
||||
let jsonObj = this.collectData();
|
||||
|
||||
switch (this.action) {
|
||||
case AccountAction.CREATE:
|
||||
this.doRequest("user/create", jsonObj);
|
||||
break;
|
||||
case AccountAction.EDIT:
|
||||
this.doRequest("user/edit", jsonObj);
|
||||
break;
|
||||
case AccountAction.DEACTIVATE:
|
||||
this.doRequest("user/deactivate", jsonObj);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private collectData(): any {
|
||||
let jsonObj = {};
|
||||
let fields: FormField[] = this.button.form.getScriptsInChildren(FormField);
|
||||
|
||||
for (let field of fields) {
|
||||
jsonObj[`${field.name}`] = field.getValue();
|
||||
}
|
||||
return jsonObj;
|
||||
}
|
||||
|
||||
private doRequest(url: string, jsonObj: any): void {
|
||||
this.httpClient.post(url, jsonObj).toPromise()
|
||||
.catch(() => {
|
||||
//TODO change status
|
||||
});
|
||||
}
|
||||
|
||||
bindEvents() {
|
||||
super.bindEvents();
|
||||
this.button.addClickListener(this.onClickFunction);
|
||||
}
|
||||
|
||||
unbindEvents() {
|
||||
super.unbindEvents();
|
||||
this.button.removeClickListener(this.onClickFunction);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
export enum AccountAction {
|
||||
CREATE = "CREATE",
|
||||
EDIT = "EDIT",
|
||||
DEACTIVATE = "DEACTIVATE"
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
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();
|
||||
}
|
||||
}
|
||||
10
pom.xml
10
pom.xml
|
|
@ -286,6 +286,16 @@
|
|||
<version>${webbpm-platform.version}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.validation</groupId>
|
||||
<artifactId>validation-api</artifactId>
|
||||
<version>2.0.1.Final</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<version>9.0.0.CR1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<repositories>
|
||||
|
|
|
|||
|
|
@ -1549,6 +1549,7 @@
|
|||
<componentRootId>823d1a90-4962-4b0a-aa92-f4071ac8a69d</componentRootId>
|
||||
<name>Text-role</name>
|
||||
<container>false</container>
|
||||
<expanded>false</expanded>
|
||||
<childrenReordered>false</childrenReordered>
|
||||
<scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c">
|
||||
<properties>
|
||||
|
|
@ -2470,6 +2471,22 @@
|
|||
</properties>
|
||||
</scripts>
|
||||
<scripts id="d9ac3145-9d66-42bd-9f24-1c3d0d2e31d0"/>
|
||||
<scripts id="a95c2a70-a49d-48be-8dda-add384ec0f07">
|
||||
<classRef type="TS">
|
||||
<className>FormField</className>
|
||||
<packageName>account_applications.component.field</packageName>
|
||||
</classRef>
|
||||
<enabled>true</enabled>
|
||||
<expanded>true</expanded>
|
||||
<properties>
|
||||
<entry>
|
||||
<key>name</key>
|
||||
<value>
|
||||
<simple>"surname"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
</children>
|
||||
<children id="2f4f2e66-4195-49b4-83ef-2bdc621b4224">
|
||||
<prototypeId>133ca212-09a6-413a-ac66-e2f6ce188f1f</prototypeId>
|
||||
|
|
@ -2532,6 +2549,22 @@
|
|||
</properties>
|
||||
</scripts>
|
||||
<scripts id="d9ac3145-9d66-42bd-9f24-1c3d0d2e31d0"/>
|
||||
<scripts id="64bef2d0-a436-4a65-8d33-654833453952">
|
||||
<classRef type="TS">
|
||||
<className>FormField</className>
|
||||
<packageName>account_applications.component.field</packageName>
|
||||
</classRef>
|
||||
<enabled>true</enabled>
|
||||
<expanded>true</expanded>
|
||||
<properties>
|
||||
<entry>
|
||||
<key>name</key>
|
||||
<value>
|
||||
<simple>"firstname"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
</children>
|
||||
<children id="8ff4fc15-f4c1-4643-8317-4d1109135e4b">
|
||||
<prototypeId>133ca212-09a6-413a-ac66-e2f6ce188f1f</prototypeId>
|
||||
|
|
@ -2588,6 +2621,22 @@
|
|||
</properties>
|
||||
</scripts>
|
||||
<scripts id="d9ac3145-9d66-42bd-9f24-1c3d0d2e31d0"/>
|
||||
<scripts id="3205d741-3a7a-4da0-b2e5-b6e474e7236f">
|
||||
<classRef type="TS">
|
||||
<className>FormField</className>
|
||||
<packageName>account_applications.component.field</packageName>
|
||||
</classRef>
|
||||
<enabled>true</enabled>
|
||||
<expanded>true</expanded>
|
||||
<properties>
|
||||
<entry>
|
||||
<key>name</key>
|
||||
<value>
|
||||
<simple>"middlename"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
</children>
|
||||
<children id="10290fda-7b79-431b-b64a-2c16458f1b10">
|
||||
<prototypeId>bce312bd-0c82-45e5-89dc-a1af90431c18</prototypeId>
|
||||
|
|
@ -2673,6 +2722,22 @@
|
|||
<simple>{"schema":"public","table":"user_application_list","entity":"user_application_list","name":"sex"}</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
<scripts id="bf2889bb-32ec-4cf8-9818-5156ec4e2486">
|
||||
<classRef type="TS">
|
||||
<className>FormField</className>
|
||||
<packageName>account_applications.component.field</packageName>
|
||||
</classRef>
|
||||
<enabled>true</enabled>
|
||||
<expanded>true</expanded>
|
||||
<properties>
|
||||
<entry>
|
||||
<key>name</key>
|
||||
<value>
|
||||
<simple>"sex"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
</children>
|
||||
|
|
@ -2760,6 +2825,22 @@
|
|||
<simple>{"schema":"public","table":"user_application_list","entity":"user_application_list","name":"birth_date"}</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
<scripts id="b4b00780-a750-4c9e-837f-96dd376072a6">
|
||||
<classRef type="TS">
|
||||
<className>FormField</className>
|
||||
<packageName>account_applications.component.field</packageName>
|
||||
</classRef>
|
||||
<enabled>true</enabled>
|
||||
<expanded>true</expanded>
|
||||
<properties>
|
||||
<entry>
|
||||
<key>name</key>
|
||||
<value>
|
||||
<simple>"birthdate"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
</children>
|
||||
|
|
@ -2837,6 +2918,22 @@
|
|||
</properties>
|
||||
</scripts>
|
||||
<scripts id="d9ac3145-9d66-42bd-9f24-1c3d0d2e31d0"/>
|
||||
<scripts id="2f7f56bd-98c7-40f0-a7be-da38ebe9ae56">
|
||||
<classRef type="TS">
|
||||
<className>FormField</className>
|
||||
<packageName>account_applications.component.field</packageName>
|
||||
</classRef>
|
||||
<enabled>true</enabled>
|
||||
<expanded>true</expanded>
|
||||
<properties>
|
||||
<entry>
|
||||
<key>name</key>
|
||||
<value>
|
||||
<simple>"username"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
</children>
|
||||
<children id="b838c4d9-b8f2-4142-96fe-240540a4802e">
|
||||
<prototypeId>312c9663-86b4-4672-97bd-67d313585c00</prototypeId>
|
||||
|
|
@ -2999,6 +3096,22 @@
|
|||
</properties>
|
||||
</scripts>
|
||||
<scripts id="d9ac3145-9d66-42bd-9f24-1c3d0d2e31d0"/>
|
||||
<scripts id="9e9e2c76-69b9-4991-baa1-73570dfb7ab7">
|
||||
<classRef type="TS">
|
||||
<className>FormField</className>
|
||||
<packageName>account_applications.component.field</packageName>
|
||||
</classRef>
|
||||
<enabled>true</enabled>
|
||||
<expanded>true</expanded>
|
||||
<properties>
|
||||
<entry>
|
||||
<key>name</key>
|
||||
<value>
|
||||
<simple>"position"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
</children>
|
||||
<children id="c8f3dc99-0552-4dce-aadb-94cde674f77d">
|
||||
<prototypeId>98594cec-0a9b-4cef-af09-e1b71cb2ad9e</prototypeId>
|
||||
|
|
@ -3093,6 +3206,22 @@
|
|||
</properties>
|
||||
</scripts>
|
||||
<scripts id="d9ac3145-9d66-42bd-9f24-1c3d0d2e31d0"/>
|
||||
<scripts id="bcf7261b-3951-4594-bd3a-92fa96f20a50">
|
||||
<classRef type="TS">
|
||||
<className>FormField</className>
|
||||
<packageName>account_applications.component.field</packageName>
|
||||
</classRef>
|
||||
<enabled>true</enabled>
|
||||
<expanded>true</expanded>
|
||||
<properties>
|
||||
<entry>
|
||||
<key>name</key>
|
||||
<value>
|
||||
<simple>"snils"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
</children>
|
||||
</children>
|
||||
</children>
|
||||
|
|
@ -3143,7 +3272,7 @@
|
|||
<entry>
|
||||
<key>businessIdColumn</key>
|
||||
<value>
|
||||
<simple>{"schema":"public","table":"recruitment","entity":"recruitment","name":"fullname"}</simple>
|
||||
<simple>{"schema":"public","table":"recruitment","entity":"recruitment","name":"idm_id"}</simple>
|
||||
</value>
|
||||
</entry>
|
||||
<entry>
|
||||
|
|
@ -3194,6 +3323,22 @@
|
|||
<key>columnForSave</key>
|
||||
<value>
|
||||
<simple>{"schema":"public","table":"user_application_list","entity":"user_application_list","name":"recruitment_id"}</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
<scripts id="93cced4c-2537-4583-95cf-db5937d58efd">
|
||||
<classRef type="TS">
|
||||
<className>FormField</className>
|
||||
<packageName>account_applications.component.field</packageName>
|
||||
</classRef>
|
||||
<enabled>true</enabled>
|
||||
<expanded>true</expanded>
|
||||
<properties>
|
||||
<entry>
|
||||
<key>name</key>
|
||||
<value>
|
||||
<simple>"userDomain"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
|
|
@ -3399,6 +3544,34 @@
|
|||
</properties>
|
||||
</scripts>
|
||||
<scripts id="be8fe0e1-4909-4224-8664-be55168595c6"/>
|
||||
<scripts id="79126393-0edc-40b0-89d7-4238c392e3de">
|
||||
<classRef type="TS">
|
||||
<className>FormField</className>
|
||||
<packageName>account_applications.component.field</packageName>
|
||||
</classRef>
|
||||
<enabled>true</enabled>
|
||||
<expanded>true</expanded>
|
||||
<properties>
|
||||
<entry>
|
||||
<key>columnId</key>
|
||||
<value>
|
||||
<simple>"user_group$name"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
<entry>
|
||||
<key>gridValue</key>
|
||||
<value>
|
||||
<simple>true</simple>
|
||||
</value>
|
||||
</entry>
|
||||
<entry>
|
||||
<key>name</key>
|
||||
<value>
|
||||
<simple>"roles"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
<children id="8a4be27e-9e06-466a-9d96-822df62a1570">
|
||||
<prototypeId>364c8faa-5e56-46cd-9203-d2ec6ef2dc74</prototypeId>
|
||||
<componentRootId>8a4be27e-9e06-466a-9d96-822df62a1570</componentRootId>
|
||||
|
|
@ -3616,6 +3789,34 @@
|
|||
</properties>
|
||||
</scripts>
|
||||
<scripts id="be8fe0e1-4909-4224-8664-be55168595c6"/>
|
||||
<scripts id="e6845ea7-23e8-4042-b73b-255707d5c740">
|
||||
<classRef type="TS">
|
||||
<className>FormField</className>
|
||||
<packageName>account_applications.component.field</packageName>
|
||||
</classRef>
|
||||
<enabled>true</enabled>
|
||||
<expanded>true</expanded>
|
||||
<properties>
|
||||
<entry>
|
||||
<key>columnId</key>
|
||||
<value>
|
||||
<simple>"link_user_application_ip_address$ip_address"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
<entry>
|
||||
<key>gridValue</key>
|
||||
<value>
|
||||
<simple>true</simple>
|
||||
</value>
|
||||
</entry>
|
||||
<entry>
|
||||
<key>name</key>
|
||||
<value>
|
||||
<simple>"ipAddresses"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
<children id="a062f520-09a7-42bc-a331-7546913530e8">
|
||||
<prototypeId>364c8faa-5e56-46cd-9203-d2ec6ef2dc74</prototypeId>
|
||||
<componentRootId>a062f520-09a7-42bc-a331-7546913530e8</componentRootId>
|
||||
|
|
@ -9700,6 +9901,22 @@
|
|||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
<scripts id="0c2a0e80-ab66-469c-a97e-0dd1b0f808dc">
|
||||
<classRef type="TS">
|
||||
<className>UserManagementService</className>
|
||||
<packageName>account_applications.component.button</packageName>
|
||||
</classRef>
|
||||
<enabled>true</enabled>
|
||||
<expanded>true</expanded>
|
||||
<properties>
|
||||
<entry>
|
||||
<key>action</key>
|
||||
<value>
|
||||
<simple>"CREATE"</simple>
|
||||
</value>
|
||||
</entry>
|
||||
</properties>
|
||||
</scripts>
|
||||
</children>
|
||||
<children id="7ed531bc-a941-43a9-8cf7-31d32dd6e0cd">
|
||||
<prototypeId>c8dfe691-a84a-48da-b79e-6298d90db71d</prototypeId>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue