From 57f6e90c56d6f4a2a28be414a5d28e240106bd23 Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Wed, 11 Nov 2020 14:59:52 +0100 Subject: [PATCH] Category Systems create and list --- .../CategorySystemDetailsModel.java | 4 + .../CategorySystemFormController.java | 11 ++- .../categories/CategorySystemsController.java | 42 +++++------ .../categories/CategorySystemsTableModel.java | 31 ++++---- .../categories/categorysystem-form.xhtml | 74 +++++++++++++++++-- .../ui/admin/categories/categorysystems.xhtml | 4 +- .../admin/users-groups-roles/user-form.xhtml | 2 +- .../org/libreccm/ui/AdminBundle.properties | 9 +++ .../org/libreccm/ui/AdminBundle_de.properties | 9 +++ 9 files changed, 138 insertions(+), 48 deletions(-) diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemDetailsModel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemDetailsModel.java index eeee1b129..cdca584c8 100644 --- a/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemDetailsModel.java +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemDetailsModel.java @@ -89,6 +89,10 @@ public class CategorySystemDetailsModel { return Collections.unmodifiableList(owners); } + public boolean isNew() { + return categorySystemId == 0; + } + public List getMessages() { return Collections.unmodifiableList(messages); } diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemFormController.java b/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemFormController.java index bb3acf256..42130136a 100644 --- a/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemFormController.java +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemFormController.java @@ -57,6 +57,9 @@ public class CategorySystemFormController { @Inject private CategorySystemDetailsModel categorySystemDetailsModel; + @Inject + private DomainManager domainManager; + @Inject private DomainRepository domainRepository; @@ -75,17 +78,17 @@ public class CategorySystemFormController { @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) @Transactional(Transactional.TxType.REQUIRED) public String createCategorySystem() { - final Domain domain = new Domain(); - domain.setDomainKey(domainKey); + + final Domain domain = domainManager.createDomain(domainKey, domainKey); + domain.setUri(uri); - domainRepository.save(domain); return "redirect:/categorymanager/categorysystems"; } @POST - @Path("/{categorySystemIdentifier}/edit") + @Path("{categorySystemIdentifier}/edit") @AuthorizationRequired @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) @Transactional(Transactional.TxType.REQUIRED) diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemsController.java b/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemsController.java index c061843e8..88f64eff5 100644 --- a/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemsController.java +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemsController.java @@ -54,7 +54,7 @@ import javax.ws.rs.PathParam; */ @RequestScoped @Controller -@Path("/categorymanager") +@Path("/categorymanager/categorysystems") public class CategorySystemsController { @Inject @@ -78,16 +78,16 @@ public class CategorySystemsController { @Inject private Models models; - @GET - @Path("/") - @AuthorizationRequired - @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) - public String getCategoryManager() { - return getCategorySystems(); - } +// @GET +// @Path("/") +// @AuthorizationRequired +// @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) +// public String getCategoryManager() { +// return getCategorySystems(); +// } @GET - @Path("/categorysystems") + @Path("/") @AuthorizationRequired @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) public String getCategorySystems() { @@ -95,7 +95,7 @@ public class CategorySystemsController { } @GET - @Path("/categorysystems/{categorySystemIdentifier}/details") + @Path("/{categorySystemIdentifier}/details") @AuthorizationRequired @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) @Transactional(Transactional.TxType.REQUIRED) @@ -144,7 +144,7 @@ public class CategorySystemsController { } @GET - @Path("/categorysystems/new") + @Path("/new") @AuthorizationRequired @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) public String newCategorySystem() { @@ -152,7 +152,7 @@ public class CategorySystemsController { } @GET - @Path("/categorysystems/{categorySystemIdentifier}/edit") + @Path("/{categorySystemIdentifier}/edit") @AuthorizationRequired @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) @Transactional(Transactional.TxType.REQUIRED) @@ -201,7 +201,7 @@ public class CategorySystemsController { } @POST - @Path("/categorysystems/{categorySystemIdentifier}/delete") + @Path("/{categorySystemIdentifier}/delete") @AuthorizationRequired @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) @Transactional(Transactional.TxType.REQUIRED) @@ -253,7 +253,7 @@ public class CategorySystemsController { } @POST - @Path("/categorysystems/{categorySystemIdentifier}/title/add") + @Path("/{categorySystemIdentifier}/title/add") @AuthorizationRequired @Transactional(Transactional.TxType.REQUIRED) public String addTitle( @@ -308,7 +308,7 @@ public class CategorySystemsController { } @POST - @Path("/categorysystems/{categorySystemIdentifier}/title/${locale}/edit") + @Path("/{categorySystemIdentifier}/title/${locale}/edit") @AuthorizationRequired public String editTitle( @PathParam("categorySystemIdentifier") @@ -362,7 +362,7 @@ public class CategorySystemsController { } @POST - @Path("/categorysystems/{categorySystemIdentifier}/title/${locale}/remove") + @Path("/{categorySystemIdentifier}/title/${locale}/remove") @AuthorizationRequired public String removeTitle( @PathParam("categorySystemIdentifier") @@ -415,7 +415,7 @@ public class CategorySystemsController { } @POST - @Path("/categorysystems/{categorySystemIdentifier}/description/add") + @Path("/{categorySystemIdentifier}/description/add") @AuthorizationRequired public String addDescription( @PathParam("categorySystemIdentifier") @@ -470,7 +470,7 @@ public class CategorySystemsController { @POST @Path( - "/categorysystems/{categorySystemIdentifier}/description/${locale}/edit") + "categorysystems/{categorySystemIdentifier}/description/${locale}/edit") @AuthorizationRequired public String editDescription( @PathParam("categorySystemIdentifier") @@ -525,7 +525,7 @@ public class CategorySystemsController { @POST @Path( - "/categorysystems/{categorySystemIdentifier}/description/${locale}/remove") + "categorysystems/{categorySystemIdentifier}/description/${locale}/remove") @AuthorizationRequired public String removeDescription( @PathParam("categorySystemIdentifier") @@ -578,7 +578,7 @@ public class CategorySystemsController { } @POST - @Path("/categorysystems/{categorySystemIdentifier}/owners/add") + @Path("/{categorySystemIdentifier}/owners/add") @AuthorizationRequired @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) public String addOwner( @@ -650,7 +650,7 @@ public class CategorySystemsController { } @POST - @Path("/categorysystems/{categorySystemIdentifier}/owners/remove") + @Path("/{categorySystemIdentifier}/owners/remove") @AuthorizationRequired @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) public String removeOwner( diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemsTableModel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemsTableModel.java index c46be2369..a0016b7ba 100644 --- a/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemsTableModel.java +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/categories/CategorySystemsTableModel.java @@ -58,29 +58,32 @@ public class CategorySystemsTableModel { private CategorySystemTableRow buildTableRow(final Domain domain) { final CategorySystemTableRow row = new CategorySystemTableRow(); - + row.setDomainId(domain.getObjectId()); row.setDomainKey(domain.getDomainKey()); row.setUri(domain.getUri()); row.setVersion(domain.getVersion()); - row.setReleased( - DateTimeFormatter.ISO_DATE_TIME.format( - domain.getReleased().toInstant() - ) - ); + if (domain.getReleased() != null) { + row.setReleased( + DateTimeFormatter.ISO_DATE_TIME.format( + domain.getReleased().toInstant() + ) + ); + } row.setTitle( domain .getTitle() - .getValues() - .entrySet() - .stream() - .collect( - Collectors.toMap( - entry -> entry.getKey().toString(), - entry -> entry.getValue() + .getValues() + .entrySet() + .stream() + .collect( + Collectors.toMap( + entry -> entry.getKey().toString(), + entry -> entry.getValue() + ) ) - ) ); return row; } + } diff --git a/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/categories/categorysystem-form.xhtml b/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/categories/categorysystem-form.xhtml index f828f658d..39fb0593a 100644 --- a/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/categories/categorysystem-form.xhtml +++ b/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/categories/categorysystem-form.xhtml @@ -4,22 +4,84 @@ xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:ui="http://xmlns.jcp.org/jsf/facelets"> - + - + + + + + + + + + + + - +
-

#{AdminMessages['categories.label']}

-

ToDo

+

#{CategorySystemDetailsModel.new ? AdminMessages['categorysystems.new.label'] : AdminMessages.getMessage('categorysystems.edit.label', CategorySystemDetailsModel.domainKey)}

+ +
+
+ + + + #{AdminMessages['categorysystems.form.domainKey.help']} + +
+
+ + + + #{AdminMessages['categorysystems.form.uri.help']} + +
+ + #{AdminMessages['categorysystems.form.buttons.cancel']} + + +
+
- +
diff --git a/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/categories/categorysystems.xhtml b/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/categories/categorysystems.xhtml index 008163807..a5856832f 100644 --- a/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/categories/categorysystems.xhtml +++ b/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/categories/categorysystems.xhtml @@ -25,7 +25,7 @@