From b46634f5ec0ce55f71837cdf4fcd0e849cc999b6 Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Tue, 1 Jun 2021 21:14:40 +0200 Subject: [PATCH] Bugfixes for create and edit steps of person asset. --- .../assets/CmsAssetEditSteps.java | 2 + .../assets/PersonEditStep.java | 17 +- .../components/librecms/assetPicker.xhtml | 26 +- .../assets/edit-contactable.xhtml | 11 +- .../assets/person/create-person.xhtml | 12 +- .../assets/person/edit-person.xhtml | 323 +++++++++--------- .../ui/MvcAssetStepsBundle.properties | 5 + .../ui/MvcAssetStepsBundle_de.properties | 5 + .../contentsection/AssetRepositoryIT.java | 23 +- 9 files changed, 230 insertions(+), 194 deletions(-) diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/assets/CmsAssetEditSteps.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/assets/CmsAssetEditSteps.java index f3432a721..9a155e039 100644 --- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/assets/CmsAssetEditSteps.java +++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/assets/CmsAssetEditSteps.java @@ -18,6 +18,7 @@ */ package org.librecms.ui.contentsections.assets; + import java.util.HashSet; import java.util.Set; @@ -34,6 +35,7 @@ public class CmsAssetEditSteps implements MvcAssetEditSteps { classes.add(BookmarkEditStep.class); classes.add(FileAssetEditStep.class); classes.add(LegalMetadataEditStep.class); + classes.add(PersonEditStep.class); classes.add(PostalAddressEditStep.class); classes.add(SideNoteEditStep.class); diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/assets/PersonEditStep.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/assets/PersonEditStep.java index 5e2b35989..007009da1 100644 --- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/assets/PersonEditStep.java +++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/assets/PersonEditStep.java @@ -27,8 +27,10 @@ import org.librecms.contentsection.AssetRepository; import org.librecms.ui.contentsections.AssetPermissionsChecker; import org.librecms.ui.contentsections.ContentSectionNotFoundException; +import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.time.format.FormatStyle; +import java.util.Optional; import javax.enterprise.context.RequestScoped; import javax.inject.Inject; @@ -92,10 +94,17 @@ public class PersonEditStep extends AbstractContactableEntityEditStep { if (getAsset() instanceof Person) { editStepModel.setBirthdate( - DateTimeFormatter - .ofLocalizedDate(FormatStyle.SHORT) - .withLocale(globalizationHelper.getNegotiatedLocale()) - .format(getPerson().getBirthdate()) + Optional + .ofNullable(getPerson().getBirthdate()) + .map( + birthdate -> birthdate.format( + DateTimeFormatter + .ofLocalizedDate(FormatStyle.SHORT) + .withLocale( + globalizationHelper.getNegotiatedLocale() + ) + .withZone(ZoneId.systemDefault()))) + .orElse("") ); editStepModel.setPersonNames(getPerson().getPersonNames()); } else { diff --git a/ccm-cms/src/main/resources/META-INF/resources/components/librecms/assetPicker.xhtml b/ccm-cms/src/main/resources/META-INF/resources/components/librecms/assetPicker.xhtml index 8b71165a1..0762705c6 100644 --- a/ccm-cms/src/main/resources/META-INF/resources/components/librecms/assetPicker.xhtml +++ b/ccm-cms/src/main/resources/META-INF/resources/components/librecms/assetPicker.xhtml @@ -40,10 +40,10 @@ -
-
+ @@ -198,7 +199,7 @@
- +

#{CmsAssetsStepsDefaultMessagesBundle['contactable.postaladdress.title']}

-
+ -
+ diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assets/person/create-person.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assets/person/create-person.xhtml index 67ef33936..da785a8c2 100644 --- a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assets/person/create-person.xhtml +++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assets/person/create-person.xhtml @@ -10,14 +10,14 @@
- - - - - - - - - - - - - - - - - - + + + +
#{CmsAssetsStepsDefaultMessagesBundle['person.personnames.col.prefix']}#{CmsAssetsStepsDefaultMessagesBundle['person.personnames.col.surname']}#{CmsAssetsStepsDefaultMessagesBundle['person.personnames.col.givenname']}#{CmsAssetsStepsDefaultMessagesBundle['person.personnames.col.suffix']}#{CmsAssetsStepsDefaultMessagesBundle['person.personnames.col.actions']}
#{personName.prefix}#{personName.surname}#{personName.givenName}#{personName.suffix} - - - -
+
+ - + diff --git a/ccm-cms/src/main/resources/org/librecms/ui/MvcAssetStepsBundle.properties b/ccm-cms/src/main/resources/org/librecms/ui/MvcAssetStepsBundle.properties index 302424d79..c218e5a19 100644 --- a/ccm-cms/src/main/resources/org/librecms/ui/MvcAssetStepsBundle.properties +++ b/ccm-cms/src/main/resources/org/librecms/ui/MvcAssetStepsBundle.properties @@ -263,3 +263,8 @@ person.personname.remove.dialog.title=Remove Person Name person.personname.remove.dialog.close=Cancel person.personname.remove.dialog.message=Are you sure to remove the following person name: {0} {1} {2} {3}? person.personname.remove.dialog.submit=Remove name +person.label=Person +person.description=Contact information of a person +person.createform.title=Create new Person +person.personnames.col.actions=Actions +person.personnames.none=No person names yet. diff --git a/ccm-cms/src/main/resources/org/librecms/ui/MvcAssetStepsBundle_de.properties b/ccm-cms/src/main/resources/org/librecms/ui/MvcAssetStepsBundle_de.properties index be3157c5c..69fd08297 100644 --- a/ccm-cms/src/main/resources/org/librecms/ui/MvcAssetStepsBundle_de.properties +++ b/ccm-cms/src/main/resources/org/librecms/ui/MvcAssetStepsBundle_de.properties @@ -263,3 +263,8 @@ person.personname.remove.dialog.title=Namen entfernen person.personname.remove.dialog.close=Abbrechen person.personname.remove.dialog.message=Sind Sie sicher, dass Sie den folgenden Namen entfernen wollen: {0} {1} {2} {3}? person.personname.remove.dialog.submit=Namen entfernen +person.label=Person +person.description=Kontaktinformationen einer Person +person.createform.title=Neue Person anlegen +person.personnames.col.actions=Aktionen +person.personnames.none=Noch keine Personennamen vorhanden. diff --git a/ccm-cms/src/test/java/org/librecms/contentsection/AssetRepositoryIT.java b/ccm-cms/src/test/java/org/librecms/contentsection/AssetRepositoryIT.java index bdd3108ba..8297ceac4 100644 --- a/ccm-cms/src/test/java/org/librecms/contentsection/AssetRepositoryIT.java +++ b/ccm-cms/src/test/java/org/librecms/contentsection/AssetRepositoryIT.java @@ -64,7 +64,6 @@ import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.CoreMatchers.nullValue; import static org.hamcrest.MatcherAssert.assertThat; - /** * Tests for the {@link AssetRepository}. * @@ -277,19 +276,25 @@ public class AssetRepositoryIT { "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml") public void findAssetByUuidAndType() { - final Optional asset = shiro + final Optional asset = shiro .getSystemUser() - .execute(() -> { + .execute( + () -> { return assetRepo - .findByUuidAndType("4635589f-b87a-46d9-979e-6af14af063e5", - Image.class); + .findByUuidAndType( + "4635589f-b87a-46d9-979e-6af14af063e5", + Image.class + ); }); - final Optional none = shiro + final Optional none = shiro .getSystemUser() - .execute(() -> { + .execute( + () -> { return assetRepo - .findByUuidAndType("4635589f-b87a-46d9-979e-6af14af063e5", - FileAsset.class); + .findByUuidAndType( + "4635589f-b87a-46d9-979e-6af14af063e5", + FileAsset.class + ); }); assertThat(asset.isPresent(), is(true));