Skip to content

Commit

Permalink
#21697 adding fixes to try to keep the layout
Browse files Browse the repository at this point in the history
  • Loading branch information
jdotcms committed Apr 11, 2022
1 parent eb5c5d2 commit 68f4b00
Showing 1 changed file with 22 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -247,29 +247,39 @@ public ContentType copyFrom(final CopyContentTypeBean copyContentTypeBean) throw

final ContentType contentType = builder.build();
final ContentType newContentType = this.save(contentType);
final List<Field> currentFields = sourceContentType.fields();
final List<Field> currentFields = APILocator.getContentTypeFieldAPI().byContentTypeId(sourceContentType.id());
final Map<String, Field> baseFieldMap = newContentType.fieldMap();

Logger.debug(this, ()->"Saving the fields for the the content type: " + copyContentTypeBean.getName()
+ ", from: " + copyContentTypeBean.getSourceContentType().variable());

for (final Field currentField : currentFields) {

final Field newField = !baseFieldMap.containsKey(currentField.variable())?
FieldBuilder.builder(currentField).contentTypeId(newContentType.id()).id(null).build():
baseFieldMap.get(currentField.variable());
if (!baseFieldMap.containsKey(currentField.variable())) {

final Field savedField = APILocator.getContentTypeFieldAPI().save(newField, user);
final Field newField = APILocator.getContentTypeFieldAPI()
.save(FieldBuilder.builder(currentField).sortOrder(currentField.sortOrder()).contentTypeId(newContentType.id()).id(null).build(), user);

final List<FieldVariable> currentFieldVariables = currentField.fieldVariables();
if (UtilMethods.isSet(currentFields)) {
for (final FieldVariable fieldVariable : currentFieldVariables) {
final List<FieldVariable> currentFieldVariables = currentField.fieldVariables();
if (UtilMethods.isSet(currentFieldVariables)) {
for (final FieldVariable fieldVariable : currentFieldVariables) {

final FieldVariable newFieldVariable = ImmutableFieldVariable.builder().from(fieldVariable).
fieldId(savedField.id()).id(null).userId(user.getUserId()).build();
APILocator.getContentTypeFieldAPI().save(ImmutableFieldVariable.builder().from(fieldVariable).
fieldId(newField.id()).id(null).userId(user.getUserId()).build(), user);
}
}
} else {

APILocator.getContentTypeFieldAPI().save(newFieldVariable, user);
}
final Field newField = baseFieldMap.get(currentField.variable());

final List<FieldVariable> currentFieldVariables = currentField.fieldVariables();
if (UtilMethods.isSet(currentFieldVariables)) {
for (final FieldVariable fieldVariable : currentFieldVariables) {

APILocator.getContentTypeFieldAPI().save(ImmutableFieldVariable.builder().from(fieldVariable).
fieldId(newField.id()).id(null).userId(user.getUserId()).build(), user);
}
}
}
}

Expand Down

0 comments on commit 68f4b00

Please sign in to comment.