From 7bd424537e198f973bf1041e17d0fde5c40933f2 Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Wed, 10 Feb 2021 20:43:18 +0100 Subject: [PATCH] AssetFolder view Former-commit-id: 4489b16195dc7155096c89c61916dc52b9b7a039 --- .../contentsection/AssetFolderEntry.java | 3 - .../org/librecms/contentsection/Folder.java | 4 +- .../ui/contentsections/AssetFolderModel.java | 8 + .../assetfolder/asset-folder-tree-node.xhtml | 51 ++ .../assetfolder/assetfolder.xhtml | 526 ++++++++++++++++++ .../ui/contentsection/contentsection.xhtml | 2 +- .../document-folder-tree-node.xhtml | 4 +- .../documentfolder/documentfolder.xhtml | 3 +- .../org/librecms/CmsAdminMessages.properties | 46 ++ .../librecms/CmsAdminMessages_de.properties | 48 +- 10 files changed, 684 insertions(+), 11 deletions(-) create mode 100644 ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assetfolder/asset-folder-tree-node.xhtml create mode 100644 ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assetfolder/assetfolder.xhtml diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/AssetFolderEntry.java b/ccm-cms/src/main/java/org/librecms/contentsection/AssetFolderEntry.java index ac2609c15..d0342e09f 100644 --- a/ccm-cms/src/main/java/org/librecms/contentsection/AssetFolderEntry.java +++ b/ccm-cms/src/main/java/org/librecms/contentsection/AssetFolderEntry.java @@ -30,9 +30,6 @@ public class AssetFolderEntry { final long entryId, final String entryUuid, final String displayName, - final Date creationDate, - final Date lastModified, - final String version, final boolean folder ) { this.entryId = entryId; diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/Folder.java b/ccm-cms/src/main/java/org/librecms/contentsection/Folder.java index f8a60ac45..c6d5984f0 100644 --- a/ccm-cms/src/main/java/org/librecms/contentsection/Folder.java +++ b/ccm-cms/src/main/java/org/librecms/contentsection/Folder.java @@ -176,7 +176,7 @@ import static org.librecms.CmsConstants.*; + " ON categories.object_id = folders.object_id " + "WHERE categories.parent_category_id = :folderId " + "AND folders.\"type\" = 'ASSETS_FOLDER'", - resultSetMapping = "Folder.DocumentFolderEntry" + resultSetMapping = "Folder.AssetFolderEntry" ), @NamedNativeQuery( name = "Folder.countDocumentFolderEntries", @@ -262,7 +262,7 @@ import static org.librecms.CmsConstants.*; } ), @SqlResultSetMapping( - name = "Folder.getAssetFolderEntries", + name = "Folder.AssetFolderEntry", classes = { @ConstructorResult( columns = { diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/AssetFolderModel.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/AssetFolderModel.java index 17b7b2cf6..a206114da 100644 --- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/AssetFolderModel.java +++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/AssetFolderModel.java @@ -66,6 +66,14 @@ public class AssetFolderModel { this.maxResults = maxResults; } + public long getNumberOfPages() { + return (long) Math.ceil((double) count / maxResults); + } + + public long getCurrentPage() { + return (long) Math.ceil((double) firstResult / maxResults) + 1; + } + public List getRows() { return Collections.unmodifiableList(rows); } diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assetfolder/asset-folder-tree-node.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assetfolder/asset-folder-tree-node.xhtml new file mode 100644 index 000000000..8caea7b5f --- /dev/null +++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assetfolder/asset-folder-tree-node.xhtml @@ -0,0 +1,51 @@ +]> + + + + +
  • +
    + + + + #{folder.name} + + + #{folder.name} + + +
    +
      + + + + + + +
    +
  • +
    + +
  • + #{folder.name} +
  • +
    +
    +
    + diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assetfolder/assetfolder.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assetfolder/assetfolder.xhtml new file mode 100644 index 000000000..55f5d1f6e --- /dev/null +++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assetfolder/assetfolder.xhtml @@ -0,0 +1,526 @@ +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    #{CmsAdminMessages.getMessage("contentsection.assetfolder.heading", [ContentSectionModel.sectionName])}

    + +
    +
    +
    + + +
    + +
    + +
    +
    + +
    + +
    +
    +
    +
    +
    +
    + +
    + +
    + +
    +
    +
    +

    + ${CmsAdminMessages.getMessage("contentsection.assetfolder.pageof", [AssetFolderModel.currentPage, AssetFolderModel.numberOfPages])} +

    +
    + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + +
    + #{CmsAdminMessages['contentsection.assetfolder.headers.name.label']} + + #{CmsAdminMessages['contentsection.assetfolder.headers.title.label']} + + #{CmsAdminMessages['contentsection.assetfolder.headers.type.label']} + + #{CmsAdminMessages['contentsection.assetfolder.headers.actions.label']} +
    + + + #{row.name} + + + #{row.name} + + + #{row.name} + + + #{row.title}#{row.type} + + + + + + + + +
    + + +

    #{CmsAdminMessages['contentsection.assetfolder.your_permissions.title']}

    + + + + + + + + + + + + + + + +
    + #{CmsAdminMessages['asset_permissions.'.concat(privilege)]} +
    + + +
    + + #{CmsAdminMessages['contentsection.assetfolder.permissions.granted']} +
    +
    + +
    + + #{CmsAdminMessages['contentsection.assetfolder.permissions.denied']} +
    +
    +
    +
    + +

    #{CmsAdminMessages['contentsection.assetfolder.permissions.title']}

    + + + + + + + + + + + + + + + + + + + + + +
    + #{CmsAdminMessages['contentsection.assetfolder.permissions.role.header']} + + #{CmsAdminMessages['asset_permissions.'.concat(privilege)]} + + #{CmsAdminMessages['contentsection.assetfolder.permissions.actions']} +
    #{permissions.grantee} + + +
    + + #{CmsAdminMessages['contentsection.assetfolder.permissions.inherited']} +
    +
    + +
    + + #{CmsAdminMessages['contentsection.assetfolder.permissions.granted']} +
    +
    + +
    + + #{CmsAdminMessages['contentsection.assetfolder.permissions.denied']} +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/contentsection.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/contentsection.xhtml index 20a8ceb9e..526caa5a9 100644 --- a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/contentsection.xhtml +++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/contentsection.xhtml @@ -41,7 +41,7 @@
    • @@ -40,7 +39,6 @@
    -
  • diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documentfolder/documentfolder.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documentfolder/documentfolder.xhtml index ca6cc20d2..72efe0141 100644 --- a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documentfolder/documentfolder.xhtml +++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documentfolder/documentfolder.xhtml @@ -94,7 +94,8 @@
    -
    diff --git a/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages.properties b/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages.properties index ebeb60eb9..30c20ee72 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages.properties @@ -95,3 +95,49 @@ contentsection.documentfolder.rename_folder_dialog.close=Cancel contentsection.documentfolder.rename_folder_dialog.save=Rename folder contentsection.documentfolder.rename_folder.name.label=Name contentsection.documentfolder.rename_folder.name.help=The new name of the folder. May only contain the letters a to z and A to Z, numbers, the dash and the underscore +contentsection.assettfolder.foldersnav.subfolders.expand=Show subfolders of +contentsection.assetfolder.heading=Content Section {0} Media & Data Folders +contentsection.assetfolders.searchbox.label=Search in media & data folders +contentsection.assetfolders.searchbox.submit=Search +contentsection.assetfolders.root.title=Media & Data +contentsection.assetfolder.filter.label=Filter media & data asests +contentsection.assetfolder.filter.submit=Apply filter +contentsection.assetfolder.pageof=Page {0} of {1} +contentsection.assetfolder.add_subfolder=Add new subfolder +contentsection.assetfolder.new_subfolder_dialog.title=Create new subfolder +contentsection.assetfolder.new_subfolder_dialog.close=Cancel +contentsection.assetfolder.new_subfolder.name.label=Name +contentsection.assetfolder.new_subfolder.name.help=The name of the new subfolder. May only contain the letters a to z and A to Z, numbers, the dash and the underscore +contentsection.assetfolder.new_subfolder_dialog.submit=Create new folder +contentsection.assetfolder.add_asset=Create new media & data asset +contentsection.assetfolder.headers.name.label=Name +contentsection.assetfolder.headers.title.label=Title +contentsection.assetfolder.headers.type.label=Type +contentsection.assetfolder.headers.actions.label=Actions +contentsection.assetfolder.actions.rename_folder.button.label=Rename folder +contentsection.assetfolder.rename_folder_dialog.title=Rename folder /{0} +contentsection.assetfolder.rename_folder_dialog.close=Cancel +contentsection.assetfolder.rename_folder.name.label=Name +contentsection.assestfolder.rename_folder.name.help=The new name of the folder. May only contain the letters a to z and A to Z, numbers, the dash and the underscore +contentsection.assetfolder.rename_folder_dialog.save=Rename folder +contentsection.assetfolder.actions.delete.button.label=Delete +contentsection.assetfolder.pagination.label=Pages +contentsection.assetfolder.pagination.previous_page=Previous page +contentsection.assetfolder.pagination.next_page=Next page +contentsection.assetfolder.your_permissions.title=Your permissions +contentsection.assetfolder.permissions.granted=Granted +contentsection.assetfolder.permissions.denied=Denied +contentsection.assetfolder.permissions.title=Permissions +contentsection.assetfolder.permissions.role.header=Role +contentsection.assetfolder.permissions.actions=Actions +contentsection.assetfolder.permissions.inherited=Inherited +contentsection.assetfolder.permissions.edit=Edit +contentsection.assetfolder.permissions.dialog.title=Edit permissions of role {1} for folder {0} +contentsection.assetfolder.permissions.dialog.close=Cancel +contentsection.assetfolder.permissions.dialog.granted_by_inheritence=Granted by inhertitence +contentsection.assetfolder.permissions.dialog.submit=Apply changed permissions +asset_permissions.create_new_assets=Create new media & data objects +asset_permissions.delete_assets=Delete +asset_permissions.use_asset=Use +asset_permissions.edit_asset=Edit +asset_permissions.view_asset=View diff --git a/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages_de.properties b/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages_de.properties index 595b13317..d639150f8 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages_de.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsAdminMessages_de.properties @@ -53,7 +53,7 @@ contentsections.documentfolder.not_found=Es wurde kein Ordner mit dem Pfad {1} i contentsection.not_found.title=Content Section nicht gefunden contentsection.documentfolders.searchbox.label=In Dokument-Ordnern suchen contentsection.documentfolders.searchbox.submit=Suchen -contentsection.assetfolders.title=Media & Data +contentsection.assetfolders.title=Medien & Daten contentsection.categories.title=Kategorien & Seitenb\u00e4ume contentsection.configuration.title=Konfiguration contentsection.documentfolder.new_subfolder_dialog.title=Neuen Unterordner erstellen @@ -95,3 +95,49 @@ contentsection.documentfolder.rename_folder_dialog.close=Abbrechen contentsection.documentfolder.rename_folder_dialog.save=Ordner umbenennen contentsection.documentfolder.rename_folder.name.label=Name contentsection.documentfolder.rename_folder.name.help=Der neue Name des Ordners. Darf nur die Buchstaben a bis z und A bis Z, Ziffern, den Bindestrich und den Unterstrich enthalten. +contentsection.assettfolder.foldersnav.subfolders.expand=Unterordner anzeigen +contentsection.assetfolder.heading=Content Section {0} Medien & Daten Ordner +contentsection.assetfolders.searchbox.label=Suche in Medien und Daten Ordnern +contentsection.assetfolders.searchbox.submit=Suche +contentsection.assetfolders.root.title=Medien & Daten +contentsection.assetfolder.filter.label=Medien & Daten Objekte filtern +contentsection.assetfolder.filter.submit=Filter anwenden +contentsection.assetfolder.pageof=Seite {0} von {1} +contentsection.assetfolder.add_subfolder=Unterordner erstellen +contentsection.assetfolder.new_subfolder_dialog.title=Neuen Unterordner erstellen +contentsection.assetfolder.new_subfolder_dialog.close=Abbrechen +contentsection.assetfolder.new_subfolder.name.label=Name +contentsection.assetfolder.new_subfolder.name.help=Der Name des neuen Ordners. Darf nur die Buchstaben a bis z und A bis Z, Ziffern, den Bindestrich und den Unterstrich enthalten. +contentsection.assetfolder.new_subfolder_dialog.submit=Neuen Ordner anlegen +contentsection.assetfolder.add_asset=Neues Medien & Daten Objekt anlegen +contentsection.assetfolder.headers.name.label=Name +contentsection.assetfolder.headers.title.label=Title +contentsection.assetfolder.headers.type.label=Typ +contentsection.assetfolder.headers.actions.label=Aktionen +contentsection.assetfolder.actions.rename_folder.button.label=Ordner umbenennen +contentsection.assetfolder.rename_folder_dialog.title=Ordner /{0} umbenennen +contentsection.assetfolder.rename_folder_dialog.close=Abbrechen +contentsection.assetfolder.rename_folder.name.label=Name +contentsection.assestfolder.rename_folder.name.help=Der neue Name des Ordners. Darf nur die Buchstaben a bis z und A bis Z, Ziffern, den Bindestrich und den Unterstrich enthalten. +contentsection.assetfolder.rename_folder_dialog.save=Ordner umbenennen +contentsection.assetfolder.actions.delete.button.label=L\u00f6schen +contentsection.assetfolder.pagination.label=Seiten +contentsection.assetfolder.pagination.previous_page=Eine Seite zur\u00fcck +contentsection.assetfolder.pagination.next_page=Eine Seite vor +contentsection.assetfolder.your_permissions.title=Ihre Berechtigungen +contentsection.assetfolder.permissions.granted=Gew\u00e4hrt +contentsection.assetfolder.permissions.denied=Verweigert +contentsection.assetfolder.permissions.title=Berechtigungen +contentsection.assetfolder.permissions.role.header=Rolle +contentsection.assetfolder.permissions.actions=Aktionen +contentsection.assetfolder.permissions.inherited=Geerbt +contentsection.assetfolder.permissions.edit=Bearbeiten +contentsection.assetfolder.permissions.dialog.title=Berechtigungen der Rolle {1} f\u00fcr Ordner {0} bearbeiten +contentsection.assetfolder.permissions.dialog.close=Abbrechen +contentsection.assetfolder.permissions.dialog.granted_by_inheritence=Durch \u00fcbergeordnetes Objekt gew\u00e4hrt +contentsection.assetfolder.permissions.dialog.submit=Berechtigungen anwenden +asset_permissions.create_new_assets=Neue Medien & Daten Objekte anlegen +asset_permissions.delete_assets=L\u00f6schen +asset_permissions.use_asset=Asset +asset_permissions.edit_asset=Bearbeiten +asset_permissions.view_asset=Betrachten