Index: lams_tool_scribe/conf/language/ApplicationResources.properties
===================================================================
diff -u -r7811e4bf312b13ba9ed5ff7f139c18d65c580723 -r4b4b0d35dcce611d0cb85cab458f2e9687858ef0
--- lams_tool_scribe/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision 7811e4bf312b13ba9ed5ff7f139c18d65c580723)
+++ lams_tool_scribe/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision 4b4b0d35dcce611d0cb85cab458f2e9687858ef0)
@@ -106,6 +106,7 @@
button.agree = Agree
button.submitReport = Submit Report
+button.forceComplete = Force Complete
message.voteStatistics = {0} out of {1} agree
Index: lams_tool_scribe/db/sql/create_lams_tool_scribe.sql
===================================================================
diff -u -r1048cecf6a4a9236cea91f0449f65744916cf448 -r4b4b0d35dcce611d0cb85cab458f2e9687858ef0
--- lams_tool_scribe/db/sql/create_lams_tool_scribe.sql (.../create_lams_tool_scribe.sql) (revision 1048cecf6a4a9236cea91f0449f65744916cf448)
+++ lams_tool_scribe/db/sql/create_lams_tool_scribe.sql (.../create_lams_tool_scribe.sql) (revision 4b4b0d35dcce611d0cb85cab458f2e9687858ef0)
@@ -11,7 +11,7 @@
create table tl_lascrb11_heading (uid bigint not null auto_increment, heading text, scribe_uid bigint, display_order integer, primary key (uid));
create table tl_lascrb11_report_entry (uid bigint not null auto_increment, entry_text text, scribe_heading_uid bigint, scribe_session_uid bigint, primary key (uid));
create table tl_lascrb11_scribe (uid bigint not null auto_increment, create_date datetime, update_date datetime, create_by bigint, title varchar(255), instructions text, run_offline bit, lock_on_finished bit, auto_select_scribe bit, reflect_on_activity bit, reflect_instructions text, online_instructions text, offline_instructions text, content_in_use bit, define_later bit, tool_content_id bigint, primary key (uid));
-create table tl_lascrb11_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, session_name varchar(250), scribe_uid bigint, appointed_scribe_uid bigint, primary key (uid));
+create table tl_lascrb11_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, session_name varchar(250), scribe_uid bigint, appointed_scribe_uid bigint, force_complete bit, primary key (uid));
create table tl_lascrb11_user (uid bigint not null auto_increment, user_id bigint, last_name varchar(255), login_name varchar(255), first_name varchar(255), finishedActivity bit, scribe_session_uid bigint, report_approved bit, primary key (uid));
alter table tl_lascrb11_attachment add index FK57953706B3FA1495 (scribe_uid), add constraint FK57953706B3FA1495 foreign key (scribe_uid) references tl_lascrb11_scribe (uid);
alter table tl_lascrb11_heading add index FK428A22FFB3FA1495 (scribe_uid), add constraint FK428A22FFB3FA1495 foreign key (scribe_uid) references tl_lascrb11_scribe (uid);
Index: lams_tool_scribe/db/sql/table-schema.sql
===================================================================
diff -u -r84283f3449a27ed45130e07c53d2cefc451ba537 -r4b4b0d35dcce611d0cb85cab458f2e9687858ef0
--- lams_tool_scribe/db/sql/table-schema.sql (.../table-schema.sql) (revision 84283f3449a27ed45130e07c53d2cefc451ba537)
+++ lams_tool_scribe/db/sql/table-schema.sql (.../table-schema.sql) (revision 4b4b0d35dcce611d0cb85cab458f2e9687858ef0)
@@ -15,7 +15,7 @@
create table tl_lascrb11_heading (uid bigint not null auto_increment, heading text, scribe_uid bigint, display_order integer, primary key (uid));
create table tl_lascrb11_report_entry (uid bigint not null auto_increment, entry_text text, scribe_heading_uid bigint, scribe_session_uid bigint, primary key (uid));
create table tl_lascrb11_scribe (uid bigint not null auto_increment, create_date datetime, update_date datetime, create_by bigint, title varchar(255), instructions text, run_offline bit, lock_on_finished bit, auto_select_scribe bit, reflect_on_activity bit, reflect_instructions text, online_instructions text, offline_instructions text, content_in_use bit, define_later bit, tool_content_id bigint, primary key (uid));
-create table tl_lascrb11_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, session_name varchar(250), scribe_uid bigint, appointed_scribe_uid bigint, primary key (uid));
+create table tl_lascrb11_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, session_name varchar(250), scribe_uid bigint, appointed_scribe_uid bigint, force_complete bit, primary key (uid));
create table tl_lascrb11_user (uid bigint not null auto_increment, user_id bigint, last_name varchar(255), login_name varchar(255), first_name varchar(255), finishedActivity bit, scribe_session_uid bigint, report_approved bit, primary key (uid));
alter table tl_lascrb11_attachment add index FK57953706B3FA1495 (scribe_uid), add constraint FK57953706B3FA1495 foreign key (scribe_uid) references tl_lascrb11_scribe (uid);
alter table tl_lascrb11_heading add index FK428A22FFB3FA1495 (scribe_uid), add constraint FK428A22FFB3FA1495 foreign key (scribe_uid) references tl_lascrb11_scribe (uid);
Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/dto/ScribeSessionDTO.java
===================================================================
diff -u -rc6b8ac8a336ac260986c41a3049a5d1bc0a743c0 -r4b4b0d35dcce611d0cb85cab458f2e9687858ef0
--- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/dto/ScribeSessionDTO.java (.../ScribeSessionDTO.java) (revision c6b8ac8a336ac260986c41a3049a5d1bc0a743c0)
+++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/dto/ScribeSessionDTO.java (.../ScribeSessionDTO.java) (revision 4b4b0d35dcce611d0cb85cab458f2e9687858ef0)
@@ -51,9 +51,12 @@
Set reportDTOs;
+ boolean forceComplete;
+
public ScribeSessionDTO(ScribeSession session) {
this.sessionID = session.getSessionId();
this.sessionName = session.getSessionName();
+ this.forceComplete = session.isForceComplete();
ScribeUser appointedScribe = session.getAppointedScribe();
if (appointedScribe == null) {
@@ -149,4 +152,12 @@
public void setVotePercentage(int votePercentage) {
VotePercentage = votePercentage;
}
+
+ public boolean isForceComplete() {
+ return forceComplete;
+ }
+
+ public void setForceComplete(boolean forceComplete) {
+ this.forceComplete = forceComplete;
+ }
}
Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeSession.java
===================================================================
diff -u -r84283f3449a27ed45130e07c53d2cefc451ba537 -r4b4b0d35dcce611d0cb85cab458f2e9687858ef0
--- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeSession.java (.../ScribeSession.java) (revision 84283f3449a27ed45130e07c53d2cefc451ba537)
+++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeSession.java (.../ScribeSession.java) (revision 4b4b0d35dcce611d0cb85cab458f2e9687858ef0)
@@ -66,6 +66,8 @@
private ScribeUser appointedScribe;
+ private boolean forceComplete;
+
// Constructors
/** default constructor */
@@ -208,7 +210,18 @@
public void setAppointedScribe(ScribeUser appointedScribe) {
this.appointedScribe = appointedScribe;
}
+
+ /**
+ * @hibernate.property column="force_complete"
+ */
+ public boolean isForceComplete() {
+ return forceComplete;
+ }
+ public void setForceComplete(boolean forceComplete) {
+ this.forceComplete = forceComplete;
+ }
+
/**
* toString
*
Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java
===================================================================
diff -u -r28b3045d39cf68d79a469dfa23e625b3822abfe0 -r4b4b0d35dcce611d0cb85cab458f2e9687858ef0
--- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java (.../ScribeService.java) (revision 28b3045d39cf68d79a469dfa23e625b3822abfe0)
+++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java (.../ScribeService.java) (revision 4b4b0d35dcce611d0cb85cab458f2e9687858ef0)
@@ -148,6 +148,7 @@
}
session.setScribeReportEntries(reports);
+ session.setForceComplete(false);
scribeSessionDAO.saveOrUpdate(session);
}
Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/actions/LearningAction.java
===================================================================
diff -u -rc6b8ac8a336ac260986c41a3049a5d1bc0a743c0 -r4b4b0d35dcce611d0cb85cab458f2e9687858ef0
--- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/actions/LearningAction.java (.../LearningAction.java) (revision c6b8ac8a336ac260986c41a3049a5d1bc0a743c0)
+++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/actions/LearningAction.java (.../LearningAction.java) (revision 4b4b0d35dcce611d0cb85cab458f2e9687858ef0)
@@ -26,7 +26,6 @@
import java.io.IOException;
import java.util.Iterator;
-import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -53,15 +52,14 @@
import org.lamsfoundation.lams.tool.scribe.service.ScribeServiceProxy;
import org.lamsfoundation.lams.tool.scribe.util.ScribeConstants;
import org.lamsfoundation.lams.tool.scribe.util.ScribeException;
+import org.lamsfoundation.lams.tool.scribe.util.ScribeUtils;
import org.lamsfoundation.lams.tool.scribe.web.forms.LearningForm;
import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
import org.lamsfoundation.lams.util.WebUtil;
import org.lamsfoundation.lams.web.action.LamsDispatchAction;
import org.lamsfoundation.lams.web.session.SessionManager;
import org.lamsfoundation.lams.web.util.AttributeNames;
-import org.lamsfoundation.lams.tool.scribe.util.ScribeUtils;
-
/**
* @author
* @version
@@ -74,6 +72,7 @@
* @struts.action-forward name="defineLater" path="tiles:/learning/defineLater"
* @struts.action-forward name="notebook" path="tiles:/learning/notebook"
* @struts.action-forward name="voteDisplay" path="/pages/parts/voteDisplay.jsp"
+ * @struts.action-forward name="report" path="tiles:/learning/report"
*/
public class LearningAction extends LamsDispatchAction {
@@ -145,11 +144,17 @@
if (scribe.isRunOffline()) {
return mapping.findForward("runOffline");
}
-
+
+ if (scribeSession.isForceComplete()) {
+ // go to report page
+ return mapping.findForward("report");
+ }
+
// check if current user is the scribe.
if (scribeSession.getAppointedScribe().getUid() == scribeUser.getUid()) {
return mapping.findForward("scribe");
}
+
return mapping.findForward("learning");
}
@@ -336,8 +341,30 @@
return mapping.findForward("voteDisplay");
}
-
+ public ActionForward forceCompleteActivity(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
+
+ LearningForm lrnForm = (LearningForm) form;
+
+ ScribeUser scribeUser = scribeService.getUserByUID(lrnForm.getScribeUserUID());
+
+ ScribeSession session = scribeUser.getScribeSession();
+
+ if (session.getAppointedScribe().getUid() == scribeUser.getUid()) {
+ session.setForceComplete(true);
+ } else {
+ // TODO need to implement this.
+ log.error("ScribeUserUID: " + scribeUser.getUid() + " is not allowed to forceComplete this session");
+ }
+
+ request.setAttribute("MODE", lrnForm.getMode());
+ setupDTOs(request, session, scribeUser);
+
+ scribeService.saveOrUpdateScribeUser(scribeUser);
+
+ return mapping.findForward("report");
+ }
+
// Private methods.
private void setupDTOs(HttpServletRequest request, ScribeSession scribeSession, ScribeUser scribeUser) {
Index: lams_tool_scribe/web/WEB-INF/struts/tiles-defs.xml
===================================================================
diff -u -r84283f3449a27ed45130e07c53d2cefc451ba537 -r4b4b0d35dcce611d0cb85cab458f2e9687858ef0
--- lams_tool_scribe/web/WEB-INF/struts/tiles-defs.xml (.../tiles-defs.xml) (revision 84283f3449a27ed45130e07c53d2cefc451ba537)
+++ lams_tool_scribe/web/WEB-INF/struts/tiles-defs.xml (.../tiles-defs.xml) (revision 4b4b0d35dcce611d0cb85cab458f2e9687858ef0)
@@ -122,6 +122,10 @@
+
+
+
+
Index: lams_tool_scribe/web/pages/learning/learning.jsp
===================================================================
diff -u -rc6b8ac8a336ac260986c41a3049a5d1bc0a743c0 -r4b4b0d35dcce611d0cb85cab458f2e9687858ef0
--- lams_tool_scribe/web/pages/learning/learning.jsp (.../learning.jsp) (revision c6b8ac8a336ac260986c41a3049a5d1bc0a743c0)
+++ lams_tool_scribe/web/pages/learning/learning.jsp (.../learning.jsp) (revision 4b4b0d35dcce611d0cb85cab458f2e9687858ef0)
@@ -52,11 +52,7 @@
-
- <%@ include file="parts/finishButton.jsp"%>
-
-
Index: lams_tool_scribe/web/pages/learning/report.jsp
===================================================================
diff -u
--- lams_tool_scribe/web/pages/learning/report.jsp (revision 0)
+++ lams_tool_scribe/web/pages/learning/report.jsp (revision 4b4b0d35dcce611d0cb85cab458f2e9687858ef0)
@@ -0,0 +1,34 @@
+<%@ include file="/common/taglibs.jsp"%>
+
+
+
+
+
+
+
+
+ ${scribeDTO.instructions}
+
+
+ <%@include file="/pages/parts/voteDisplay.jsp"%>
+
+
+
+
+
+
+ ${reportDTO.headingDTO.headingText}
+
+
+
+
+
+
+
+
+
+ <%@ include file="parts/finishButton.jsp"%>
+
+
+
+
Index: lams_tool_scribe/web/pages/learning/scribe.jsp
===================================================================
diff -u -rc6b8ac8a336ac260986c41a3049a5d1bc0a743c0 -r4b4b0d35dcce611d0cb85cab458f2e9687858ef0
--- lams_tool_scribe/web/pages/learning/scribe.jsp (.../scribe.jsp) (revision c6b8ac8a336ac260986c41a3049a5d1bc0a743c0)
+++ lams_tool_scribe/web/pages/learning/scribe.jsp (.../scribe.jsp) (revision 4b4b0d35dcce611d0cb85cab458f2e9687858ef0)
@@ -98,9 +98,14 @@
-
- <%@ include file="parts/finishButton.jsp"%>
-
+
+
+
+
+
+
+
+