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;
}