Aborting peer review features. Dialog in My requests and reviews added.
This commit is contained in:
parent
d60ca5da7c
commit
5c2c413ab3
src/main/java/se/su/dsv/scipro/peer
@ -63,6 +63,9 @@ public class PeerReview extends LazyDeletableDomainObject implements Commentable
|
||||
@Lob
|
||||
private String comment;
|
||||
|
||||
@Lob
|
||||
private String abortReason;
|
||||
|
||||
@OneToOne(optional=true, mappedBy="peerReview")
|
||||
private ReviewRating reviewRating;
|
||||
|
||||
@ -150,6 +153,14 @@ public class PeerReview extends LazyDeletableDomainObject implements Commentable
|
||||
return aborted;
|
||||
}
|
||||
|
||||
public void setAbortReason(String abortReason) {
|
||||
this.abortReason = abortReason;
|
||||
}
|
||||
|
||||
public String getAbortReason() {
|
||||
return abortReason;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString(){
|
||||
return "PeerReview[Id="+id+"]";
|
||||
|
@ -0,0 +1,23 @@
|
||||
<!DOCTYPE html>
|
||||
<html
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<span>Test</span>
|
||||
<form wicket:id="abortReasonForm">
|
||||
<table>
|
||||
<tr>
|
||||
<td>Why do you want to abort this peer review?:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input wicket:id="abortButton" type="submit" value="Abort review" />
|
||||
</td>
|
||||
<td><input wicket:id="cancelButton" type="submit"
|
||||
value="Cancel" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,65 @@
|
||||
package se.su.dsv.scipro.peer.panels;
|
||||
|
||||
import org.apache.wicket.markup.html.form.Button;
|
||||
import org.apache.wicket.markup.html.form.Form;
|
||||
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
|
||||
import se.su.dsv.scipro.peer.data.dao.interfaces.PeerRequestDao;
|
||||
import se.su.dsv.scipro.peer.data.dao.interfaces.PeerReviewDao;
|
||||
import se.su.dsv.scipro.peer.data.dataobjects.PeerRequest;
|
||||
import se.su.dsv.scipro.peer.data.dataobjects.PeerReview;
|
||||
|
||||
public class AbortReviewPanel extends Panel {
|
||||
|
||||
@SpringBean
|
||||
PeerReviewDao peerReviewDao;
|
||||
@SpringBean
|
||||
PeerRequestDao peerRequestDao;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public AbortReviewPanel(String id, IModel<PeerReview> model) {
|
||||
super(id);
|
||||
|
||||
add(new AbortReasonForm("abortReasonForm", model));
|
||||
}
|
||||
|
||||
private class AbortReasonForm extends Form<Void>{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
public AbortReasonForm(String id, final IModel<PeerReview> model) {
|
||||
super(id);
|
||||
final PeerReview pr = model.getObject();
|
||||
final PeerRequest request = pr.getPeerRequest();
|
||||
System.out.println(model.getObject().getPeerRequest().getProject().getTitle());
|
||||
Button abortButton = new Button("abortButton"){
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Override
|
||||
public void onSubmit(){
|
||||
PeerReview review = peerReviewDao.reLoad(pr);
|
||||
review.setAborted(true);
|
||||
review.setSubmitted(false);
|
||||
review = peerReviewDao.save(review);
|
||||
}
|
||||
};
|
||||
add(abortButton);
|
||||
|
||||
Button cancelButton = new Button("cancelButton"){
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Override
|
||||
public void onSubmit(){
|
||||
|
||||
}
|
||||
};
|
||||
add(cancelButton);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -5,6 +5,10 @@
|
||||
>
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<!-- Edit/add dialog -->
|
||||
<div wicket:id="dialog">
|
||||
<div wicket:id="dialogContent"></div>
|
||||
</div>
|
||||
<div class="append-bottom">
|
||||
<h6>Completed</h6>
|
||||
<i wicket:id="noAcceptedReviewsCompletedMessage"></i>
|
||||
@ -27,6 +31,9 @@
|
||||
<span wicket:id="reviewDate"></span>
|
||||
<span wicket:id="projectTitle"></span>
|
||||
</a>
|
||||
<a href="#" wicket:id="abortLink">
|
||||
<img src="images/icons/delete_16x16.png" class="icon-8"/> Abort review
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -5,16 +5,23 @@ import java.util.List;
|
||||
|
||||
import org.apache.wicket.Page;
|
||||
import org.apache.wicket.PageParameters;
|
||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.ajax.markup.html.AjaxLink;
|
||||
import org.apache.wicket.datetime.PatternDateConverter;
|
||||
import org.apache.wicket.datetime.markup.html.basic.DateLabel;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
|
||||
import org.apache.wicket.markup.html.list.ListItem;
|
||||
import org.apache.wicket.markup.html.list.ListView;
|
||||
import org.apache.wicket.markup.html.panel.EmptyPanel;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.model.LoadableDetachableModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
import org.odlabs.wiquery.ui.dialog.Dialog;
|
||||
|
||||
import se.su.dsv.scipro.SciProSession;
|
||||
import se.su.dsv.scipro.admin.panels.AdminProjectClassPanel;
|
||||
import se.su.dsv.scipro.data.dataobjects.Project;
|
||||
import se.su.dsv.scipro.data.dataobjects.Student;
|
||||
import se.su.dsv.scipro.peer.data.dao.interfaces.PeerRequestDao;
|
||||
@ -22,6 +29,7 @@ import se.su.dsv.scipro.peer.data.dao.interfaces.PeerReviewDao;
|
||||
import se.su.dsv.scipro.peer.data.dataobjects.PeerRequest;
|
||||
import se.su.dsv.scipro.peer.data.dataobjects.PeerReview;
|
||||
import se.su.dsv.scipro.peer.enums.RequestStatus;
|
||||
import se.su.dsv.scipro.util.JavascriptEventConfirmation;
|
||||
|
||||
public abstract class StudentPeerInfoReviewsPanel extends Panel {
|
||||
|
||||
@ -30,10 +38,25 @@ public abstract class StudentPeerInfoReviewsPanel extends Panel {
|
||||
@SpringBean
|
||||
private PeerReviewDao peerReviewDao;
|
||||
|
||||
@SpringBean
|
||||
private PeerRequestDao peerRequestDao;
|
||||
|
||||
public StudentPeerInfoReviewsPanel(final String id, final Student student, final Project project) {
|
||||
super(id);
|
||||
|
||||
setOutputMarkupId(true);
|
||||
final PatternDateConverter dpc = new PatternDateConverter("yyyy-MM-dd", false);
|
||||
/*
|
||||
* Dialog for aborting reviews
|
||||
*/
|
||||
|
||||
final Dialog dialog = new Dialog("dialog");
|
||||
dialog.setModal(true);
|
||||
dialog.setAutoOpen(false);
|
||||
dialog.add(new EmptyPanel("dialogContent"));
|
||||
|
||||
dialog.setWidth(500);
|
||||
dialog.setHeight(360);
|
||||
add(dialog);
|
||||
|
||||
/*
|
||||
* Reviews
|
||||
@ -69,33 +92,73 @@ public abstract class StudentPeerInfoReviewsPanel extends Panel {
|
||||
|
||||
});
|
||||
|
||||
final List<PeerReview> acceptedInProgress = peerReviewDao.findAcceptedReviewsInProgress(student, project);
|
||||
final LoadableDetachableModel<List<PeerReview>> acceptedInProgressModel =
|
||||
new LoadableDetachableModel<List<PeerReview>>(){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected List<PeerReview> load() {
|
||||
return peerReviewDao.findAcceptedReviewsInProgress(student, project);
|
||||
}
|
||||
|
||||
};
|
||||
//final List<PeerReview> acceptedInProgress = peerReviewDao.findAcceptedReviewsInProgress(student, project);
|
||||
|
||||
|
||||
final ListView<PeerReview> acceptedInProgressList = new ListView<PeerReview>("acceptedInProgress", acceptedInProgressModel){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void populateItem(final ListItem<PeerReview> item) {
|
||||
final PeerReview pr = item.getModelObject();
|
||||
final PeerRequest request = pr.getPeerRequest();
|
||||
PageParameters pp = new PageParameters();
|
||||
pp.put(PeerReview.PP_PEER_REVIEW_ID, pr.getId());
|
||||
BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("reviewLink", getPeerReviewPageClass(), pp);
|
||||
link.add(new DateLabel("reviewDate", new Model<Date>(pr.getDateCreated()), dpc));
|
||||
link.add(new Label("projectTitle", request.getProject().getTitle(30)));
|
||||
final AjaxLink<Void> abortLink = new AjaxLink<Void>("abortLink"){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
//PeerReview review = peerReviewDao.reLoad(pr);
|
||||
dialog.replace(new AbortReviewPanel("dialogContent", item.getModel()));
|
||||
target.addComponent(dialog);
|
||||
dialog.open(target);
|
||||
|
||||
/*PeerReview review = peerReviewDao.reLoad(pr);
|
||||
PeerRequest prq = peerRequestDao.reLoad(request);
|
||||
review.setAborted(true);
|
||||
review.setSubmitted(false);
|
||||
review = peerReviewDao.save(review);
|
||||
prq.setStatus(RequestStatus.WAITING);
|
||||
prq = peerRequestDao.save(prq);*/
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVisible(){
|
||||
return pr.getReviewer().getUser().equals(SciProSession.get().getUser());
|
||||
//return request.getRequester().getUser().equals(SciProSession.get().getUser());
|
||||
}
|
||||
};
|
||||
item.add(link);
|
||||
item.add(abortLink);
|
||||
add(item);
|
||||
}
|
||||
|
||||
};
|
||||
add(acceptedInProgressList);
|
||||
|
||||
add(new Label("noAcceptedInProgressMessage", "No reviews in progress found"){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public boolean isVisible(){
|
||||
return acceptedInProgress.size() == 0;
|
||||
return acceptedInProgressList.size() == 0;
|
||||
}
|
||||
});
|
||||
add(new ListView<PeerReview>("acceptedInProgress", acceptedInProgress){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void populateItem(ListItem<PeerReview> item) {
|
||||
PeerReview pr = item.getModelObject();
|
||||
PeerRequest request = pr.getPeerRequest();
|
||||
PageParameters pp = new PageParameters();
|
||||
pp.put(PeerReview.PP_PEER_REVIEW_ID, pr.getId());
|
||||
BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("reviewLink", getPeerReviewPageClass(), pp);
|
||||
link.add(new DateLabel("reviewDate", new Model<Date>(pr.getDateCreated()), dpc));
|
||||
link.add(new Label("projectTitle", request.getProject().getTitle(30)));
|
||||
item.add(link);
|
||||
add(item);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user