import fixes
This commit is contained in:
parent
8ef9a344ef
commit
6bc85abbbf
|
@ -1931,6 +1931,13 @@ public class PlanServiceImpl implements PlanService {
|
|||
persist.setDescriptionTemplates(this.xmlPlanDescriptionTemplatesToPersist(planXml)); //TODO maybe we should create templates if not exists
|
||||
persist.setBlueprint(this.xmlPlanBlueprintToPersist(planXml));
|
||||
|
||||
org.opencdmp.commons.types.planblueprint.DefinitionEntity definition = null;
|
||||
if (persist.getBlueprint() != null) {
|
||||
PlanBlueprintEntity planBlueprintEntity = this.queryFactory.query(PlanBlueprintQuery.class).disableTracking().ids(persist.getBlueprint()).first();
|
||||
definition = this.xmlHandlingService.fromXmlSafe(org.opencdmp.commons.types.planblueprint.DefinitionEntity.class, planBlueprintEntity.getDefinition());
|
||||
if (definition == null) throw new MyNotFoundException(this.messageSource.getMessage("General_ItemNotFound", new Object[]{persist.getBlueprint(), org.opencdmp.commons.types.planblueprint.DefinitionEntity.class.getSimpleName()}, LocaleContextHolder.getLocale()));
|
||||
}
|
||||
|
||||
this.validatorFactory.validator(PlanPersist.PlanPersistValidator.class).validateForce(persist);
|
||||
|
||||
Plan plan = this.persist(persist, BaseFieldSet.build(fields, Plan._id, Plan._hash));
|
||||
|
@ -1938,9 +1945,13 @@ public class PlanServiceImpl implements PlanService {
|
|||
|
||||
if (!this.conventionService.isListNullOrEmpty(planXml.getDescriptions())){
|
||||
for (DescriptionImportExport description: planXml.getDescriptions()){
|
||||
if (definition != null && description.getSectionId() != null && !this.conventionService.isListNullOrEmpty(definition.getSections())) {
|
||||
if (definition.getSections().stream().filter(x -> x.getId().equals(description.getSectionId()) && x.getHasTemplates()).findFirst().orElse(null) != null){
|
||||
this.descriptionService.importXml(description, plan.getId(), fields != null ? fields.extractPrefixed(this.conventionService.asPrefix(Plan._description)) : null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.accountingService.increase(UsageLimitTargetMetric.IMPORT_PLAN_XML_EXECUTION_COUNT.getValue());
|
||||
|
||||
|
|
|
@ -220,7 +220,7 @@ export class DescriptionEditorComponent extends BaseEditor<DescriptionEditorMode
|
|||
this.initialTemplateId = data?.descriptionTemplate?.id?.toString();
|
||||
if (data && data.planDescriptionTemplate?.sectionId && data.plan?.blueprint?.definition?.sections?.length > 0 && data.plan?.descriptions?.length > 0) {
|
||||
const section = data.plan?.blueprint?.definition?.sections.find(x => x.id == data.planDescriptionTemplate?.sectionId);
|
||||
if (section.hasTemplates) {
|
||||
if (section?.hasTemplates) {
|
||||
const notAvailableDescriptionTemplates = this.calculateMultiplicityRejectedPlanDescriptionTemplates(section, data.plan.descriptions.filter(x => x.isActive == IsActive.Active));
|
||||
this.item.plan.planDescriptionTemplates = data.plan.planDescriptionTemplates.filter(x => !notAvailableDescriptionTemplates.map(y => y.id).includes(x.id))
|
||||
}
|
||||
|
|
|
@ -380,7 +380,11 @@ export class DescriptionPropertyDefinitionFieldSetItemEditorModel implements Des
|
|||
if (item.fields instanceof Map)
|
||||
new Map(item.fields)?.forEach((value, key) => this.fields.set(key, new DescriptionFieldEditorModel(this.validationErrorModel).fromModel(value, item.ordinal, definitionFieldSet?.fields?.find(x => x.id == key), descriptionReferences)));
|
||||
else
|
||||
Object.keys(item.fields)?.forEach((key) => this.fields.set(key, new DescriptionFieldEditorModel(this.validationErrorModel).fromModel(item.fields[key], item.ordinal, definitionFieldSet?.fields?.find(x => x.id == key), descriptionReferences)));
|
||||
Object.keys(item.fields)?.forEach((key) => {
|
||||
if ( definitionFieldSet?.fields?.find(x => x.id == key) != null){
|
||||
this.fields.set(key, new DescriptionFieldEditorModel(this.validationErrorModel).fromModel(item.fields[key], item.ordinal, definitionFieldSet?.fields?.find(x => x.id == key), descriptionReferences))
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return this;
|
||||
|
@ -509,7 +513,7 @@ export class DescriptionFieldEditorModel implements DescriptionFieldPersist {
|
|||
sourceType: x.reference.sourceType
|
||||
}
|
||||
});
|
||||
if (descriptionTemplateField.data.multipleSelect == true) {
|
||||
if (descriptionTemplateField?.data?.multipleSelect == true) {
|
||||
this.references = references;
|
||||
} else {
|
||||
if (references?.length == 1) this.reference = references[0];
|
||||
|
|
Loading…
Reference in New Issue