Index: lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java
===================================================================
diff -u -rb128694883b5db515c3f98f6803b573e04d203d2 -r7911b538e3fd0e8ae2bb56acac7eed836d4b2320
--- lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java (.../HomeAction.java) (revision b128694883b5db515c3f98f6803b573e04d203d2)
+++ lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java (.../HomeAction.java) (revision 7911b538e3fd0e8ae2bb56acac7eed836d4b2320)
@@ -207,9 +207,13 @@
req.setAttribute(AttributeNames.PARAM_MODE, mode);
}
+ Boolean isPortfolioEnabled = lesson.getLearnerExportAvailable() != null ? lesson
+ .getLearnerExportAvailable() : Boolean.TRUE;
+ Organisation organisation = lesson.getOrganisation();
+ isPortfolioEnabled &= organisation.getEnableExportPortfolio();
+
req.setAttribute(AttributeNames.PARAM_LESSON_ID, String.valueOf(lessonId));
- req.setAttribute(AttributeNames.PARAM_EXPORT_PORTFOLIO_ENABLED, String.valueOf(lesson
- .getLearnerExportAvailable() != null ? lesson.getLearnerExportAvailable() : Boolean.TRUE));
+ req.setAttribute(AttributeNames.PARAM_EXPORT_PORTFOLIO_ENABLED, String.valueOf(isPortfolioEnabled));
req.setAttribute(AttributeNames.PARAM_PRESENCE_ENABLED,
String.valueOf(lesson.getLearnerPresenceAvailable()));
req.setAttribute(AttributeNames.PARAM_PRESENCE_IM_ENABLED, String.valueOf(lesson.getLearnerImAvailable()));
Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Organisation.hbm.xml
===================================================================
diff -u -rae3f3c7a291e57b1753cdad92804ed4b28474b55 -r7911b538e3fd0e8ae2bb56acac7eed836d4b2320
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Organisation.hbm.xml (.../Organisation.hbm.xml) (revision ae3f3c7a291e57b1753cdad92804ed4b28474b55)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Organisation.hbm.xml (.../Organisation.hbm.xml) (revision 7911b538e3fd0e8ae2bb56acac7eed836d4b2320)
@@ -132,6 +132,24 @@
+
+
+ @hibernate.property column="enable_live_edit"
+ length="1" not-null="true"
+
+
+
+
+
+ @hibernate.property column="enable_export_portfolio"
+ length="1" not-null="true"
+
+
+
Index: lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040039.sql
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040039.sql (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040039.sql (revision 7911b538e3fd0e8ae2bb56acac7eed836d4b2320)
@@ -0,0 +1,15 @@
+-- Turn off autocommit, so nothing is committed if there is an error
+
+SET AUTOCOMMIT = 0;
+SET FOREIGN_KEY_CHECKS=0;
+
+-- LDEV-3410 Add feature allowing disable export portfolio and live edit
+ALTER TABLE lams_organisation ADD COLUMN enable_live_edit TINYINT(1) NOT NULL DEFAULT 1
+ AFTER enable_single_activity_lessons;
+ALTER TABLE lams_organisation ADD COLUMN enable_export_portfolio TINYINT(1) NOT NULL DEFAULT 1
+ AFTER enable_live_edit;
+
+-- If there were no errors, commit and restore autocommit to on
+SET FOREIGN_KEY_CHECKS=0;
+COMMIT;
+SET AUTOCOMMIT = 1;
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java
===================================================================
diff -u -rb72aa2c6f30c93631bc52d01258c8b2be200f233 -r7911b538e3fd0e8ae2bb56acac7eed836d4b2320
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java (.../Organisation.java) (revision b72aa2c6f30c93631bc52d01258c8b2be200f233)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java (.../Organisation.java) (revision 7911b538e3fd0e8ae2bb56acac7eed836d4b2320)
@@ -99,6 +99,12 @@
/** persistent field */
private Boolean enableSingleActivityLessons;
+
+ /** persistent field */
+ private Boolean enableLiveEdit;
+
+ /** persistent field */
+ private Boolean enableExportPortfolio;
/** persistent field */
private Date archivedDate;
@@ -115,6 +121,8 @@
this.enableGradebookForLearners = Boolean.FALSE;
this.enableGradebookForMonitors = Boolean.FALSE;
this.enableSingleActivityLessons = Boolean.FALSE;
+ this.enableLiveEdit = Boolean.FALSE;
+ this.enableExportPortfolio = Boolean.FALSE;
}
public Integer getOrganisationId() {
@@ -331,4 +339,20 @@
public void setEnableSingleActivityLessons(Boolean enableSingleActivityLessons) {
this.enableSingleActivityLessons = enableSingleActivityLessons;
}
+
+ public Boolean getEnableLiveEdit() {
+ return enableLiveEdit;
+ }
+
+ public void setEnableLiveEdit(Boolean enableLiveEdit) {
+ this.enableLiveEdit = enableLiveEdit;
+ }
+
+ public Boolean getEnableExportPortfolio() {
+ return enableExportPortfolio;
+ }
+
+ public void setEnableExportPortfolio(Boolean enableExportPortfolio) {
+ this.enableExportPortfolio = enableExportPortfolio;
+ }
}
\ No newline at end of file
Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java
===================================================================
diff -u -r513666f54db679d1b57897effb105f38acd2e003 -r7911b538e3fd0e8ae2bb56acac7eed836d4b2320
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 513666f54db679d1b57897effb105f38acd2e003)
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 7911b538e3fd0e8ae2bb56acac7eed836d4b2320)
@@ -926,6 +926,8 @@
Organisation organisation = (Organisation) userManagementService.findById(Organisation.class,
lessonDTO.getOrganisationID());
request.setAttribute("notificationsAvailable", organisation.getEnableCourseNotifications());
+ request.setAttribute("enableLiveEdit", organisation.getEnableLiveEdit());
+ request.setAttribute("enableExportPortfolio", organisation.getEnableExportPortfolio());
request.setAttribute("lesson", lessonDTO);
return mapping.findForward("monitorLesson");
Index: lams_monitoring/web/includes/javascript/monitorLesson.js
===================================================================
diff -u -ra372388dfa06af732cb77332e499d3b1d00f2294 -r7911b538e3fd0e8ae2bb56acac7eed836d4b2320
--- lams_monitoring/web/includes/javascript/monitorLesson.js (.../monitorLesson.js) (revision a372388dfa06af732cb77332e499d3b1d00f2294)
+++ lams_monitoring/web/includes/javascript/monitorLesson.js (.../monitorLesson.js) (revision 7911b538e3fd0e8ae2bb56acac7eed836d4b2320)
@@ -1527,22 +1527,28 @@
if (!learnerProgressCellsTemplate) {
// fill the placeholder, after all required variables were initialised
learnerProgressCellsTemplate =
- ' |