public AssessedIdentityRepositoryEntryController( UserRequest ureq, WindowControl wControl, TooledStackedPanel stackPanel, RepositoryEntry assessableEntry, Identity assessedIdentity, AssessableResource element) { super(ureq, wControl); this.stackPanel = stackPanel; this.assessedIdentity = assessedIdentity; identityAssessmentVC = createVelocityContainer("identity_personal_infos"); identityAssessmentVC.contextPut("user", assessedIdentity.getUser()); infosController = new AssessedIdentityLargeInfosController(ureq, wControl, assessedIdentity); listenTo(infosController); identityAssessmentVC.put("identityInfos", infosController.getInitialComponent()); RepositoryHandler handler = repositoryHandlerFactory.getRepositoryHandler(assessableEntry); if (handler.supportsAssessmentDetails()) { detailsCtrl = handler.createAssessmentDetailsController( assessableEntry, ureq, getWindowControl(), stackPanel, assessedIdentity); listenTo(detailsCtrl); identityAssessmentVC.put("details", detailsCtrl.getInitialComponent()); } assessmentForm = new AssessmentForm(ureq, getWindowControl(), assessedIdentity, assessableEntry, element); listenTo(assessmentForm); identityAssessmentVC.put("assessmentForm", assessmentForm.getInitialComponent()); putInitialPanel(identityAssessmentVC); }
@Override protected void event(UserRequest ureq, Controller source, Event event) { if (assessmentForm == source) { if (event instanceof AssessmentFormEvent) { AssessmentFormEvent afe = (AssessmentFormEvent) event; if (afe.isClose()) { stackPanel.popController(assessmentForm); fireEvent(ureq, Event.DONE_EVENT); } else { fireEvent(ureq, Event.CHANGED_EVENT); } } else if (event == Event.CANCELLED_EVENT) { stackPanel.popController(assessmentForm); } } else if (detailsCtrl == source) { if (event == Event.CHANGED_EVENT || event == Event.DONE_EVENT) { assessmentForm.reloadData(); fireEvent(ureq, Event.CHANGED_EVENT); } } super.event(ureq, source, event); }