delete thesis from SeminarThesisPanel now refresh page on SeminarPanel to make sure turnitin link disappears if it's not valid.

This commit is contained in:
Emil Siverhall 2013-11-06 15:56:12 +01:00
parent adecd427cf
commit 41b50dfecf
3 changed files with 14 additions and 49 deletions
view/src/main/java/se/su/dsv/scipro/seminar/panels

@ -1,13 +1,7 @@
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<html xmlns:wicket="http://wicket.apache.org">
<body>
<wicket:panel>
<!--<div wicket:id="deleted" class="row"><span class="label label-important">-->
<!--Final seminar was cancelled because the deadline for <br>-->
<!--uploading the final seminar thesis wasn't met.<br>-->
<!--Supervisor must select a new date for the final seminar.-->
<!--</span></div>-->
<div class="row">
<div class="col-md-12">
<div class="project-box">

@ -30,11 +30,6 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Date: 12/6/12
*
* @author Andreas Svanberg <andreass@dsv.su.se>
*/
public class SeminarPanel extends Panel {
@Inject
@ -50,33 +45,21 @@ public class SeminarPanel extends Panel {
@Inject
FinalSeminarSettingsService service;
// WebMarkupContainer deleted;
SeminarCancelledInfoPanel cancelledInfoPanel;
WebMarkupContainer projectContainer;
private IModel<FinalSeminar> seminar;
// private final IModel<Date> deadlineDate;
// private final IModel<Date> examinerDeadlineDate;
public SeminarPanel(String id, IModel<FinalSeminar> seminar) {
super(id);
// deadlineDate = new WorkDaysModel(new PropertyModel<Date>(seminar, "startDate"), settingsService.getFinalSeminarThesisReviewUploadDaysAhead());
// examinerDeadlineDate = new WorkDaysModel(new PropertyModel<Date>(seminar, "startDate"), settingsService.getFinalSeminarExaminerReviewUploadDaysAhead());
this.seminar = seminar;
initComponents(seminar);
}
public void onCreateSeminar(AjaxRequestTarget target, IModel<FinalSeminar> domainObject){
//override where appropriate
}
public void onCreateSeminar(AjaxRequestTarget target, IModel<FinalSeminar> domainObject){}
public void onDeleteSeminar(AjaxRequestTarget target){
//override where appropriate
}
public void onDeleteSeminar(AjaxRequestTarget target){}
public boolean allowUpdate() {
FinalSeminar seminar = this.seminar.getObject();
@ -99,8 +82,6 @@ public class SeminarPanel extends Panel {
private boolean isAdmin() {
return SciProSession.get().authorizedForRole(Roles.SYSADMIN) && SciProSession.get().hasActualRole(Roles.SYSADMIN);
}
private boolean hasThesis() {
return seminar.getObject().getDocument()!=null;
@ -180,7 +161,6 @@ public class SeminarPanel extends Panel {
seminarContainer.add(new ListView<FinalSeminarActiveParticipation>(SEMINAR_ACTIVE_PARTICIPANTS, new PropertyModel<List<? extends FinalSeminarActiveParticipation>>(seminar, SEMINAR_ACTIVE_PARTICIPANTS)) {
@Override
protected void populateItem(final ListItem<FinalSeminarActiveParticipation> item) {
// item.add(item.getModelObject().getUser().getDisplayComponent(SEMINAR_ACTIVE_PARTICIPANT, true));
item.add(new UserLinkPanel(SEMINAR_ACTIVE_PARTICIPANT, new Model<User>(item.getModelObject().getUser())){
@Override
public boolean linkEnabled(){
@ -209,7 +189,6 @@ public class SeminarPanel extends Panel {
seminarContainer.add(new ListView<FinalSeminarOpposition>(SEMINAR_OPPOSITIONS, new PropertyModel<List<? extends FinalSeminarOpposition>>(seminar, SEMINAR_OPPOSITIONS)) {
@Override
protected void populateItem(final ListItem<FinalSeminarOpposition> item) {
// item.add(item.getModelObject().getUser().getDisplayComponent(SEMINAR_OPPOSITION, true));
item.add(new UserLinkPanel(SEMINAR_OPPOSITION, new Model<User>(item.getModelObject().getUser())){
@Override
public boolean linkEnabled(){
@ -265,15 +244,12 @@ public class SeminarPanel extends Panel {
projectContainer = new WebMarkupContainer(PROJECT, projectModel);
projectContainer.add(new Label(PROJECT_LEVEL, projectModel.bind("projectClass.name")));
// projectContainer.add(new Label(PROJECT_HEAD_SUPERVISOR, projectModel.bind("headSupervisor.nameAsString")));
// projectContainer.add(new Label(PROJECT_HEAD_SUPERVISOR_EMAIL, projectModel.bind("headSupervisor.emailAsString")));
projectContainer.add(new UserLinkPanel(PROJECT_HEAD_SUPERVISOR, new Model<User>(projectModel.getObject().getHeadSupervisor().getUser())));
List<Student> authors = new ArrayList<Student>(projectModel.getObject().getProjectParticipants());
projectContainer.add(new ListView<Student>(PROJECT_AUTHORS, authors) {
@Override
protected void populateItem(ListItem<Student> item) {
// item.add(item.getModelObject().getUser().getDisplayComponent(PROJECT_AUTHOR, true));
item.add(new UserLinkPanel(PROJECT_AUTHOR, new Model<User>(item.getModelObject().getUser())){
@Override
public boolean linkEnabled(){
@ -287,7 +263,6 @@ public class SeminarPanel extends Panel {
projectContainer.add(new ListView<ProjectFollower>(PROJECT_CO_SUPERVISORS, coSupervisors) {
@Override
protected void populateItem(ListItem<ProjectFollower> item) {
// item.add(item.getModelObject().getFollower().getUser().getDisplayComponent(PROJECT_CO_SUPERVISOR, true));
item.add(new UserLinkPanel(PROJECT_CO_SUPERVISOR, new Model<User>(item.getModelObject().getFollower().getUser())));
}
});
@ -296,7 +271,6 @@ public class SeminarPanel extends Panel {
projectContainer.add(new ListView<ProjectFollower>(PROJECT_REVIEWERS, reviewers) {
@Override
protected void populateItem(ListItem<ProjectFollower> item) {
// item.add(item.getModelObject().getFollower().getUser().getDisplayComponent(PROJECT_REVIEWER, true));
item.add(new UserLinkPanel(PROJECT_REVIEWER, new Model<User>(item.getModelObject().getFollower().getUser())));
}
});
@ -304,7 +278,12 @@ public class SeminarPanel extends Panel {
}
private WebMarkupContainer initThesisComponent(final IModel<FinalSeminar> seminar) {
return new SeminarThesisPanel(THESIS, seminar);
return new SeminarThesisPanel(THESIS, seminar) {
@Override
protected void onDelete() {
setResponsePage(getPage());
}
};
}
private WebMarkupContainer initThesisReviewComponent(final IModel<FinalSeminar> seminar) {
@ -336,8 +315,8 @@ public class SeminarPanel extends Panel {
Link<Void> link = new Link<Void>(TURNITIN_LINK) {
@Override
public void onClick() {
String turnitinId = turnitinService.findByFileDescription(seminar.getObject().getDocument()).getTurnItInId();
String url = turnitinComponent.returnReport(turnitinId);
String turnItInId = turnitinService.findByFileDescription(seminar.getObject().getDocument()).getTurnItInId();
String url = turnitinComponent.returnReport(turnItInId);
setResponsePage(new TurnitinPopupPage(url));
}
@ -359,15 +338,11 @@ public class SeminarPanel extends Panel {
}
static final String CANCELLED = "cancelled";
static final String DEADLINE = "deadline";
static final String EXAMINER_DATE = "examinerDate";
static final String DATE = "date";
static final String CRUD = "crud";
static final String CRUD_NOT_ALLOWED = "noCrud";
static final String PROJECT = "project";
static final String PROJECT_LEVEL = "level";
static final String PROJECT_HEAD_SUPERVISOR = "headSupervisor";
static final String PROJECT_HEAD_SUPERVISOR_EMAIL = "headSupervisorEmail";
static final String PROJECT_AUTHOR = "author";
static final String PROJECT_AUTHORS = "authors";
static final String PROJECT_CO_SUPERVISOR = "coSupervisor";
@ -381,8 +356,6 @@ public class SeminarPanel extends Panel {
static final String SEMINAR_OPPOSITION = "opposition";
static final String SEMINAR_OPPOSITION_REPORT = "report";
static final String SEMINAR_OPPOSITION_REPORT_DOWNLOAD = "download";
static final String SEMINAR_OPPOSITION_REPORT_NAME = "name";
static final String SEMINAR_OPPOSITION_REPORT_REMOVE = "remove";
static final String SEMINAR_OPPOSITION_UPLOAD = "uploadForm";
static final String SEMINAR_OPPOSITION_REMOVE = "removeOpposition";
static final String SEMINAR_OPPOSITION_REMOVE_CONFIRMATION = "Are you sure you want to remove this opponent?";
@ -394,12 +367,7 @@ public class SeminarPanel extends Panel {
static final String SEMINAR_PRESENTATION_LANGUAGE = "presentationLanguage";
static final String SEMINAR_REPORT_LANGUAGE = "reportLanguage";
static final String THESIS = "thesis";
static final String THESIS_REVIEW_CONTAINER = "reviewContainer";
static final String THESIS_REVIEW = "thesisReview";
static final String THESIS_UPLOAD = "upload";
static final String THESIS_DOWNLOAD = "download";
static final String THESIS_REMOVE = "removeThesis";
static final String THESIS_NAME = "name";
static final String TURNITIN = "turnitin";
static final String TURNITIN_LINK = "link";

@ -88,6 +88,8 @@ public class SeminarThesisPanel extends Panel {
add(dialog);
}
protected void onDelete() {}
private ModalWindow createDialog() {
dialog.setTitle(new ResourceModel("deleteThesis"));
dialog.setContent(new DeleteThesisDialogFragment());
@ -108,6 +110,7 @@ public class SeminarThesisPanel extends Panel {
target.add(this);
dialog.close(target);
onDelete();
}
private FinalSeminar getSeminar() {