package org.sakaiproject.tool.assessment.ui.listener.author; import javax.faces.context.FacesContext; import javax.faces.event.AbortProcessingException; import javax.faces.event.ActionEvent; import javax.faces.event.ActionListener; import org.sakaiproject.tool.assessment.facade.AssessmentFacade; import org.sakaiproject.tool.assessment.services.assessment.AssessmentService; import org.sakaiproject.tool.assessment.ui.bean.author.AssessmentBean; import org.sakaiproject.tool.assessment.ui.bean.author.AuthorBean; import org.sakaiproject.tool.assessment.ui.listener.util.ContextUtil; import org.sakaiproject.util.FormattedText; public class ConfirmCopyAssessmentListener implements ActionListener { public void processAction(ActionEvent ae) throws AbortProcessingException { FacesContext context = FacesContext.getCurrentInstance(); // #1 - read the assessmentId from the form String assessmentId = (String) FacesContext.getCurrentInstance() .getExternalContext().getRequestParameterMap().get("assessmentId"); // #2 - and use it to set author bean, goto removeAssessment.jsp AssessmentBean assessmentBean = (AssessmentBean) ContextUtil.lookupBean("assessmentBean"); AssessmentService assessmentService = new AssessmentService(); AssessmentFacade assessment = assessmentService.getBasicInfoOfAnAssessment(assessmentId); // #3 - permission checking before proceeding - daisyf AuthorBean author = (AuthorBean) ContextUtil.lookupBean("author"); author.setOutcome("confirmCopyAssessment"); EditAssessmentListener editAssessmentListener = new EditAssessmentListener(); if (!editAssessmentListener.passAuthz(context, assessment.getCreatedBy())) { author.setOutcome("author"); return; } assessmentBean.setAssessmentId(assessment.getAssessmentBaseId().toString()); assessmentBean.setTitle(FormattedText.convertFormattedTextToPlaintext(assessment.getTitle())); } }