From b1ca4f3db6cbbc409b45bbfc3bfb7a579c3ec38f Mon Sep 17 00:00:00 2001 From: jensp Date: Tue, 8 Aug 2017 08:03:19 +0000 Subject: [PATCH] CCM NG/ccm-cms: Fixed some queries for getting avaiable images. git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4899 8810af33-2d31-482b-a856-94f89814c4df --- .../assets/images/AssignedImageTableRow.java | 9 ++++ .../assets/images/AssignedImagesTable.java | 14 +++-- .../images/AssignedImagesTableModel.java | 2 + .../assets/images/ImageStepController.java | 54 +++++++++++++++---- .../org/librecms/CmsResources.properties | 1 + .../org/librecms/CmsResources_de.properties | 1 + .../org/librecms/CmsResources_fr.properties | 1 + 7 files changed, 67 insertions(+), 15 deletions(-) diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/AssignedImageTableRow.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/AssignedImageTableRow.java index 1ec8e477b..6c95e2968 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/AssignedImageTableRow.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/AssignedImageTableRow.java @@ -31,6 +31,7 @@ class AssignedImageTableRow { private long width; private long height; private String type; + private String title; private String caption; public long getAttachmentId() { @@ -81,6 +82,14 @@ class AssignedImageTableRow { this.type = type; } + public String getTitle() { + return title; + } + + public void setTitle(final String title) { + this.title = title; + } + public String getCaption() { return caption; } diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/AssignedImagesTable.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/AssignedImagesTable.java index 99176f3c9..2e6850258 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/AssignedImagesTable.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/AssignedImagesTable.java @@ -48,10 +48,11 @@ import org.librecms.contentsection.ItemAttachment; class AssignedImagesTable extends Table { protected static final int COL_PREVIEW = 0; - protected static final int COL_IMAGE_DATA = 1; - protected static final int COL_CAPTION = 2; - protected static final int COL_MOVE = 3; - protected static final int COL_REMOVE = 4; + protected static final int COL_TITLE = 1; + protected static final int COL_IMAGE_DATA = 2; + protected static final int COL_CAPTION = 3; + protected static final int COL_MOVE = 4; + protected static final int COL_REMOVE = 5; private final ItemSelectionModel itemSelectionModel; private final ItemAttachmentSelectionModel moveAttachmentModel; @@ -73,6 +74,11 @@ class AssignedImagesTable extends Table { new Label(new GlobalizedMessage( "cms.ui.authoring.assets.imagestep.assigned_images.preview_header", CmsConstants.CMS_BUNDLE)))); + columnModel.add(new TableColumn( + COL_TITLE, + new Label(new GlobalizedMessage( + "cms.ui.authoring.assets.imagestep.assigned_images.title_header", + CmsConstants.CMS_BUNDLE)))); columnModel.add(new TableColumn( COL_IMAGE_DATA, new Label(new GlobalizedMessage( diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/AssignedImagesTableModel.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/AssignedImagesTableModel.java index 6fe788566..476125b8a 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/AssignedImagesTableModel.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/AssignedImagesTableModel.java @@ -87,6 +87,8 @@ class AssignedImagesTableModel implements TableModel { return imageProperties; } + case AssignedImagesTable.COL_TITLE: + return currentRow.getTitle(); case AssignedImagesTable.COL_CAPTION: return currentRow.getCaption(); case AssignedImagesTable.COL_MOVE: diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/ImageStepController.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/ImageStepController.java index f6c682369..9e44978cf 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/ImageStepController.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/authoring/assets/images/ImageStepController.java @@ -18,6 +18,9 @@ */ package com.arsdigita.cms.ui.authoring.assets.images; +import com.arsdigita.kernel.KernelConfig; + +import org.libreccm.configuration.ConfigurationManager; import org.libreccm.l10n.LocalizedString; import org.librecms.assets.Image; import org.librecms.contentsection.AssetRepository; @@ -35,6 +38,7 @@ import java.util.Locale; import java.util.Objects; import java.util.stream.Collectors; +import javax.annotation.PostConstruct; import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.persistence.EntityManager; @@ -54,21 +58,34 @@ import javax.transaction.Transactional; @RequestScoped class ImageStepController { - @Inject - private EntityManager entityManager; - - @Inject - private ContentItemRepository itemRepo; - @Inject private AssetRepository assetRepo; @Inject private AttachmentListManager attachmentListManager; + @Inject + private ConfigurationManager confManager; + + @Inject + private ContentItemRepository itemRepo; + + @Inject + private EntityManager entityManager; + @Inject private ItemAttachmentManager attachmentManager; + private Locale defaultLocale; + + @PostConstruct + private void init() { + + final KernelConfig kernelConfig = confManager + .findConfiguration(KernelConfig.class); + defaultLocale = kernelConfig.getDefaultLocale(); + } + @Transactional(Transactional.TxType.REQUIRED) protected List> retrieveAssignedImages( final ContentItem fromContentItem) { @@ -284,14 +301,15 @@ class ImageStepController { query .select(criteriaBuilder.count(from)); + if (filter == null || filter.trim().isEmpty()) { if (excluededImages != null && !excluededImages.isEmpty()) { query.where(criteriaBuilder.not(from.in(excluededImages))); } } else { if (excluededImages == null || excluededImages.isEmpty()) { - criteriaBuilder.like(titleValuesJoin, - String.format("%s%%", filter)); + query.where(criteriaBuilder.like(titleValuesJoin, + String.format("%s%%", filter))); } else { query.where(criteriaBuilder.and( criteriaBuilder.not(from.in(excluededImages)), @@ -327,8 +345,9 @@ class ImageStepController { } } else { if (excludedImages == null || excludedImages.isEmpty()) { - criteriaBuilder.like(titleValuesJoin, - String.format("%s%%", filter)); + criteriaQuery + .where(criteriaBuilder.like(titleValuesJoin, + String.format("%s%%", filter))); } else { criteriaQuery.where(criteriaBuilder.and( criteriaBuilder.not(from.in(excludedImages)), @@ -369,7 +388,13 @@ class ImageStepController { final AvailableImageTableRow row = new AvailableImageTableRow(); row.setImageId(image.getObjectId()); row.setImageUuid(image.getUuid()); - row.setTitle(image.getTitle().getValue(selectedLocale)); + if (image.getTitle().hasValue(selectedLocale)) { + row.setTitle(image.getTitle().getValue(selectedLocale)); + } else if(image.getTitle().hasValue(defaultLocale)){ + row.setTitle(image.getTitle().getValue(defaultLocale)); + } else { + row.setTitle(image.getTitle().getValue()); + } row.setFilename(image.getFileName()); row.setWidth(image.getWidth()); row.setHeight(image.getHeight()); @@ -422,6 +447,13 @@ class ImageStepController { row.setWidth(image.getWidth()); row.setHeight(image.getHeight()); row.setType(image.getMimeType().toString()); + if (image.getTitle().hasValue(selectedLocale)) { + row.setTitle(image.getTitle().getValue(selectedLocale)); + } else if(image.getTitle().hasValue(defaultLocale)){ + row.setTitle(image.getTitle().getValue(defaultLocale)); + } else { + row.setTitle(image.getTitle().getValue()); + } row.setCaption(image.getDescription().getValue(selectedLocale)); return row; diff --git a/ccm-cms/src/main/resources/org/librecms/CmsResources.properties b/ccm-cms/src/main/resources/org/librecms/CmsResources.properties index 501fc374e..518134126 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsResources.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsResources.properties @@ -412,3 +412,4 @@ cms.ui.authoring.assets.imagestep.assigned_images.cancel_add_image=Cancel cms.ui.authoring.assets.imagestep.available_images.none=No images available cms.ui.authoring.assets.imagestep.available_images.title_header=Title cms.ui.authoring.assets.imagestep.available_images.add=Add +cms.ui.authoring.assets.imagestep.assigned_images.title_header=Title diff --git a/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties b/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties index 407b3aac6..5ad2f6c56 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties @@ -409,3 +409,4 @@ cms.ui.authoring.assets.imagestep.assigned_images.cancel_add_image=Abbrechen cms.ui.authoring.assets.imagestep.available_images.none=Keine Bilder verf\u00fcgbar cms.ui.authoring.assets.imagestep.available_images.title_header=Titel cms.ui.authoring.assets.imagestep.available_images.add=Hinzuf\u00fcgen +cms.ui.authoring.assets.imagestep.assigned_images.title_header=Titel diff --git a/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties b/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties index f91bd9813..dc11ea7f4 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties @@ -368,3 +368,4 @@ cms.ui.authoring.assets.imagestep.assigned_images.cancel_add_image=Cancel cms.ui.authoring.assets.imagestep.available_images.none=No images available cms.ui.authoring.assets.imagestep.available_images.title_header=Title cms.ui.authoring.assets.imagestep.available_images.add=Add +cms.ui.authoring.assets.imagestep.assigned_images.title_header=Title