From: <die...@us...> - 2010-06-29 15:16:56
|
Revision: 2725 http://openutils.svn.sourceforge.net/openutils/?rev=2725&view=rev Author: diego_schivo Date: 2010-06-29 15:16:49 +0000 (Tue, 29 Jun 2010) Log Message: ----------- MEDIA-145 sort by title Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/folderView.css trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java 2010-06-29 14:31:49 UTC (rev 2724) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java 2010-06-29 15:16:49 UTC (rev 2725) @@ -51,6 +51,7 @@ import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResult; import net.sourceforge.openutils.mgnlcriteria.jcr.query.Criteria; import net.sourceforge.openutils.mgnlcriteria.jcr.query.JCRCriteriaFactory; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Order; import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Restrictions; import net.sourceforge.openutils.mgnlmedia.media.lifecycle.MediaModule; import net.sourceforge.openutils.mgnlmedia.media.pages.MediaFolderViewPage; @@ -384,13 +385,13 @@ * @param pageSize * @return */ - public AdvancedResult find(String path, String type, String search, boolean recursive, int pageIndex, int pageSize) + public AdvancedResult find(String path, String type, String search, boolean childrenOnly, String sorting, int pageIndex, int pageSize) { Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace(MediaModule.REPO); path = StringUtils.removeEnd(StringUtils.removeStart(StringUtils.trimToEmpty(path), "/"), "/"); if (!StringUtils.isEmpty(path)) { - criteria.setBasePath("//" + path + (recursive ? "//*" : "/*")); + criteria.setBasePath("//" + path + (childrenOnly ? "/*" : "//*")); } criteria.add(Restrictions.eq("@jcr:primaryType", MGNL_MEDIA_TYPE)); if (!StringUtils.isEmpty(type)) @@ -401,6 +402,10 @@ { criteria.add(Restrictions.contains(".", search)); } + if ("title".equals(sorting)) + { + criteria.addOrder(Order.asc("@title")); + } if (pageSize > 0) { criteria.setFirstResult(pageIndex * pageSize); Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2010-06-29 14:31:49 UTC (rev 2724) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2010-06-29 15:16:49 UTC (rev 2725) @@ -209,7 +209,14 @@ writable = folder.isGranted(Permission.WRITE); canPublish = writable && ActivationManagerFactory.getActivationManager().hasAnyActiveSubscriber(); - typeResult = MediaConfigurationManager.getInstance().find(folder.getHandle(), type, null, false, 0, -1); + typeResult = MediaConfigurationManager.getInstance().find( + folder.getHandle(), + type, + null, + true, + sorting, + 0, + -1); } catch (RepositoryException ex) { @@ -221,7 +228,7 @@ writable = false; canPublish = false; - typeResult = MediaConfigurationManager.getInstance().find(null, type, search, true, 0, -1); + typeResult = MediaConfigurationManager.getInstance().find(null, type, search, false, sorting, 0, -1); } if (typeResult != null && typeResult.getItems().hasNext()) @@ -553,6 +560,24 @@ } /** + * Returns the sorting. + * @return the sorting + */ + public String getSorting() + { + return sorting; + } + + /** + * Sets the sorting. + * @param sorting the sorting to set + */ + public void setSorting(String sorting) + { + this.sorting = sorting; + } + + /** * Returns the writable. * @return the writable */ Modified: trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/folderView.css =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/folderView.css 2010-06-29 14:31:49 UTC (rev 2724) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/folderView.css 2010-06-29 15:16:49 UTC (rev 2725) @@ -39,12 +39,15 @@ float: right; } -#navigation #bgselectorblock { - width: 48px; +#navigation #sortingblock,#navigation #bgselectorblock { float: right; margin-right: 10px; } +#navigation #bgselectorblock { + width: 48px; +} + #navigation .right a.bg-selector { padding-left: 16px; height: 16px; Modified: trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html 2010-06-29 14:31:49 UTC (rev 2724) +++ trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html 2010-06-29 15:16:49 UTC (rev 2725) @@ -142,6 +142,13 @@ <a name="bg-white" href="#" class="bg-selector white [#if this.bgSelector == 'white']white-active[/#if]" title="${this.msgs.get('media.bgselector.white')}"><!-- --></a> </div> </div> + <div id="sortingblock"> + <select name="sorting" onchange="location.href = '?type=${this.type}&path=${this.path!?url!''}&sorting=' + this.options[this.selectedIndex].value"> + <option value="creationdate"[#if this.sorting == 'creationdate'] selected="selected"[/#if]>Creation date</option> + <option value="modificationdate"[#if this.sorting == 'modificationdate'] selected="selected"[/#if]>Modification date</option> + <option value="title"[#if this.sorting == 'title'] selected="selected"[/#if]>Title</option> + </select> + </div> [#list this.types as type] [#if type.name == this.type] [#assign actual = "actual"] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |