You can no longer view projectIdeas that your not involved in at the submission page

This commit is contained in:
FredrikNorberg 2012-02-14 14:53:30 +01:00
parent 3681b73a59
commit 3188832001

@ -1,10 +1,18 @@
package se.su.dsv.scipro.project.pages;
import java.util.ArrayList;
import java.util.List;
import org.apache.wicket.PageParameters;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.spring.injection.annot.SpringBean;
import se.su.dsv.scipro.SciProApplication;
import se.su.dsv.scipro.SciProSession;
import se.su.dsv.scipro.basepages.MenuPage;
import se.su.dsv.scipro.components.menuhighlighting.MenuHighlightProjectIdeas;
import se.su.dsv.scipro.data.dataobjects.Student;
import se.su.dsv.scipro.data.dataobjects.User;
import se.su.dsv.scipro.match.dao.interfaces.ProjectIdeaDao;
import se.su.dsv.scipro.match.dataobject.ProjectIdea;
import se.su.dsv.scipro.project.panels.CheatSheetPanel;
@ -24,13 +32,26 @@ public class ProjectIdeaSubmissionPage extends ProjectPage implements MenuHighli
Long ideaId = pp.getAsLong("idea");
ProjectIdea idea;
if(ideaId != null)
if(ideaId != null){
idea = projectIdeaDao.load(ideaId);
else
List<Student> authorRoles = idea.getAuthors();
List<User> authors = new ArrayList<User>();
for(Student s: authorRoles){
authors.add(s.getUser());
}
if(!authors.contains(SciProSession.get().getUser())){
failAndRedirect();
}
}else
idea = new ProjectIdea();
add(new ProjectIdeaSubmissionPanel("projectIdeaPanel", getUser(), idea));
add(new CheatSheetPanel("cheatSheetPanel"));
}
private void failAndRedirect() {
throw new RestartResponseException(SciProApplication.get().getApplicationSettings()
.getAccessDeniedPage());
}
}