<%-- Original Version: 2007 LAMS Foundation Updated for Blackboard 9.1 SP6 (including new bbNG tag library) 2011 Richard Stals (www.stals.com.au) Edith Cowan University, Western Australia --%> <%-- Handle LAMS Lesson Access Students - access lesson only Staff - additionally access the Lesson Monitor --%> <%@ page import="java.util.*"%> <%@ page import="java.util.Date"%> <%@ page import="java.text.SimpleDateFormat"%> <%@ page import="blackboard.data.*"%> <%@ page import="blackboard.persist.*"%> <%@ page import="blackboard.data.course.*"%> <%@ page import="blackboard.data.user.*"%> <%@ page import="blackboard.persist.course.*"%> <%@ page import="blackboard.data.content.*"%> <%@ page import="blackboard.persist.content.*"%> <%@ page import="blackboard.persist.navigation.CourseTocDbLoader"%> <%@ page import="blackboard.db.*"%> <%@ page import="blackboard.base.*"%> <%@ page import="blackboard.platform.*"%> <%@ page import="blackboard.platform.plugin.*"%> <%@ page import="org.lamsfoundation.ld.integration.blackboard.LamsSecurityUtil"%> <%@ page import="blackboard.portal.data.*" %> <%@ page import="blackboard.portal.servlet.PortalUtil" %> <%@ page import="blackboard.persist.PersistenceException" %> <%@ page import="blackboard.persist.gradebook.*" %> <%@ page import="blackboard.data.gradebook.*" %> <%@ page errorPage="/error.jsp"%> <%@ taglib uri="/bbNG" prefix="bbNG"%> <% // Authorise current user for Course Access (automatic redirect) try { if (!PlugInUtil.authorizeForCourse(request, response)) return; } catch (PlugInException e) { throw new RuntimeException(e); } String internalLessonId = request.getParameter("content_id"); String courseIdStr = request.getParameter("course_id"); BbPersistenceManager bbPm = BbServiceManager.getPersistenceService().getDbPersistenceManager(); Id courseId = bbPm.generateId(Course.DATA_TYPE, courseIdStr); //get stored internalContentId -> externalContentId. PortalExtraInfo pei = PortalUtil.loadPortalExtraInfo(null, null, "LamsStorage"); ExtraInfo ei = pei.getExtraInfo(); String externalLessonId = ei.getValue(internalLessonId); if (externalLessonId == null || "".equals(externalLessonId)) { throw new ServletException("externalLessonId not found in PortalExtraInfo LamsStorage"); } CourseDbLoader cLoader = CourseDbLoader.Default.getInstance(); LineitemDbLoader lineitemLoader = LineitemDbLoader.Default.getInstance(); //search for appropriate lineitem Lineitem lineitem = null; List lineitems = lineitemLoader.loadByCourseId(courseId); for (Lineitem lineitemIter : lineitems) { if (lineitemIter.getAssessmentId() != null && lineitemIter.getAssessmentId().equals(externalLessonId)) { lineitem = lineitemIter; break; } } if (lineitem == null) { throw new ServletException("lineitem not found"); } //delete lineitem (can't delete it simply doing linePersister.deleteById(lineitem.getId()) due to BB9 bug) PkId lineitemPkId = (PkId) lineitem.getId(); String lineitemIdStr = "_" + lineitemPkId.getPk1() + "_" + lineitemPkId.getPk2(); Id lineitemId = bbPm.generateId(Lineitem.LINEITEM_DATA_TYPE, lineitemIdStr.trim()); LineitemDbPersister linePersister = (LineitemDbPersister) bbPm.getPersister(LineitemDbPersister.TYPE); linePersister.deleteById(lineitemId); %> <%-- Page Header --%>