Index: lams_admin/conf/xdoclet/struts-forms.xml =================================================================== diff -u -rac174824b862fb7976c0b767a16232106c5a5373 -r447de59032bcfa79753e192c0dfe35183e8c27e0 --- lams_admin/conf/xdoclet/struts-forms.xml (.../struts-forms.xml) (revision ac174824b862fb7976c0b767a16232106c5a5373) +++ lams_admin/conf/xdoclet/struts-forms.xml (.../struts-forms.xml) (revision 447de59032bcfa79753e192c0dfe35183e8c27e0) @@ -15,6 +15,8 @@ + + Index: lams_admin/web/organisation/createOrEdit.jsp =================================================================== diff -u -r48ed00ae83293d10aae53149bd06ee25598c9432 -r447de59032bcfa79753e192c0dfe35183e8c27e0 --- lams_admin/web/organisation/createOrEdit.jsp (.../createOrEdit.jsp) (revision 48ed00ae83293d10aae53149bd06ee25598c9432) +++ lams_admin/web/organisation/createOrEdit.jsp (.../createOrEdit.jsp) (revision 447de59032bcfa79753e192c0dfe35183e8c27e0) @@ -82,56 +82,94 @@ + - - + + - - + + - - + + - - + + - + - + - - + + + + + + + + + + + + + + + + + + + +   - + + . @@ -140,6 +178,7 @@   + 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 = - '
;11;
' - + '' - + LABELS.EXPORT_PORTFOLIO - + '' - /* + ' - + LABELS.TIME_CHART - + ''*/ - + '' - + LABELS.EMAIL_BUTTON - + ''; + '
;11;
'; + + if (enableExportPortfolio) { + learnerProgressCellsTemplate += + '' + + LABELS.EXPORT_PORTFOLIO + + ''; + } + + learnerProgressCellsTemplate += + /* + ' + + LABELS.TIME_CHART + + ''*/ + '' + + LABELS.EMAIL_BUTTON + + ''; } // remove existing progress bars Index: lams_monitoring/web/monitor.jsp =================================================================== diff -u -r707bcca30d7dd5af23d6c85fdecdb04cbb46599d -r447de59032bcfa79753e192c0dfe35183e8c27e0 --- lams_monitoring/web/monitor.jsp (.../monitor.jsp) (revision 707bcca30d7dd5af23d6c85fdecdb04cbb46599d) +++ lams_monitoring/web/monitor.jsp (.../monitor.jsp) (revision 447de59032bcfa79753e192c0dfe35183e8c27e0) @@ -40,6 +40,7 @@ hasContentFrame = false, presenceEnabled = false, hasDialog = false, + enableExportPortfolio = ${enableExportPortfolio}, LAMS_URL = '', @@ -272,28 +273,36 @@ - - checked="checked" - - />
+ + + checked="checked" + + /> + +
+ + checked="checked" - /> + /> + (0 )
+ disabled="disabled" checked="checked" - /> + /> + @@ -339,25 +348,32 @@
- + + - - - - + + + + + + + + - + + - + +