tdraier 2005/03/24 16:40:47 CET
Modified files: (Branch: JAHIA-4-0-BRANCH)
src/java/org/apache/slide/macro MacroImpl.java
src/java/org/jahia/engines/filemanager
DAVFilemanager_Engine.java
src/java/org/jahia/services/webdav DAVFileAccess.java
src/java JahiaEnginesResources.properties
JahiaEnginesResources_en.properties
JahiaEnginesResources_fr.properties
src/views/jsp/jahia/engines/filemanager error.jsp
Log:
throws an exception and display an error when trying to remove/move/rename a
directory with private files inside.
Revision Changes Path
1.58.2.8 +1 -1 jahia/src/java/JahiaEnginesResources.properties
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/JahiaEnginesResources.properties.diff?r1=1.58.2.7&r2=1.58.2.8&f=h
1.26.2.8 +1 -1 jahia/src/java/JahiaEnginesResources_en.properties
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/JahiaEnginesResources_en.properties.diff?r1=1.26.2.7&r2=1.26.2.8&f=h
1.35.2.12 +1 -1 jahia/src/java/JahiaEnginesResources_fr.properties
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/JahiaEnginesResources_fr.properties.diff?r1=1.35.2.11&r2=1.35.2.12&f=h
1.3.4.4 +26 -4 jahia/src/java/org/apache/slide/macro/MacroImpl.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/apache/slide/macro/MacroImpl.java.diff?r1=1.3.4.3&r2=1.3.4.4&f=h
1.20.2.6 +4 -0
jahia/src/java/org/jahia/engines/filemanager/DAVFilemanager_Engine.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/jahia/engines/filemanager/DAVFilemanager_Engine.java.diff?r1=1.20.2.5&r2=1.20.2.6&f=h
1.22.2.4 +0 -0
jahia/src/java/org/jahia/services/webdav/DAVFileAccess.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/jahia/services/webdav/DAVFileAccess.java.diff?r1=1.22.2.3&r2=1.22.2.4&f=h
1.5.4.2 +2 -2 jahia/src/views/jsp/jahia/engines/filemanager/error.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/views/jsp/jahia/engines/filemanager/error.jsp.diff?r1=1.5.4.1&r2=1.5.4.2&f=h
Index: MacroImpl.java
===================================================================
RCS file:
/home/cvs/repository/jahia/src/java/org/apache/slide/macro/Attic/MacroImpl.java,v
retrieving revision 1.3.4.3
retrieving revision 1.3.4.4
diff -u -r1.3.4.3 -r1.3.4.4
--- MacroImpl.java 19 Nov 2004 16:01:46 -0000 1.3.4.3
+++ MacroImpl.java 24 Mar 2005 15:40:45 -0000 1.3.4.4
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/repository/jahia/src/java/org/apache/slide/macro/Attic/MacroImpl.java,v
1.3.4.3 2004/11/19 16:01:46 tdraier Exp $
- * $Revision: 1.3.4.3 $
- * $Date: 2004/11/19 16:01:46 $
+ * $Header:
/home/cvs/repository/jahia/src/java/org/apache/slide/macro/Attic/MacroImpl.java,v
1.3.4.4 2005/03/24 15:40:45 tdraier Exp $
+ * $Revision: 1.3.4.4 $
+ * $Date: 2005/03/24 15:40:45 $
*
* ====================================================================
*
@@ -88,7 +88,7 @@
* Macro helper class.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Remy Maucherat</a>
- * @version $Revision: 1.3.4.3 $
+ * @version $Revision: 1.3.4.4 $
*/
public final class MacroImpl implements Macro {
@@ -257,6 +257,13 @@
public void move(SlideToken token, String sourceUri,
String destinationUri, MacroParameters parameters)
throws CopyMacroException, DeleteMacroException {
+ try {
+ checkDelete(token, sourceUri);
+ } catch (SlideException e) {
+ DeleteMacroException ex = new DeleteMacroException("Move
failed");
+ ex.addException(e);
+ throw ex;
+ }
copy(token, sourceUri, destinationUri, parameters);
JahiaWebdavBaseService.getInstance().move(sourceUri, destinationUri,
namespace.getName());
delete(token, sourceUri, parameters);
@@ -447,6 +454,7 @@
MacroException e) {
Domain.debug("Delete object : " + targetUri);
try {
+ checkDelete(token, targetUri);
ObjectNode currentObject =
structureHelper.retrieve(token, targetUri, false);
@@ -506,6 +514,20 @@
}
+ private void checkDelete(SlideToken token, String uri) throws
SlideException {
+ ObjectNode currentObject =
+ structureHelper.retrieve(token, uri, false);
+
+ securityHelper.checkCredentials(token, currentObject, namespaceConfig
+ .getRemoveObjectAction());
+
+ if (currentObject.hasChildren()) {
+ Enumeration children = currentObject.enumerateChildren();
+ while (children.hasMoreElements()) {
+ checkDelete(token, (String) children.nextElement());
+ }
+ }
+ }
}
Index: DAVFilemanager_Engine.java
===================================================================
RCS file:
/home/cvs/repository/jahia/src/java/org/jahia/engines/filemanager/Attic/DAVFilemanager_Engine.java,v
retrieving revision 1.20.2.5
retrieving revision 1.20.2.6
diff -u -r1.20.2.5 -r1.20.2.6
--- DAVFilemanager_Engine.java 25 Feb 2005 13:58:40 -0000 1.20.2.5
+++ DAVFilemanager_Engine.java 24 Mar 2005 15:40:46 -0000 1.20.2.6
@@ -79,6 +79,7 @@
private static final String FILEUSAGE_TEMPLATE_JSP =
"filemanager_fileusage";
private static final String MIGRATION_TEMPLATE_JSP =
"filemanager_migration";
private static final String RIGHTS_JSP =
"/jsp/jahia/engines/rights/manage_rights.jsp";
+ private static final String ERROR_JSP = "filemanager_error";
private static final String CLOSE_JSP = "close";
private static DAVFilemanager_Engine instance = null;
@@ -284,6 +285,7 @@
objectDav.commitTransaction ();
} else {
objectDav.rollbackTransaction ();
+ jParams.setParameter ("screen", "error");
}
}
}
@@ -536,6 +538,8 @@
if (theScreen.equals ("close")) {
engineMap.put ("jspSource", CLOSE_JSP);
+ } else if (theScreen.equals ("error")) {
+ engineMap.put ("jspSource", ERROR_JSP);
} else if (theScreen.equals ("createDir")) {
engineMap.put ("jspSource", CREATEDIR_TEMPLATE_JSP);
} else if (theScreen.equals ("fileUpload")) {
Index: JahiaEnginesResources.properties
===================================================================
RCS file:
/home/cvs/repository/jahia/src/java/Attic/JahiaEnginesResources.properties,v
retrieving revision 1.58.2.7
retrieving revision 1.58.2.8
diff -u -r1.58.2.7 -r1.58.2.8
--- JahiaEnginesResources.properties 17 Mar 2005 16:13:23 -0000 1.58.2.7
+++ JahiaEnginesResources.properties 24 Mar 2005 15:40:46 -0000 1.58.2.8
@@ -606,7 +606,7 @@
org.jahia.engines.filemanager.Filemanager_Engine.deleteDir.label
= Delete Directory
org.jahia.engines.filemanager.Filemanager_Engine.fileList.label
= Files List
org.jahia.engines.filemanager.Filemanager_Engine.fileLocation.label
= File Location
-org.jahia.engines.filemanager.Filemanager_Engine.filemanagerError.label
= Filemanager - Error
+org.jahia.engines.filemanager.Filemanager_Engine.filemanagerError.label
= Filemanager - An error occured during the
operation
org.jahia.engines.filemanager.Filemanager_Engine.fileName.label
= File Name
org.jahia.engines.filemanager.Filemanager_Engine.dirName.label
= Directory Name
org.jahia.engines.filemanager.Filemanager_Engine.newName.label
= New Name
Index: JahiaEnginesResources_en.properties
===================================================================
RCS file:
/home/cvs/repository/jahia/src/java/Attic/JahiaEnginesResources_en.properties,v
retrieving revision 1.26.2.7
retrieving revision 1.26.2.8
diff -u -r1.26.2.7 -r1.26.2.8
--- JahiaEnginesResources_en.properties 17 Mar 2005 16:13:24 -0000
1.26.2.7
+++ JahiaEnginesResources_en.properties 24 Mar 2005 15:40:46 -0000
1.26.2.8
@@ -606,7 +606,7 @@
org.jahia.engines.filemanager.Filemanager_Engine.deleteDir.label
= Delete Directory
org.jahia.engines.filemanager.Filemanager_Engine.fileList.label
= Files List
org.jahia.engines.filemanager.Filemanager_Engine.fileLocation.label
= File Location
-org.jahia.engines.filemanager.Filemanager_Engine.filemanagerError.label
= Filemanager - Error
+org.jahia.engines.filemanager.Filemanager_Engine.filemanagerError.label
= Filemanager - An error occured during the
operation
org.jahia.engines.filemanager.Filemanager_Engine.fileName.label
= File Name
org.jahia.engines.filemanager.Filemanager_Engine.dirName.label
= Directory Name
org.jahia.engines.filemanager.Filemanager_Engine.newName.label
= New Name
Index: JahiaEnginesResources_fr.properties
===================================================================
RCS file:
/home/cvs/repository/jahia/src/java/Attic/JahiaEnginesResources_fr.properties,v
retrieving revision 1.35.2.11
retrieving revision 1.35.2.12
diff -u -r1.35.2.11 -r1.35.2.12
--- JahiaEnginesResources_fr.properties 17 Mar 2005 16:13:24 -0000
1.35.2.11
+++ JahiaEnginesResources_fr.properties 24 Mar 2005 15:40:46 -0000
1.35.2.12
@@ -270,7 +270,7 @@
org.jahia.engines.filemanager.Filemanager_Engine.deleteDir.label
= Supprimer le répertoire
org.jahia.engines.filemanager.Filemanager_Engine.fileList.label
= Liste des fichiers
org.jahia.engines.filemanager.Filemanager_Engine.fileLocation.label
= Emplacement du fichier
-org.jahia.engines.filemanager.Filemanager_Engine.filemanagerError.label
= Gestionnaire de fichiers - Erreur
+org.jahia.engines.filemanager.Filemanager_Engine.filemanagerError.label
= Gestionnaire de fichiers - Une erreur est
survenue pendant l'opération
org.jahia.engines.filemanager.Filemanager_Engine.fileName.label
= Nom du fichier
org.jahia.engines.filemanager.Filemanager_Engine.dirName.label
= Nom du répertoire
org.jahia.engines.filemanager.Filemanager_Engine.newName.label
= Nouveau nom
Index: error.jsp
===================================================================
RCS file:
/home/cvs/repository/jahia/src/views/jsp/jahia/engines/filemanager/Attic/error.jsp,v
retrieving revision 1.5.4.1
retrieving revision 1.5.4.2
diff -u -r1.5.4.1 -r1.5.4.2
--- error.jsp 6 Aug 2004 18:01:11 -0000 1.5.4.1
+++ error.jsp 24 Mar 2005 15:40:47 -0000 1.5.4.2
@@ -42,7 +42,7 @@
<tr>
<td width="80%" class="text" valign="top" align="center">
<p class="text">
- <b><jahia:engineResourceBundle
resourceName="org.jahia.engines.filemanager.Filemanager_Engine.fileManagerError.label"/></b>
+ <b><jahia:engineResourceBundle
resourceName="org.jahia.engines.filemanager.Filemanager_Engine.filemanagerError.label"/></b>
</p>
</td>
</tr>
@@ -58,7 +58,7 @@
<tr>
<td align="center" class="text">
<br><br>
- <a href="#" onClick="history.back()" onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('Close','','<jahia:serverHttpPath/><jahia:engineResourceBundle
resourceName="org.jahia.closeOn.button"/>',1)"><img name="Close"
src="<jahia:serverHttpPath/><jahia:engineResourceBundle
resourceName="org.jahia.closeOff.button"/>" width="69" height="17"
border="0"></a>
+ <a href="#" onClick="window.close()" onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('Close','','<jahia:serverHttpPath/><jahia:engineResourceBundle
resourceName="org.jahia.closeOn.button"/>',1)"><img name="Close"
src="<jahia:serverHttpPath/><jahia:engineResourceBundle
resourceName="org.jahia.closeOff.button"/>" width="69" height="17"
border="0"></a>
</td>
</tr>
<tr>