Merge branch 'SUPPORT-8943_seamlessness' into develop
This commit is contained in:
commit
e4b2e0d92e
161 changed files with 12074 additions and 1221 deletions
|
|
@ -1,8 +1,12 @@
|
|||
import java.time.Duration;
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonFactory;
|
||||
import com.fasterxml.jackson.core.StreamReadConstraints;
|
||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||
import liquibase.integration.spring.SpringLiquibase;
|
||||
import net.javacrumbs.shedlock.core.LockProvider;
|
||||
import net.javacrumbs.shedlock.provider.jdbctemplate.JdbcTemplateLockProvider;
|
||||
|
|
@ -14,6 +18,7 @@ import org.springframework.context.annotation.Bean;
|
|||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.EnableAspectJAutoProxy;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.context.annotation.FilterType;
|
||||
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
|
||||
import org.springframework.retry.annotation.EnableRetry;
|
||||
|
|
@ -87,8 +92,20 @@ public class AppConfig {
|
|||
}
|
||||
|
||||
@Bean
|
||||
public ObjectMapper objectMapper() {
|
||||
return new ObjectMapper()
|
||||
.configure(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE, true);
|
||||
@Primary
|
||||
public ObjectMapper jacksonObjectMapper() {
|
||||
JsonFactory factory = JsonFactory.builder()
|
||||
.streamReadConstraints(
|
||||
StreamReadConstraints.builder()
|
||||
.maxStringLength(100_000_000)
|
||||
.build())
|
||||
.build();
|
||||
|
||||
return new ObjectMapper(factory)
|
||||
.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)
|
||||
.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true)
|
||||
.configure(DeserializationFeature.READ_ENUMS_USING_TO_STRING, true)
|
||||
.configure(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE, true)
|
||||
.registerModule(new JavaTimeModule());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ public class EnumColumnFormatter implements Formatter {
|
|||
strObjectToStringMapping.put("EDIT_USER_ACCOUNT", "Изменение учетной записи пользователя");
|
||||
strObjectToStringMapping.put("EDIT_USER_ROLES", "Изменение ролей пользователя");
|
||||
strObjectToStringMapping.put("BLOCK_USER", "Деактивация пользователя");
|
||||
strObjectToStringMapping.put("UNBLOCK_USER", "Активация пользователя");
|
||||
strObjectToStringMapping.put("RESET_PASSWORD", "Сброс пароля пользователя");
|
||||
strObjectToStringMapping.put("MALE", "Мужской");
|
||||
strObjectToStringMapping.put("FEMALE", "Женский");
|
||||
|
|
|
|||
|
|
@ -57,6 +57,12 @@ public class RecruitmentDao {
|
|||
.orderBy(DSL.field(DSL.name("recruitment_hierarchy", "depth")).asc())
|
||||
.fetchInto(String.class);
|
||||
}
|
||||
|
||||
public List<String> getAllRecruitmentIds() {
|
||||
return dslContext.select(Recruitment.RECRUITMENT.IDM_ID)
|
||||
.from(Recruitment.RECRUITMENT)
|
||||
.fetch(Recruitment.RECRUITMENT.IDM_ID);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
package ru.micord.ervu.account_applications.component.exception;
|
||||
|
||||
/**
|
||||
* @author Adel Kalimullin
|
||||
*/
|
||||
public class ApiResponseException extends RuntimeException{
|
||||
public ApiResponseException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
public ApiResponseException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
}
|
||||
}
|
||||
|
|
@ -20,6 +20,7 @@ import org.springframework.beans.factory.annotation.Value;
|
|||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.util.UriComponentsBuilder;
|
||||
import ru.micord.ervu.account_applications.component.exception.ApiResponseException;
|
||||
import ru.micord.ervu.account_applications.component.exception.UserDataLoadException;
|
||||
import ru.micord.ervu.account_applications.component.field.persist.filter.StaticFilterComponent;
|
||||
import ru.micord.ervu.account_applications.component.model.dto.GridServiceRequest;
|
||||
|
|
@ -95,6 +96,14 @@ public class ErvuUserGridLoadService extends Behavior implements GridService {
|
|||
HttpResponse<String> response = httpClient.send(request,
|
||||
HttpResponse.BodyHandlers.ofString()
|
||||
);
|
||||
|
||||
if (response.statusCode() != 200) {
|
||||
throw new ApiResponseException(
|
||||
String.format("Некорректный статус ответа. Статус: %d. Тело ответа: %s.",
|
||||
response.statusCode(), response.body())
|
||||
);
|
||||
}
|
||||
|
||||
return objectMapper.readValue(response.body(),
|
||||
new TypeReference<GridServiceResponse<User>>() {
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,13 +4,17 @@ import java.util.ArrayList;
|
|||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
|
||||
import component.field.persist.filter.FilterControl;
|
||||
import model.Filter;
|
||||
import model.grid.GridRows;
|
||||
import model.grid.SortInfo;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.micord.ervu.account_applications.component.dao.RecruitmentDao;
|
||||
import ru.micord.ervu.account_applications.security.model.jwt.UserSession;
|
||||
import ru.micord.ervu.account_applications.security.model.role.ErvuRoleAuthority;
|
||||
import service.GridV2ServiceImpl;
|
||||
|
||||
import ru.cg.webbpm.modules.database.api.dao.option.LoadOptions;
|
||||
|
|
@ -35,6 +39,8 @@ public class RecruitmentGridService extends GridV2ServiceImpl {
|
|||
@LocalGraphSource(sourceFieldName = "loadDao")
|
||||
@NotNull
|
||||
public EntityColumn recruitmentColumn;
|
||||
@Value("${ervu.role.admin:security_administrator}")
|
||||
private String ervuRoleAuthority;
|
||||
|
||||
public RecruitmentGridService(RecruitmentDao recruitmentDao, SecurityContext securityContext) {
|
||||
this.recruitmentDao = recruitmentDao;
|
||||
|
|
@ -43,13 +49,21 @@ public class RecruitmentGridService extends GridV2ServiceImpl {
|
|||
|
||||
@Override
|
||||
public GridRows loadData(Integer offset, Integer limit, Filter[] filters, SortInfo[] sortInfos) {
|
||||
List<Filter> updatedFilters = new ArrayList<>(Arrays.asList(filters));
|
||||
Optional<Filter> recruitmentFilterOpt = findRecruitmentFilter(updatedFilters);
|
||||
|
||||
List<String> recruitmentIds = recruitmentFilterOpt.map(
|
||||
filter -> getChildRecruitmentIds(updatedFilters, filter))
|
||||
.orElseGet(this::getRecruitmentIdsForCurrentUser);
|
||||
|
||||
UserSession userSession = securityContext.getUserSession();
|
||||
Set<ErvuRoleAuthority> roles = userSession.roles();
|
||||
List<String> recruitmentIds;
|
||||
List<Filter> updatedFilters;
|
||||
if (ervuRoleAuthority != null && roles.stream().anyMatch(role -> role.getAuthority().equals(ervuRoleAuthority))) {
|
||||
updatedFilters = new ArrayList<>();
|
||||
recruitmentIds = getAllRecruitmentIds();
|
||||
}
|
||||
else {
|
||||
updatedFilters = new ArrayList<>(Arrays.asList(filters));
|
||||
Optional<Filter> recruitmentFilterOpt = findRecruitmentFilter(updatedFilters);
|
||||
recruitmentIds = recruitmentFilterOpt.map(
|
||||
filter -> getChildRecruitmentIds(updatedFilters, filter))
|
||||
.orElseGet(this::getRecruitmentIdsForCurrentUser);
|
||||
}
|
||||
LoadOptions options = getOptions(offset, limit, updatedFilters.toArray(new Filter[0]),
|
||||
sortInfos
|
||||
);
|
||||
|
|
@ -78,5 +92,8 @@ public class RecruitmentGridService extends GridV2ServiceImpl {
|
|||
private EntityFilter getEntityFilterForRecruitmentIds(List<String> recruitmentIds) {
|
||||
return new EntityFilter(recruitmentIds, FilterOperation.IN, this.recruitmentColumn);
|
||||
}
|
||||
}
|
||||
|
||||
private List<String> getAllRecruitmentIds() {
|
||||
return recruitmentDao.getAllRecruitmentIds();
|
||||
}
|
||||
}
|
||||
|
|
@ -32,9 +32,9 @@ 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.DeactivateDto;
|
||||
import ru.micord.ervu.account_applications.dto.deactivate.DeactivateProcessRequest;
|
||||
import ru.micord.ervu.account_applications.dto.activation.ChangeActivationData;
|
||||
import ru.micord.ervu.account_applications.dto.activation.ChangeActivationDto;
|
||||
import ru.micord.ervu.account_applications.dto.activation.ChangeActivationProcessRequest;
|
||||
import ru.micord.ervu.account_applications.dto.edit.EditAccountDto;
|
||||
import ru.micord.ervu.account_applications.dto.edit.EditData;
|
||||
import ru.micord.ervu.account_applications.dto.edit.EditRolesDto;
|
||||
|
|
@ -44,11 +44,12 @@ import ru.micord.ervu.account_applications.dto.password.ResetPasswordData;
|
|||
import ru.micord.ervu.account_applications.dto.password.ResetPasswordDto;
|
||||
import ru.micord.ervu.account_applications.dto.password.ResetPasswordProcessRequest;
|
||||
import ru.micord.ervu.account_applications.dto.password.UserIdInfo;
|
||||
import ru.micord.ervu.account_applications.enums.ProcessKey;
|
||||
import ru.micord.ervu.account_applications.security.context.SecurityContext;
|
||||
import ru.micord.ervu.account_applications.service.RoleServiceImpl;
|
||||
import ru.micord.ervu.account_applications.service.UserApplicationListService;
|
||||
|
||||
import static ru.micord.ervu.account_applications.enums.ProcessKey.*;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
|
|
@ -86,7 +87,7 @@ public class AdminController {
|
|||
.collect(Collectors.toList());
|
||||
Roles roles = new Roles(rolesList);
|
||||
CreateProcessRequest request = new CreateProcessRequest(
|
||||
ProcessKey.CREATE.getValue(), getUserId(), new CreateData(credential, account, person, roles));
|
||||
CREATE.getValue(), getUserId(), new CreateData(credential, account, person, roles));
|
||||
return doRequestAndSaveTraceId(request, dto.appNumber());
|
||||
}
|
||||
|
||||
|
|
@ -94,7 +95,7 @@ public class AdminController {
|
|||
public ResponseEntity<?> editPerson(@RequestBody @Valid EditPersonDto dto) {
|
||||
Person person = new Person(dto.id(), dto.surname(), dto.firstname(), dto.middlename(), dto.sex(),
|
||||
dto.email(), dto.birthdate(), dto.snils(), dto.ipAddresses());
|
||||
EditPersonProcessRequest request = new EditPersonProcessRequest(ProcessKey.EDIT_PERSON.getValue(),
|
||||
EditPersonProcessRequest request = new EditPersonProcessRequest(EDIT_PERSON.getValue(),
|
||||
getUserId(), new EditData(dto.accountId(), person));
|
||||
return doRequestAndSaveTraceId(request, dto.appNumber());
|
||||
}
|
||||
|
|
@ -102,7 +103,7 @@ public class AdminController {
|
|||
@PostMapping(value = "/account", consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<?> editAccount(@RequestBody @Valid EditAccountDto dto) {
|
||||
Account account = new Account(dto.accountId(), dto.userDomain(), dto.position());
|
||||
EditPersonProcessRequest request = new EditPersonProcessRequest(ProcessKey.EDIT_ACCOUNT.getValue(),
|
||||
EditPersonProcessRequest request = new EditPersonProcessRequest(EDIT_ACCOUNT.getValue(),
|
||||
getUserId(), new EditData(account));
|
||||
return doRequestAndSaveTraceId(request, dto.appNumber());
|
||||
}
|
||||
|
|
@ -116,15 +117,22 @@ public class AdminController {
|
|||
List<String> removedRoleIds = roleService.fetchRemovedRoleIds(dto.accountId(), dto.roles());
|
||||
|
||||
Account account = new Account(dto.accountId(), removedRoleIds, rolesList);
|
||||
EditPersonProcessRequest request = new EditPersonProcessRequest(ProcessKey.EDIT_ROLES.getValue(),
|
||||
EditPersonProcessRequest request = new EditPersonProcessRequest(EDIT_ROLES.getValue(),
|
||||
getUserId(), new EditData(account));
|
||||
return doRequestAndSaveTraceId(request, dto.appNumber());
|
||||
}
|
||||
|
||||
@PostMapping(value = "/deactivation", consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<?> deactivate(@RequestBody @Valid DeactivateDto dto) {
|
||||
DeactivateProcessRequest request = new DeactivateProcessRequest(ProcessKey.DEACTIVATE.getValue(),
|
||||
getUserId(), new DeactivateData(Collections.singletonList(dto.accountId())));
|
||||
public ResponseEntity<?> deactivate(@RequestBody @Valid ChangeActivationDto dto) {
|
||||
ChangeActivationProcessRequest request = new ChangeActivationProcessRequest(DEACTIVATE.getValue(),
|
||||
getUserId(), new ChangeActivationData(Collections.singletonList(dto.accountId())));
|
||||
return doRequestAndSaveTraceId(request, dto.appNumber());
|
||||
}
|
||||
|
||||
@PostMapping(value = "/activation", consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<?> activate(@RequestBody @Valid ChangeActivationDto dto) {
|
||||
ChangeActivationProcessRequest request = new ChangeActivationProcessRequest(ACTIVATE.getValue(),
|
||||
getUserId(), new ChangeActivationData(Collections.singletonList(dto.accountId())));
|
||||
return doRequestAndSaveTraceId(request, dto.appNumber());
|
||||
}
|
||||
|
||||
|
|
@ -139,7 +147,7 @@ public class AdminController {
|
|||
UserIdInfo userIdInfo = new UserIdInfo(dto.accountId());
|
||||
ResetPasswordData resetPasswordData = new ResetPasswordData(userIdInfo);
|
||||
ResetPasswordProcessRequest request = new ResetPasswordProcessRequest(
|
||||
ProcessKey.RESET_PASSWORD.getValue(),
|
||||
RESET_PASSWORD.getValue(),
|
||||
getUserId(), resetPasswordData
|
||||
);
|
||||
return doRequestAndSaveTraceId(request, dto.appNumber());
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
package ru.micord.ervu.account_applications.dto.activation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public record ChangeActivationData(List<String> accountIdList) {
|
||||
}
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
package ru.micord.ervu.account_applications.dto.deactivate;
|
||||
package ru.micord.ervu.account_applications.dto.activation;
|
||||
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
|
@ -9,5 +8,5 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
|||
* @author gulnaz
|
||||
*/
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public record DeactivateDto(@NotNull long appNumber, @NotNull String accountId) {
|
||||
public record ChangeActivationDto(@NotNull long appNumber, @NotNull String accountId) {
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package ru.micord.ervu.account_applications.dto.activation;
|
||||
|
||||
import ru.micord.ervu.account_applications.dto.ProcessRequest;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public class ChangeActivationProcessRequest extends ProcessRequest<ChangeActivationData> {
|
||||
|
||||
public ChangeActivationProcessRequest(String processKey, String userId, ChangeActivationData data) {
|
||||
super(processKey, userId, data);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
package ru.micord.ervu.account_applications.dto.deactivate;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author gulnaz
|
||||
*/
|
||||
public record DeactivateData(List<String> accountIdList) {
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
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);
|
||||
}
|
||||
}
|
||||
|
|
@ -5,9 +5,9 @@ import ru.micord.ervu.account_applications.dto.ProcessRequest;
|
|||
/**
|
||||
* @author Adel Kalimullin
|
||||
*/
|
||||
public class ResetPasswordProcessRequest extends ProcessRequest {
|
||||
public class ResetPasswordProcessRequest extends ProcessRequest<ResetPasswordData> {
|
||||
|
||||
public ResetPasswordProcessRequest(String processKey, String userId, Object data) {
|
||||
public ResetPasswordProcessRequest(String processKey, String userId, ResetPasswordData data) {
|
||||
super(processKey, userId, data);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ public enum ProcessKey {
|
|||
EDIT_ACCOUNT("milBaseEditAccountIDMProcess"),
|
||||
EDIT_ROLES("milBaseEditAccountRolesIDMSubProcess"),
|
||||
DEACTIVATE("milBaseMassDeActivateAccountIDMProcess"),
|
||||
ACTIVATE("milBaseMassActivateAccountIDMProcess"),
|
||||
RESET_PASSWORD("milBaseResetPasswordProcess");
|
||||
|
||||
private final String value;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import ru.micord.ervu.account_applications.service.ErvuDirectoriesService;
|
|||
* @author Eduard Tihomirov
|
||||
*/
|
||||
@Component
|
||||
public class ErvuDirectoriesListner {
|
||||
public class ErvuDirectoriesListener {
|
||||
|
||||
@Autowired
|
||||
private ErvuDirectoriesService ervuDirectoriesService;
|
||||
|
|
@ -14,6 +14,7 @@ import org.springframework.kafka.annotation.EnableKafka;
|
|||
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
|
||||
import org.springframework.kafka.core.ConsumerFactory;
|
||||
import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
|
||||
import org.springframework.kafka.support.serializer.JsonDeserializer;
|
||||
|
||||
/**
|
||||
* @author Eduard Tihomirov
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import java.util.Map;
|
|||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.google.common.net.HttpHeaders;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
|
||||
import ru.micord.ervu.account_applications.component.exception.ApiResponseException;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -43,7 +43,10 @@ public abstract class AbstractUserDataService implements UserDataService {
|
|||
|
||||
HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
|
||||
if (response.statusCode() != 200) {
|
||||
throw new IllegalStateException("Некорректный статус ответа: " + response.statusCode());
|
||||
throw new ApiResponseException(
|
||||
String.format("Некорректный статус ответа. Статус: %d. Тело ответа: %s.",
|
||||
response.statusCode(), response.body())
|
||||
);
|
||||
}
|
||||
|
||||
return response;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package ru.micord.ervu.account_applications.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.jooq.Record2;
|
||||
|
|
@ -21,16 +22,16 @@ public class ErvuDirectoriesDaoService {
|
|||
@Autowired
|
||||
private ErvuDirectoriesDao ervuDirectoriesDao;
|
||||
|
||||
@Cacheable(value = "role-ids", unless = "#result == null")
|
||||
public List<String> getRoleIds() {
|
||||
return ervuDirectoriesDao.getRoleIds();
|
||||
}
|
||||
|
||||
@Cacheable(value = "domain-ids", unless = "#result == null")
|
||||
public Result<Record2<UUID, String>> getDomainIds() {
|
||||
return ervuDirectoriesDao.getDomainIds();
|
||||
public Map<String, UUID> getDomainIds() {
|
||||
return ervuDirectoriesDao.getDomainIds().intoMap(Record2::value2, Record2::value1);
|
||||
}
|
||||
|
||||
@Cacheable(value = "role-ids", unless = "#result == null")
|
||||
public UserApplicationRoleRecord getRoleRecord() {
|
||||
return ervuDirectoriesDao.getRoleRecord();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,12 +6,11 @@ import java.time.Instant;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.jooq.Record2;
|
||||
import org.jooq.Result;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -31,26 +30,24 @@ import ru.micord.ervu.account_applications.db_beans.public_.tables.records.UserA
|
|||
import ru.micord.ervu.account_applications.model.RecruitmentResponse;
|
||||
import ru.micord.ervu.account_applications.model.RoleResponse;
|
||||
|
||||
import static ru.micord.ervu.account_applications.db_beans.public_.tables.Recruitment.RECRUITMENT;
|
||||
|
||||
/**
|
||||
* @author Eduard Tihomirov
|
||||
*/
|
||||
@Service
|
||||
@DependsOn({"liquibase", "ervuDirectoriesListner"})
|
||||
@DependsOn({"liquibase", "ervuDirectoriesListener"})
|
||||
public class ErvuDirectoriesService {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(
|
||||
MethodHandles.lookup().lookupClass());
|
||||
@Value("${ervu.url}")
|
||||
private String ervuUrl;
|
||||
@Value("${idm.url}")
|
||||
private String idmUrl;
|
||||
@Value("${ervu.collection:domain, role}")
|
||||
private String ervuCollection;
|
||||
@Autowired
|
||||
private RestTemplate restTemplate;
|
||||
@Autowired
|
||||
private ObjectMapper objectMapper;
|
||||
@Autowired
|
||||
private ErvuDirectoriesDaoService ervuDirectoriesDaoService;
|
||||
@Autowired
|
||||
private ObjectMapper objectMapper;
|
||||
|
||||
|
||||
@Caching(evict = {
|
||||
|
|
@ -61,7 +58,7 @@ public class ErvuDirectoriesService {
|
|||
try {
|
||||
String[] ervuCollectionArray = ervuCollection.split(",");
|
||||
Arrays.stream(ervuCollectionArray).forEach(ervuCollection -> {
|
||||
String targetUrl = ervuUrl + "/service/idm/reconcile/"+ ervuCollection + "/to/kafka/v1";
|
||||
String targetUrl = idmUrl + "/reconcile/"+ ervuCollection + "/to/kafka/v1";
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||
String emptyJson = "{}";
|
||||
|
|
@ -76,7 +73,7 @@ public class ErvuDirectoriesService {
|
|||
}
|
||||
catch (Exception e) {
|
||||
LOGGER.error(e.getMessage());
|
||||
//trow error for clean cache
|
||||
//trow error for not clean cache
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
|
|
@ -84,36 +81,36 @@ public class ErvuDirectoriesService {
|
|||
|
||||
@Transactional
|
||||
public void upsertKafkaDomainMessage(String kafkaMessage) {
|
||||
RecruitmentResponse[] response = null;
|
||||
RecruitmentResponse[] recruitmentResponses;
|
||||
try {
|
||||
response = objectMapper.readValue(kafkaMessage, RecruitmentResponse[].class);
|
||||
recruitmentResponses = objectMapper.readValue(kafkaMessage, RecruitmentResponse[].class);
|
||||
}
|
||||
catch (JsonProcessingException e) {
|
||||
throw new RuntimeException("Error with parsing domain kafka message", e);
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (response.length > 0 && response[0].getData() != null && !response[0].getData().isEmpty()) {
|
||||
upsertRecruitmentData(response[0].getData());
|
||||
if (recruitmentResponses.length > 0 && recruitmentResponses[0].getData() != null && !recruitmentResponses[0].getData().isEmpty()) {
|
||||
upsertRecruitmentData(recruitmentResponses[0].getData());
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void upsertKafkaRoleMessage(String kafkaMessage) {
|
||||
RoleResponse[] response = null;
|
||||
RoleResponse[] roleResponses;
|
||||
try {
|
||||
response = objectMapper.readValue(kafkaMessage, RoleResponse[].class);
|
||||
roleResponses = objectMapper.readValue(kafkaMessage, RoleResponse[].class);
|
||||
}
|
||||
catch (JsonProcessingException e) {
|
||||
throw new RuntimeException("Error with parsing role kafka message", e);
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (response.length > 0 && response[0].getData() != null && !response[0].getData().isEmpty()) {
|
||||
upsertRoleData(response[0].getData());
|
||||
if (roleResponses.length > 0 && roleResponses[0].getData() != null && !roleResponses[0].getData().isEmpty()) {
|
||||
upsertRoleData(roleResponses[0].getData());
|
||||
}
|
||||
}
|
||||
|
||||
private void upsertRecruitmentData(List<RecruitmentResponse.Data> dataList) {
|
||||
List<RecruitmentRecord> newRecruitmentRecords = new ArrayList<>();
|
||||
List<RecruitmentRecord> recruitmentRecords = new ArrayList<>();
|
||||
Result<Record2<UUID, String>> ids = ervuDirectoriesDaoService.getDomainIds();
|
||||
Map<String, UUID> ids = ervuDirectoriesDaoService.getDomainIds();
|
||||
dataList.forEach(data -> {
|
||||
Timestamp updatedAt = Timestamp.from(Instant.ofEpochSecond(data.getModified()));
|
||||
Timestamp createdAt = Timestamp.from(Instant.ofEpochSecond(data.getCreateDate()));
|
||||
|
|
@ -152,16 +149,12 @@ public class ErvuDirectoriesService {
|
|||
recruitmentRecord.setCreatedAt(createdAt);
|
||||
recruitmentRecord.setUpdatedAt(updatedAt);
|
||||
recruitmentRecord.setTs(new Timestamp(System.currentTimeMillis()));
|
||||
boolean isExisting = false;
|
||||
for (Record2<UUID, String> resultRecord : ids) {
|
||||
if (resultRecord.get(RECRUITMENT.IDM_ID).equals(recruitmentRecord.getIdmId())) {
|
||||
recruitmentRecord.setId(resultRecord.get(RECRUITMENT.ID));
|
||||
recruitmentRecords.add(recruitmentRecord);
|
||||
isExisting = true;
|
||||
break;
|
||||
}
|
||||
String idmId = recruitmentRecord.getIdmId();
|
||||
if (ids.containsKey(idmId)) {
|
||||
recruitmentRecord.setId(ids.get(idmId));
|
||||
recruitmentRecords.add(recruitmentRecord);
|
||||
}
|
||||
if (!isExisting) {
|
||||
else {
|
||||
newRecruitmentRecords.add(recruitmentRecord);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -21,10 +21,11 @@ KAFKA_PASS=Blfi9d2OFG
|
|||
KAFKA_CONSUMER_GROUP_ID=1
|
||||
KAFKA_DOMAIN_GROUP_ID=ervu-account-applications-backend-domain
|
||||
KAFKA_ROLE_GROUP_ID=ervu-account-applications-backend-role
|
||||
IDM_URL=http://idm
|
||||
|
||||
ERVU_URL=https://ervu-dev.pgs.rtlabs.ru
|
||||
ERVU_HTTP_TIMEOUT=30
|
||||
ERVU_PWD_SIGN_SECRET_KEY=xoL2Y3VRdQ4phXG85o6dRqcgqb4bk6ULdkJJdlRLhZM=
|
||||
KAFKA_ROLE_RECONCILIATION=idmv2.role.reconciliation
|
||||
KAFKA_DOMAIN_RECONCILIATION=idmv2.domain.reconciliation
|
||||
IDM_URL=http://idm
|
||||
ERVU_ROLE_ADMIN=security_administrator
|
||||
6
frontend/package-lock.json
generated
6
frontend/package-lock.json
generated
|
|
@ -1726,9 +1726,9 @@
|
|||
}
|
||||
},
|
||||
"@webbpm/base-package": {
|
||||
"version": "3.192.4",
|
||||
"resolved": "https://repo.micord.ru/repository/npm-all/@webbpm/base-package/-/base-package-3.192.4.tgz",
|
||||
"integrity": "sha512-x2SFa7O/aUf4fyfiHrJMVuQZAMMOuQoqHuuVJiuBUI3nLTfUmdb+Pnqu+nCcKc+qahT6PYzzJ0t0Wub3bw/JGQ==",
|
||||
"version": "3.192.6",
|
||||
"resolved": "https://repo.micord.ru/repository/npm-all/@webbpm/base-package/-/base-package-3.192.6.tgz",
|
||||
"integrity": "sha512-ID4VCBD3ds7tPFaokDTfJ4GcPjtiGMUSJ5vvUobg4wmC4M+AKTS50ZpsovhxGGzOQlS+uk0MCCoX5KzgMmQbZA==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
"@angular/platform-browser-dynamic": "7.2.15",
|
||||
"@angular/router": "7.2.15",
|
||||
"@ng-bootstrap/ng-bootstrap": "4.2.2-micord.1",
|
||||
"@webbpm/base-package": "3.192.4",
|
||||
"@webbpm/base-package": "3.192.6",
|
||||
"ag-grid-angular": "29.0.0-micord.4",
|
||||
"ag-grid-community": "29.0.0-micord.4",
|
||||
"angular-calendar": "0.28.28",
|
||||
|
|
|
|||
|
|
@ -51,6 +51,9 @@ export class UserManagementService extends Behavior {
|
|||
case ApplicationKind.BLOCK_USER:
|
||||
this.doRequest("user/deactivation", jsonObj);
|
||||
break;
|
||||
case ApplicationKind.UNBLOCK_USER:
|
||||
this.doRequest("user/activation", jsonObj);
|
||||
break;
|
||||
case ApplicationKind.RESET_PASSWORD:
|
||||
this.doRequest("user/password/reset", jsonObj);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -4,5 +4,6 @@ export enum ApplicationKind {
|
|||
EDIT_USER_ACCOUNT = "EDIT_USER_ACCOUNT",
|
||||
EDIT_USER_ROLES = "EDIT_USER_ROLES",
|
||||
BLOCK_USER = "BLOCK_USER",
|
||||
UNBLOCK_USER = "UNBLOCK_USER",
|
||||
RESET_PASSWORD = "RESET_PASSWORD"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,6 @@ export class DropdownTreeviewSelectI18n extends DefaultTreeviewI18n {
|
|||
}
|
||||
|
||||
getText(selection: TreeviewSelection): string {
|
||||
return this.internalSelectedItem ? this.internalSelectedItem.text : 'Элемент не выбран';
|
||||
return this.internalSelectedItem ? this.internalSelectedItem.text : '';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,15 +54,20 @@ export class DropdownTreeViewComponent extends InputControl {
|
|||
@Visible("false")
|
||||
public items: TreeviewItem[];
|
||||
@Visible("false")
|
||||
public value: any;
|
||||
public value: TreeItemDto;
|
||||
@Visible("false")
|
||||
public valueChangeEvent: Event<TreeItemDto> = new Event<TreeItemDto>();
|
||||
@AdvancedProperty()
|
||||
public skipInitialSelection: boolean;
|
||||
@NotNull()
|
||||
public preferBusinessId: boolean = false;
|
||||
private rpcService: TreeItemRpcService;
|
||||
private localStorageService: LocalStorageService;
|
||||
private taskParamsProvider: TaskParamsProvider;
|
||||
private pageContextHolder: PageContextHolder;
|
||||
private webbpmStorage: WebbpmStorage;
|
||||
private storageKey: string;
|
||||
private rootValues: TreeItemDto[];
|
||||
|
||||
constructor(el: ElementRef, cd: ChangeDetectorRef,
|
||||
private i18n: DropdownTreeviewSelectI18n) {
|
||||
|
|
@ -81,7 +86,8 @@ export class DropdownTreeViewComponent extends InputControl {
|
|||
this.loadTreeItems();
|
||||
}
|
||||
|
||||
private getTreeValuesStorage(treeValuesCacheStrategy: TreeValuesCacheStrategy, customKeyName: string) {
|
||||
private getTreeValuesStorage(treeValuesCacheStrategy: TreeValuesCacheStrategy,
|
||||
customKeyName: string) {
|
||||
if (!treeValuesCacheStrategy) {
|
||||
return null;
|
||||
}
|
||||
|
|
@ -109,13 +115,14 @@ export class DropdownTreeViewComponent extends InputControl {
|
|||
|
||||
@Visible()
|
||||
public loadTreeItems(): void {
|
||||
this.rpcService.loadTreeData().then((res: TreeItemDto[]) => {
|
||||
this.rpcService.loadTreeData().then((res: TreeItemDto[]) => {
|
||||
this.populateTree(res);
|
||||
});
|
||||
}
|
||||
|
||||
private populateTree(res: TreeItemDto[]){
|
||||
private populateTree(res: TreeItemDto[]) {
|
||||
this.items = res.map(value => new TreeviewItem(this.createTreeItem(value)));
|
||||
this.rootValues = res;
|
||||
const rootItem = this.items[0];
|
||||
if (this.cachedValue) {
|
||||
const matchedItem = this.findTreeItemByValue(this.items, this.cachedValue);
|
||||
|
|
@ -124,13 +131,12 @@ export class DropdownTreeViewComponent extends InputControl {
|
|||
this.value = matchedItem.value;
|
||||
}
|
||||
}
|
||||
else {
|
||||
else if (!this.skipInitialSelection) {
|
||||
this.i18n.selectedItem = rootItem;
|
||||
this.value = rootItem.value;
|
||||
}
|
||||
this.doCollapseLevel();
|
||||
this.valueChangeEvent.trigger(this.value);
|
||||
this.cd.markForCheck();
|
||||
this.onValueChange(this.value);
|
||||
}
|
||||
|
||||
private findTreeItemByValue(rootItems: TreeviewItem[], valueToFind: any): TreeviewItem | null {
|
||||
|
|
@ -171,6 +177,7 @@ export class DropdownTreeViewComponent extends InputControl {
|
|||
this.setCachedValue(this.value);
|
||||
this.valueChangeEvent.trigger($event);
|
||||
this.applyListener(this.changeListeners);
|
||||
this.cd.markForCheck();
|
||||
}
|
||||
|
||||
@Visible()
|
||||
|
|
@ -198,13 +205,13 @@ export class DropdownTreeViewComponent extends InputControl {
|
|||
}
|
||||
}
|
||||
|
||||
protected setCachedValue(newValue: any): void {
|
||||
protected setCachedValue(newValue: TreeItemDto): void {
|
||||
if (this.webbpmStorage) {
|
||||
this.webbpmStorage.put(this.storageKey, newValue);
|
||||
}
|
||||
}
|
||||
|
||||
protected getCachedValue(): any {
|
||||
protected getCachedValue(): TreeItemDto {
|
||||
if (this.webbpmStorage) {
|
||||
return this.webbpmStorage.get(this.storageKey);
|
||||
}
|
||||
|
|
@ -220,23 +227,41 @@ export class DropdownTreeViewComponent extends InputControl {
|
|||
}
|
||||
|
||||
getPresentationValue(): string | number | boolean {
|
||||
return this.value;
|
||||
return this.value ? this.value.label : '';
|
||||
}
|
||||
|
||||
@Visible()
|
||||
getValue(): any {
|
||||
return this.value;
|
||||
return this.value ? this.value.id : this.value;
|
||||
}
|
||||
|
||||
getValueAsModel(): any {
|
||||
getValueAsModel(): TreeItemDto {
|
||||
return this.value ? this.value : null;
|
||||
}
|
||||
|
||||
getValueForForm(): any {
|
||||
return this.getBusinessId();
|
||||
return this.preferBusinessId ? this.getBusinessId() : this.getValue();
|
||||
}
|
||||
|
||||
setValue(value: any): any {
|
||||
this.value = value;
|
||||
@Visible()
|
||||
setValue(value: any): void {
|
||||
this.items = [...this.items];
|
||||
this.value = this.findValueInRootsById(value);
|
||||
this.onValueChange(this.value);
|
||||
}
|
||||
|
||||
private findValueInRootsById(id: any): TreeItemDto {
|
||||
let searchArray: TreeItemDto[] = this.rootValues.slice();
|
||||
while (searchArray.length > 0) {
|
||||
const current = searchArray.shift();
|
||||
if (current.id == id) {
|
||||
return current;
|
||||
}
|
||||
if (current.children && current.children.length > 0) {
|
||||
searchArray.push(...current.children);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
onChange() {
|
||||
|
|
@ -251,5 +276,4 @@ export class DropdownTreeViewComponent extends InputControl {
|
|||
unsubscribeToModelChange() {
|
||||
//empty because there is no ngModel here
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,6 +44,11 @@ const appRoutes: Routes = [
|
|||
path: 'process_application_edit_user/:id',
|
||||
loadChildren: 'generated-sources/page-process_application_edit_user.module#Pageprocess_application_edit_userModule',
|
||||
canActivate: [ConfirmExitGuard, RolesGuard]
|
||||
},
|
||||
{
|
||||
path: 'unblock_user_application',
|
||||
loadChildren: 'generated-sources/page-unblock_user_application.module#Pageunblock_user_applicationModule',
|
||||
canActivate: [ConfirmExitGuard, RolesGuard]
|
||||
}
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import {BrowserAnimationsModule} from "@angular/platform-browser/animations";
|
|||
import {BrowserModule} from "@angular/platform-browser";
|
||||
import {FormsModule} from "@angular/forms";
|
||||
import {NgbModule} from "@ng-bootstrap/ng-bootstrap";
|
||||
import {ToastNoAnimationModule} from "ngx-toastr";
|
||||
import {OverlayContainer, ToastNoAnimationModule} from "ngx-toastr";
|
||||
import {AgGridModule} from "ag-grid-angular";
|
||||
import {AppRoutingModule} from "../app/app-routing.module";
|
||||
import {
|
||||
|
|
@ -27,6 +27,7 @@ import {RolesGuard} from "../app/guard/RolesGuard";
|
|||
import {TokenProvider} from "../app/provider/token.provider";
|
||||
import {MfeTokenProvider} from "./provider/mfe-token.provider";
|
||||
import {DEFAULT_HTTP_INTERCEPTOR_PROVIDERS} from "./interceptor/mfe-default-interceptors.prod";
|
||||
import {MfeOverlayContainer} from "./overlay/mfe-overlay-container.service";
|
||||
|
||||
|
||||
let IMPORTS = [
|
||||
|
|
@ -59,6 +60,7 @@ let IMPORTS = [
|
|||
{provide: ProgressIndicationService, useClass: MfeProgressIndicationService},
|
||||
{provide: RolesGuard, useClass: MfeRolesGuard},
|
||||
{provide: TokenProvider, useClass: MfeTokenProvider},
|
||||
{provide: OverlayContainer, useClass: MfeOverlayContainer},
|
||||
DEFAULT_HTTP_INTERCEPTOR_PROVIDERS
|
||||
],
|
||||
bootstrap: [
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
import {OverlayContainer} from "ngx-toastr";
|
||||
import {Inject, Injectable} from "@angular/core";
|
||||
import {DOCUMENT} from "@angular/common";
|
||||
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class MfeOverlayContainer extends OverlayContainer {
|
||||
|
||||
constructor(@Inject(DOCUMENT) _document: any) {
|
||||
super(_document);
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
super.ngOnDestroy();
|
||||
}
|
||||
|
||||
protected _createContainer(): void {
|
||||
super._createContainer();
|
||||
this.appendToRootComponent();
|
||||
}
|
||||
|
||||
private appendToRootComponent(): void {
|
||||
if (!this._containerElement) {
|
||||
return;
|
||||
}
|
||||
|
||||
const rootElement = this.getRootElement();
|
||||
const parent = rootElement || this._document.body;
|
||||
parent.appendChild(this._containerElement);
|
||||
}
|
||||
|
||||
private getRootElement(): Element {
|
||||
return this._document.querySelector('mfe-webbpm')
|
||||
.shadowRoot.querySelector('[webbpm]');
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||
<artifactId>resources</artifactId>
|
||||
<version>3.192.4</version>
|
||||
<version>3.192.6</version>
|
||||
<organization>
|
||||
<name>Micord</name>
|
||||
</organization>
|
||||
|
|
@ -28,13 +28,13 @@
|
|||
<jooq.version>3.19.3</jooq.version>
|
||||
<jupiter.version>5.10.2</jupiter.version>
|
||||
<enforcer.manageVersions>true</enforcer.manageVersions>
|
||||
<webbpm-platform.version>3.192.4</webbpm-platform.version>
|
||||
<webbpm-platform.version>3.192.6</webbpm-platform.version>
|
||||
<h2.version>1.4.200</h2.version>
|
||||
<build.timestamp>0324074119</build.timestamp>
|
||||
<build.timestamp>0402110850</build.timestamp>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<junit.platform.version>1.10.0</junit.platform.version>
|
||||
<enforcer.manageExclusions>true</enforcer.manageExclusions>
|
||||
<revision>3.192.4</revision>
|
||||
<revision>3.192.6</revision>
|
||||
<metadata.ts.filename>typescript.metadata.json</metadata.ts.filename>
|
||||
<package.repository.url>https://repo.micord.ru</package.repository.url>
|
||||
<maven.build.timestamp.format>MMddHHmmss</maven.build.timestamp.format>
|
||||
|
|
@ -47,19 +47,19 @@
|
|||
<dependency>
|
||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||
<artifactId>converters</artifactId>
|
||||
<version>3.192.4</version>
|
||||
<version>3.192.6</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||
<artifactId>backend</artifactId>
|
||||
<version>3.192.4</version>
|
||||
<version>3.192.6</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||
<artifactId>frontend</artifactId>
|
||||
<version>3.192.4</version>
|
||||
<version>3.192.6</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
<ul>
|
||||
|
||||
<li>Образец внешней ссылки: <code>https://www.wildberries.ru/catalog/${sku}/detail.aspx</code></li>
|
||||
<li>Образец внутренней ссылки: <code>products/ru.cg.webbpm.packages.base:resources:jar:3.192.4</code></li>
|
||||
<li>Образец внутренней ссылки: <code>products/ru.cg.webbpm.packages.base:resources:jar:3.192.6</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
|
|
|||
|
|
@ -4,17 +4,17 @@
|
|||
<description>Base webbpm package</description>
|
||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||
<artifactId>resources</artifactId>
|
||||
<version>3.192.4</version>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<version>3.192.6</version>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
|
||||
<backendModule>
|
||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||
<artifactId>backend</artifactId>
|
||||
<version>3.192.4</version>
|
||||
<version>3.192.6</version>
|
||||
</backendModule>
|
||||
<frontendModule>
|
||||
<packageName>@webbpm/base-package</packageName>
|
||||
<version>3.192.4</version>
|
||||
<version>3.192.6</version>
|
||||
</frontendModule>
|
||||
</packageInfo>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/Кнопка.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/Кнопка_отмены.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/Кнопка_очистки_фильтра.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/Кнопка_удаления.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/Кнопка_загрузки.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/Кнопка_вызова_ошибки.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
<documentation>component/buttons/Кнопка_выполнения_бизнес-процесса.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/Кнопка_выполнения_SQL.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/Кнопка_для_фильтрации.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/Кнопка_навигации.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/Кнопка_сохранения.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/Кнопка_выбора.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/Кнопка_подписи.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/Кнопка_запуска_бизнес-процесса.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/reporting/Кнопка_печати_из_графа_сущности.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/buttons/reporting/Кнопка_печати_отчета_из_формы.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/containers/Сворачиваемая_панель.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/containers/Диалог.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/containers/Контейнер_с_кнопками.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/containers/Группа_полей.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/containers/Набор_фильтров.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/containers/Форма.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/containers/Горизонтальный_контейнер.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/containers/Контейнер_вкладок.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/containers/Вкладка.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/containers/Вертикальный_контейнер.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/containers/Окно.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/editable-grids/EditableGrid.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
<localization>META-INF/components/localization/editable-grids/autocomplete</localization>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
<localization>META-INF/components/localization/editable-grids/check-box</localization>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
<localization>META-INF/components/localization/editable-grids/combo-box</localization>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
<localization>META-INF/components/localization/editable-grids/date-time-picker</localization>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
<localization>META-INF/components/localization/editable-grids/money-field</localization>
|
||||
<internal>true</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
<localization>META-INF/components/localization/editable-grids/number-field</localization>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
<localization>META-INF/components/localization/editable-grids/one-to-many</localization>
|
||||
<internal>true</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
<localization>META-INF/components/localization/editable-grids/one-to-many</localization>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@
|
|||
<localization>META-INF/components/localization/editable-grids/read-only</localization>
|
||||
<internal>true</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
<category>editable-grids</category>
|
||||
<internal>true</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>Статичный_выпадающий_список_колонки_таблицы.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
<localization>META-INF/components/localization/editable-grids/text-area</localization>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
<localization>META-INF/components/localization/editable-grids/text-field</localization>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
<localization>META-INF/components/localization/editable-grids/time-picker</localization>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/ФИАС.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Поле_ввода_с_подбором_значения.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Флаг.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Выпадающий_список.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Дата.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/EditableOneToMany.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Файл.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Файл.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/ManyToMany.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/ManyToManyField.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Денежное_поле.html</documentation>
|
||||
<internal>true</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Числовое_поле.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/OneToMany.html</documentation>
|
||||
<internal>true</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/OneToMany.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Переключатель.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/SignVerification.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Статичный_выпадающий_список.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Статичный_переключатель.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Текст.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Многострочное_поле.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Текстовое_поле.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/Время.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
<documentation>component/fields/TreeField.html</documentation>
|
||||
<internal>false</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
<localization>META-INF/components/localization/editable-grid</localization>
|
||||
<internal>true</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
<name>EditableOneToManyForm</name>
|
||||
<internal>true</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
<localization>META-INF/components/localization/fields/file-upload-field</localization>
|
||||
<internal>true</internal>
|
||||
<versions>
|
||||
<studioVersion>3.192.4</studioVersion>
|
||||
<studioVersion>3.192.6</studioVersion>
|
||||
<packageVersions>
|
||||
<entry>
|
||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||
<value>3.192.4</value>
|
||||
<value>3.192.6</value>
|
||||
</entry>
|
||||
</packageVersions>
|
||||
</versions>
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue