use of uk.ac.ebi.spot.goci.model.StudyNote in project goci by EBISPOT.
the class StudyNoteController method removeNote.
@RequestMapping(value = "/studies/{studyId}/notes", method = RequestMethod.POST, params = { "removeNote" })
public String removeNote(@ModelAttribute("multiStudyNoteForm") MultiStudyNoteForm multiStudyNoteForm, BindingResult bindingResult, Model model, @PathVariable Long studyId, HttpServletRequest req) {
// Index of value to remove
final Integer rowId = Integer.valueOf(req.getParameter("removeNote"));
// get the study
Study study = studyRepository.findOne(studyId);
model.addAttribute("study", study);
StudyNoteForm snf = multiStudyNoteForm.getNomalNoteForms().get(rowId.intValue());
StudyNote noteToRemove = studyNoteOperationsService.convertToStudyNote(snf, study);
// if not removing empty row
if (noteToRemove.getId() != null) {
ErrorNotification notification = studyOperationsService.deleteStudyNote(study, noteToRemove);
if (notification.hasErrors()) {
// we want to display the error to the user simply on top of the form
getLog().warn("Request: " + req.getRequestURL() + " raised an error." + notification.errorMessage());
model.addAttribute("errors", "Delete FAIL! " + notification.errorMessage());
Collection<NoteSubject> noteSubjects = noteSubjectService.findAvailableNoteSubjectForStudy(study);
model.addAttribute("availableNoteSubject", noteSubjects);
model.addAttribute("multiStudyNoteForm", multiStudyNoteForm);
return "study_notes";
} else {
return "redirect:/studies/" + studyId + "/notes";
}
}
return "redirect:/studies/" + studyId + "/notes";
}
Aggregations