Buggfix som sätter creator på alla events
git-svn-id: svn://svn.dsv.su.se/scipro/scipro/trunk@494 73ecded7-942e-4092-bab0-0e58ef0ee984
This commit is contained in:
parent
6d7ab28d9f
commit
dec585ec41
src/main/java/se/su/dsv/scipro
@ -41,7 +41,7 @@ public abstract class Event extends LazyDeletableDomainObject
|
||||
@Lob
|
||||
private String description;
|
||||
|
||||
@ManyToOne(optional=true)
|
||||
@ManyToOne(optional=false)
|
||||
private User creator;
|
||||
|
||||
@Column(nullable=false)
|
||||
|
@ -15,6 +15,7 @@ import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.model.PropertyModel;
|
||||
import org.apache.wicket.model.util.ListModel;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
import org.joda.time.DateMidnight;
|
||||
import org.odlabs.wiquery.core.effects.EffectSpeed;
|
||||
import org.odlabs.wiquery.core.effects.fading.FadeIn;
|
||||
import org.odlabs.wiquery.core.javascript.JsStatement;
|
||||
@ -96,7 +97,7 @@ public class GroupEventForm extends EventForm<GroupEventFormModel>{
|
||||
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
|
||||
GroupEventFormModel model = (GroupEventFormModel) form.getModelObject();
|
||||
|
||||
if(model.getDate().before(new Date())){
|
||||
if(model.getDate().before(new DateMidnight(new Date()).toDate())){
|
||||
error("Please provide a date in the future");
|
||||
}
|
||||
|
||||
|
@ -10,6 +10,7 @@ import org.apache.wicket.markup.html.form.CheckBoxMultipleChoice;
|
||||
import org.apache.wicket.markup.html.form.Form;
|
||||
import org.apache.wicket.markup.html.form.IChoiceRenderer;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.joda.time.DateMidnight;
|
||||
import org.odlabs.wiquery.core.effects.EffectSpeed;
|
||||
|
||||
import se.su.dsv.scipro.data.dataobjects.Project;
|
||||
@ -55,7 +56,7 @@ public class ProjectEventForm extends EventForm<ProjectEventFormModel> {
|
||||
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
|
||||
ProjectEventFormModel model = (ProjectEventFormModel) form.getModelObject();
|
||||
|
||||
if(model.getDate().before(new Date())){
|
||||
if(model.getDate().before(new DateMidnight(new Date()).toDate())){
|
||||
error("Please provide a date in the future");
|
||||
invalid();
|
||||
}
|
||||
|
@ -1,9 +1,12 @@
|
||||
package se.su.dsv.scipro.schedule.models;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import org.apache.wicket.IClusterable;
|
||||
import org.apache.wicket.injection.web.InjectorHolder;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
import org.joda.time.DateMidnight;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.EventDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.Event;
|
||||
|
||||
@ -23,7 +26,7 @@ public abstract class EventFormModel<T extends Event> implements IClusterable {
|
||||
public EventFormModel(T e) {
|
||||
this.event = e;
|
||||
if(event.getDueDate() == null){
|
||||
event.setDueDate(new Date());
|
||||
event.setDueDate(new DateMidnight(new Date()).plusDays(1).toDate());
|
||||
}
|
||||
setTitle(event.getTitle());
|
||||
setDescription(event.getDescription());
|
||||
|
@ -1,14 +1,9 @@
|
||||
package se.su.dsv.scipro.schedule.models;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.ProjectDao;
|
||||
import se.su.dsv.scipro.SciProSession;
|
||||
import se.su.dsv.scipro.data.dataobjects.GroupEvent;
|
||||
import se.su.dsv.scipro.data.dataobjects.Project;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectSchedule;
|
||||
@ -23,18 +18,15 @@ public class GroupEventFormModel extends EventFormModel<GroupEvent> {
|
||||
super(e);
|
||||
|
||||
for(ProjectSchedule ps : e.getProjectSchedules()){
|
||||
System.out.println("adding "+ ps.getProject().getTitle());
|
||||
eventProjects.add(ps.getProject());
|
||||
}
|
||||
}
|
||||
|
||||
public List<Project> getEventProjects() {
|
||||
System.out.println("Get event projects called");
|
||||
return eventProjects;
|
||||
}
|
||||
|
||||
public void setEventProjects(List<Project> eventProjects) {
|
||||
System.out.println("Set event projects called");
|
||||
this.eventProjects = eventProjects;
|
||||
}
|
||||
|
||||
@ -43,6 +35,7 @@ public class GroupEventFormModel extends EventFormModel<GroupEvent> {
|
||||
event.setTitle(getTitle());
|
||||
event.setDescription(getDescription());
|
||||
event.setDueDate(getDate());
|
||||
event.setCreator(SciProSession.get().getUser());
|
||||
List<ProjectSchedule> projectSchedules = new ArrayList<ProjectSchedule>();
|
||||
for(Project p : eventProjects){
|
||||
projectSchedules.add(p.getProjectSchedule());
|
||||
|
@ -1,15 +1,10 @@
|
||||
package se.su.dsv.scipro.schedule.models;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import org.apache.wicket.IClusterable;
|
||||
import org.apache.wicket.injection.web.InjectorHolder;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.ProjectEventDao;
|
||||
import se.su.dsv.scipro.SciProSession;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectEvent;
|
||||
import se.su.dsv.scipro.data.dataobjects.Student;
|
||||
|
||||
@ -37,6 +32,7 @@ public class ProjectEventFormModel extends EventFormModel<ProjectEvent> {
|
||||
public ProjectEvent persist(){
|
||||
event.setTitle(getTitle());
|
||||
event.setDescription(getDescription());
|
||||
event.setCreator(SciProSession.get().getUser());
|
||||
event.setDueDate(getDate());
|
||||
event.setParticipants(new TreeSet<Student>(participants));
|
||||
return (ProjectEvent) eventDao.save(event);
|
||||
|
@ -2,7 +2,10 @@
|
||||
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<span wicket:id="eventDescription"></span>
|
||||
<span>Creator: </span><span wicket:id="creator"></span>
|
||||
<div class="prepend-top append-bottom">
|
||||
<span wicket:id="eventDescription"></span>
|
||||
</div>
|
||||
<div wicket:id="classSpecificDetails"></div>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
|
@ -11,7 +11,7 @@ public class EventDetailsPanel extends Panel {
|
||||
|
||||
public EventDetailsPanel(String id, Event e) {
|
||||
super(id);
|
||||
System.out.println(e.getDescription());
|
||||
add(e.getCreator().getDisplayComponent("creator"));
|
||||
add(new MultiLineLabel("eventDescription", e.getDescription()));
|
||||
|
||||
add(e.getScheduleDetailsPanel("classSpecificDetails"));
|
||||
|
@ -97,7 +97,7 @@ public class EventPanel extends Panel {
|
||||
return SciProSession.get().authorizedForRole(Roles.SYSADMIN);
|
||||
}
|
||||
if(event instanceof GroupEvent){
|
||||
if(event.getCreator().equals(loggedInUser)){
|
||||
if(loggedInUser.equals(event.getCreator())){
|
||||
return true;
|
||||
}
|
||||
return SciProSession.get().authorizedForRole(Roles.SYSADMIN);
|
||||
|
@ -3,22 +3,12 @@
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<div class="span-18 last">
|
||||
<div>
|
||||
<div class="span-18 last">
|
||||
<div class="span-6 append-1">
|
||||
<div wicket:id="createScheduleContainer">
|
||||
<div><a href="#" wicket:id="createScheduleFromTemplateLink"><img wicket:id="createScheduleFromTemplateIcon" /></a><span> Create schedule from template</span></div>
|
||||
<div><a href="#" wicket:id="createEmptyScheduleLink"><img wicket:id="createEmptyScheduleIcon" /></a><span> Create empty schedule</span></div>
|
||||
</div>
|
||||
<div wicket:id="createEventsContainer">
|
||||
<div><img wicket:id="addProjectEventLink" /><span>Add project event</span></div>
|
||||
<div><img wicket:id="addGroupEventLink" /><span>Add group event</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-box rounded-box span-9 last">
|
||||
<ul>
|
||||
<li><span>Project events is...</span></li>
|
||||
<li><span>Group event is...</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div wicket:id="scheduleContainer">
|
||||
@ -28,6 +18,10 @@
|
||||
<span>Participant: </span><select wicket:id="participantOptions"></select>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div>
|
||||
<img wicket:id="addProjectEventLink" /><span>Add project event</span>
|
||||
<img wicket:id="addGroupEventLink" /><span>Add group event</span>
|
||||
</div>
|
||||
<div>
|
||||
<div wicket:id="monthPicker"></div>
|
||||
</div>
|
||||
|
@ -83,47 +83,6 @@ public class SchedulePlannerPanel extends Panel implements ISchedulePlannerPanel
|
||||
dialog.setWidth(600);
|
||||
add(dialog);
|
||||
|
||||
WebMarkupContainer createEventsContainer = new WebMarkupContainer("createEventsContainer"){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public boolean isVisible(){
|
||||
return project.getProjectSchedule() != null;
|
||||
}
|
||||
};
|
||||
|
||||
createEventsContainer.add(new AjaxActionIcon("addProjectEventLink", AjaxActionIcon.ICON_ADD, "Add project event"){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void onClick(AjaxRequestTarget target) {
|
||||
dialogContainer.replace(new CreateProjectEventPanel("containerContent", project, null, SchedulePlannerPanel.this));
|
||||
target.addComponent(dialogContainer);
|
||||
dialog.setTitle("Add project event");
|
||||
dialog.open(target);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
add(createEventsContainer);
|
||||
|
||||
createEventsContainer.add(new AjaxActionIcon("addGroupEventLink", AjaxActionIcon.ICON_ADD, "Add group event"){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void onClick(AjaxRequestTarget target) {
|
||||
dialogContainer.replace(new CreateGroupEventPanel("containerContent", null, project, SchedulePlannerPanel.this));
|
||||
target.addComponent(dialogContainer);
|
||||
dialog.setTitle("Add Group Event");
|
||||
dialog.open(target);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVisible(){
|
||||
return project.getProjectSchedule() != null;
|
||||
}
|
||||
});
|
||||
|
||||
WebMarkupContainer createScheduleContainer = new WebMarkupContainer("createScheduleContainer"){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ -174,6 +133,33 @@ public class SchedulePlannerPanel extends Panel implements ISchedulePlannerPanel
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
scheduleContainer.add(new AjaxActionIcon("addProjectEventLink", AjaxActionIcon.ICON_ADD, "Add project event"){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void onClick(AjaxRequestTarget target) {
|
||||
dialogContainer.replace(new CreateProjectEventPanel("containerContent", project, null, SchedulePlannerPanel.this));
|
||||
target.addComponent(dialogContainer);
|
||||
dialog.setTitle("Add project event");
|
||||
dialog.open(target);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
scheduleContainer.add(new AjaxActionIcon("addGroupEventLink", AjaxActionIcon.ICON_ADD, "Add group event"){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void onClick(AjaxRequestTarget target) {
|
||||
dialogContainer.replace(new CreateGroupEventPanel("containerContent", null, project, SchedulePlannerPanel.this));
|
||||
target.addComponent(dialogContainer);
|
||||
dialog.setTitle("Add Group Event");
|
||||
dialog.open(target);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
final List<SelectOption<User>> participantOptions = new ArrayList<SelectOption<User>>();
|
||||
for(Student s : project.getProjectParticipants()){
|
||||
|
Loading…
x
Reference in New Issue
Block a user