Author: psharples
Date: Wed Dec  5 14:11:40 2012
New Revision: 1417432

URL: http://svn.apache.org/viewvc?rev=1417432&view=rev
Log:
Added checks to make sure that pages to be deleted are owned by the user, if 
not then only remove the pageUser reference. See RAVE-859. 

Modified:
    
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java

Modified: 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java?rev=1417432&r1=1417431&r2=1417432&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java
 (original)
+++ 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java
 Wed Dec  5 14:11:40 2012
@@ -86,7 +86,23 @@ public class JpaPageRepository implement
         List<Page> pages = getAllPages(userId, pageType);
         int pageCount = pages.size();
         for(Page page : pages) {
-            delete(page);
+            if(page.getOwnerId().equals(userId)){
+                delete(page);
+            }else{
+                // remove any pageUser entries for this user on 
+                // this page as it is a shared page
+                PageUser pageUserToRemove = null;
+                for(PageUser pageUser : page.getMembers()){
+                    if(pageUser.getUserId().equals(userId)){
+                        pageUserToRemove = pageUser;
+                        break;
+                    }
+                }
+                if(pageUserToRemove != null){
+                    page.getMembers().remove(pageUserToRemove);
+                    save(page);
+                }
+            }
         }
         return pageCount;
     }


Reply via email to