Index: lams_build/lib/lams/lams.jar
===================================================================
diff -u -rc208628989d52041b3765784f4c8cbfd6c80d47b -r447de59032bcfa79753e192c0dfe35183e8c27e0
Binary files differ
Index: lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java
===================================================================
diff -u -r0c0cbdac26679e47d5c48e045c30e5496e1f809b -r447de59032bcfa79753e192c0dfe35183e8c27e0
--- lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java (.../HomeAction.java) (revision 0c0cbdac26679e47d5c48e045c30e5496e1f809b)
+++ lams_central/src/java/org/lamsfoundation/lams/web/HomeAction.java (.../HomeAction.java) (revision 447de59032bcfa79753e192c0dfe35183e8c27e0)
@@ -206,10 +206,17 @@
if (mode != null) {
req.setAttribute(AttributeNames.PARAM_MODE, mode);
}
+
+ Boolean isPortfolioEnabled = lesson.getLearnerExportAvailable() != null ? lesson
+ .getLearnerExportAvailable() : Boolean.TRUE;
+ Organisation organisation = lesson.getOrganisation();
+ //in case of preview lesson (organisation is null) don't check organisation's settings
+ if (organisation != null) {
+ 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 -rc7798d2b81a0595194a5e905ef6c33e372ad8007 -r447de59032bcfa79753e192c0dfe35183e8c27e0
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Organisation.hbm.xml (.../Organisation.hbm.xml) (revision c7798d2b81a0595194a5e905ef6c33e372ad8007)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Organisation.hbm.xml (.../Organisation.hbm.xml) (revision 447de59032bcfa79753e192c0dfe35183e8c27e0)
@@ -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 447de59032bcfa79753e192c0dfe35183e8c27e0)
@@ -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 -r447de59032bcfa79753e192c0dfe35183e8c27e0
--- 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 447de59032bcfa79753e192c0dfe35183e8c27e0)
@@ -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 -r4c6d5b276f29b966f4917eeb0620597775674ca6 -r447de59032bcfa79753e192c0dfe35183e8c27e0
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 4c6d5b276f29b966f4917eeb0620597775674ca6)
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 447de59032bcfa79753e192c0dfe35183e8c27e0)
@@ -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 -r4d5b9a09299a701f991c760b83290647b2d8a1b3 -r447de59032bcfa79753e192c0dfe35183e8c27e0
--- lams_monitoring/web/includes/javascript/monitorLesson.js (.../monitorLesson.js) (revision 4d5b9a09299a701f991c760b83290647b2d8a1b3)
+++ lams_monitoring/web/includes/javascript/monitorLesson.js (.../monitorLesson.js) (revision 447de59032bcfa79753e192c0dfe35183e8c27e0)
@@ -1527,22 +1527,28 @@
if (!learnerProgressCellsTemplate) {
// fill the placeholder, after all required variables were initialised
learnerProgressCellsTemplate =
- ' |