You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by ps...@apache.org on 2012/12/05 15:11:41 UTC
svn commit: r1417432 -
/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java
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;
}