From: <hei...@us...> - 2010-12-23 13:42:48
|
Revision: 7026 http://geonetwork.svn.sourceforge.net/geonetwork/?rev=7026&view=rev Author: heikkidoeleman Date: 2010-12-23 13:42:42 +0000 (Thu, 23 Dec 2010) Log Message: ----------- #412 : Add isPublishedToAll to geonet:info Modified Paths: -------------- trunk/web/src/main/java/org/fao/geonet/constants/Edit.java trunk/web/src/main/java/org/fao/geonet/guiservices/metadata/GetByOwner.java trunk/web/src/main/java/org/fao/geonet/kernel/AccessManager.java trunk/web/src/main/java/org/fao/geonet/kernel/DataManager.java Modified: trunk/web/src/main/java/org/fao/geonet/constants/Edit.java =================================================================== --- trunk/web/src/main/java/org/fao/geonet/constants/Edit.java 2010-12-23 13:11:12 UTC (rev 7025) +++ trunk/web/src/main/java/org/fao/geonet/constants/Edit.java 2010-12-23 13:42:42 UTC (rev 7026) @@ -93,6 +93,7 @@ public static final String DISPLAY_ORDER = "displayOrder"; public static final String BASEURL = "baseUrl"; public static final String LOCSERV = "locService"; + public static final String IS_PUBLISHED_TO_ALL = "isPublishedToAll"; //--- privileges Modified: trunk/web/src/main/java/org/fao/geonet/guiservices/metadata/GetByOwner.java =================================================================== --- trunk/web/src/main/java/org/fao/geonet/guiservices/metadata/GetByOwner.java 2010-12-23 13:11:12 UTC (rev 7025) +++ trunk/web/src/main/java/org/fao/geonet/guiservices/metadata/GetByOwner.java 2010-12-23 13:42:42 UTC (rev 7026) @@ -96,7 +96,6 @@ for (Iterator iter = result.getChildren().iterator(); iter.hasNext();) { Element rec = (Element)iter.next(); String id = rec.getChildText("id"); - Element md = gc.getDataManager().getMetadata(context, id, false); _response.addContent(md); } @@ -120,4 +119,4 @@ return sortBy; } -} \ No newline at end of file +} Modified: trunk/web/src/main/java/org/fao/geonet/kernel/AccessManager.java =================================================================== --- trunk/web/src/main/java/org/fao/geonet/kernel/AccessManager.java 2010-12-23 13:11:12 UTC (rev 7025) +++ trunk/web/src/main/java/org/fao/geonet/kernel/AccessManager.java 2010-12-23 13:42:42 UTC (rev 7026) @@ -342,6 +342,32 @@ return false; } + /** + * Returns whether a particular metadata is visible to group 'all'. + * @param dbms + * @param metadataId + * @return + * @throws Exception + */ + public boolean isVisibleToAll(Dbms dbms, String metadataId) throws Exception { + // group 'all' has the magic id 1. + String query = "SELECT operationId FROM OperationAllowed WHERE groupId = 1 AND metadataId = " + metadataId; + Element result = dbms.select(query); + if(result == null) { + return false; + } + else { + List<Element> records = result.getChildren("record"); + for(Element record : records) { + String operationId = record.getChildText("operationid"); + if(operationId != null && operationId.equals(OPER_VIEW)) { + return true; + } + } + return false; + } + } + public boolean hasEditPermission(ServiceContext context, String id) throws Exception { Modified: trunk/web/src/main/java/org/fao/geonet/kernel/DataManager.java =================================================================== --- trunk/web/src/main/java/org/fao/geonet/kernel/DataManager.java 2010-12-23 13:11:12 UTC (rev 7025) +++ trunk/web/src/main/java/org/fao/geonet/kernel/DataManager.java 2010-12-23 13:42:42 UTC (rev 7026) @@ -2840,6 +2840,13 @@ addElement(info, Edit.Info.Elem.OWNER, "true"); } + if(accessMan.isVisibleToAll(dbms, id)) { + addElement(info, Edit.Info.Elem.IS_PUBLISHED_TO_ALL, "true"); + } + else { + addElement(info, Edit.Info.Elem.IS_PUBLISHED_TO_ALL, "false"); + } + // add owner name query = "SELECT username FROM Users WHERE id = " + owner; Element record = dbms.select(query).getChild("record"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |