Index: lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerAction.java =================================================================== diff -u -rd6b32a78fdd0ac86b400e8befd84bad62d2ad661 -ra068c0f5a40c0a7818ac3221479444e14e9c854d --- lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerAction.java (.../PedagogicalPlannerAction.java) (revision d6b32a78fdd0ac86b400e8befd84bad62d2ad661) +++ lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerAction.java (.../PedagogicalPlannerAction.java) (revision a068c0f5a40c0a7818ac3221479444e14e9c854d) @@ -95,7 +95,6 @@ import org.lamsfoundation.lams.learningdesign.exception.LearningDesignException; import org.lamsfoundation.lams.learningdesign.service.IExportToolContentService; import org.lamsfoundation.lams.learningdesign.service.ImportToolContentException; -import org.lamsfoundation.lams.lesson.LearnerProgress; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.monitoring.service.IMonitoringService; import org.lamsfoundation.lams.planner.PedagogicalPlannerSequenceNode; @@ -124,8 +123,6 @@ 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.workspace.service.IWorkspaceManagementService; -import org.lamsfoundation.lams.workspace.service.WorkspaceManagementService; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; @@ -444,10 +441,16 @@ ToolActivity toolActivity = (ToolActivity) activity; // Every tool has an URL that leads to Action that returns proper tool form to use String pedagogicalPlannerUrl = toolActivity.getTool().getPedagogicalPlannerUrl(); + String authorUrl = toolActivity.getTool().getAuthorUrl() + PedagogicalPlannerAction.CHAR_QUESTION_MARK + + AttributeNames.PARAM_TOOL_CONTENT_ID + PedagogicalPlannerAction.CHAR_EQUALS + + toolActivity.getToolContentId() + PedagogicalPlannerAction.CHAR_AMPERSAND + + AttributeNames.PARAM_CONTENT_FOLDER_ID + PedagogicalPlannerAction.CHAR_EQUALS + + learningDesign.getContentFolderID(); + if (pedagogicalPlannerUrl == null) { // if there is no URL, the tool does not support the planner addedDTO = new PedagogicalPlannerActivityDTO(toolActivity.getTool().getToolDisplayName(), activity - .getTitle(), false, PedagogicalPlannerAction.PATH_ACTIVITY_NO_PLANNER_SUPPORT, activity + .getTitle(), false, authorUrl, PedagogicalPlannerAction.PATH_ACTIVITY_NO_PLANNER_SUPPORT, activity .getLibraryActivityUiImage(), null, null); } else { // add some required parameters @@ -456,10 +459,10 @@ pedagogicalPlannerUrl += AttributeNames.PARAM_TOOL_CONTENT_ID + PedagogicalPlannerAction.CHAR_EQUALS + toolActivity.getToolContentId(); // Looks heavy, but we just build URLs for DTO - see that class the meaning of constructor parameters - addedDTO = new PedagogicalPlannerActivityDTO(toolActivity.getTool().getToolDisplayName(), activity - .getTitle(), true, pedagogicalPlannerUrl + PedagogicalPlannerAction.CHAR_AMPERSAND - + AttributeNames.PARAM_CONTENT_FOLDER_ID + PedagogicalPlannerAction.CHAR_EQUALS - + learningDesign.getContentFolderID(), activity.getLibraryActivityUiImage(), + addedDTO = new PedagogicalPlannerActivityDTO(toolActivity.getTool().getToolDisplayName(), + activity.getTitle(), true, pedagogicalPlannerUrl + PedagogicalPlannerAction.CHAR_AMPERSAND + + AttributeNames.PARAM_CONTENT_FOLDER_ID + PedagogicalPlannerAction.CHAR_EQUALS + + learningDesign.getContentFolderID(), authorUrl, activity.getLibraryActivityUiImage(), pedagogicalPlannerUrl + PedagogicalPlannerAction.CHAR_AMPERSAND + AttributeNames.PARAM_COMMAND + PedagogicalPlannerAction.CHAR_EQUALS + AttributeNames.COMMAND_CHECK_EDITING_ADVICE + PedagogicalPlannerAction.CHAR_AMPERSAND + AttributeNames.PARAM_ACTIVITY_INDEX @@ -475,13 +478,14 @@ .getSystemTool().getPedagogicalPlannerUrl() + PedagogicalPlannerAction.CHAR_AMPERSAND + AttributeNames.PARAM_TOOL_CONTENT_ID - + PedagogicalPlannerAction.CHAR_EQUALS + groupingActivity.getCreateGrouping().getGroupingId(), + + PedagogicalPlannerAction.CHAR_EQUALS + + groupingActivity.getCreateGrouping().getGroupingId(), null, PedagogicalPlannerAction.IMAGE_PATH_GROUPING, null, null); activities.add(addedDTO); } else if (activity.isGateActivity()) { // gate is not supported, but takes its image from a differen spot addedDTO = new PedagogicalPlannerActivityDTO(null, activity.getTitle(), false, - PedagogicalPlannerAction.PATH_ACTIVITY_NO_PLANNER_SUPPORT, + PedagogicalPlannerAction.PATH_ACTIVITY_NO_PLANNER_SUPPORT, null, PedagogicalPlannerAction.IMAGE_PATH_GATE, null, null); activities.add(addedDTO); } else if (activity.isBranchingActivity()) { @@ -508,7 +512,7 @@ + PedagogicalPlannerAction.CHAR_QUESTION_MARK + CentralConstants.PARAM_FORM_MESSAGE + PedagogicalPlannerAction.CHAR_EQUALS + getMessageService().getMessage(CentralConstants.RESOURCE_KEY_BRANCH_EMPTY); - addedDTO = new PedagogicalPlannerActivityDTO(null, null, false, path, null, null, null); + addedDTO = new PedagogicalPlannerActivityDTO(null, null, false, path, null, null, null, null); addedDTO.setParentActivityTitle(activity.getTitle()); addedDTO.setGroup(branch); addedDTO.setDefaultBranch(defaultBranch); @@ -597,8 +601,8 @@ } else { // If unknown/unsupported activity addedDTO = new PedagogicalPlannerActivityDTO(null, activity.getTitle(), false, - PedagogicalPlannerAction.PATH_ACTIVITY_NO_PLANNER_SUPPORT, activity.getLibraryActivityUiImage(), - null, null); + PedagogicalPlannerAction.PATH_ACTIVITY_NO_PLANNER_SUPPORT, null, + activity.getLibraryActivityUiImage(), null, null); activities.add(addedDTO); } return addedDTO; Index: lams_central/web/css/pedagogicalPlanner.css =================================================================== diff -u -rd3248906f919d6a3f9529896a3ec71a98aa0d039 -ra068c0f5a40c0a7818ac3221479444e14e9c854d --- lams_central/web/css/pedagogicalPlanner.css (.../pedagogicalPlanner.css) (revision d3248906f919d6a3f9529896a3ec71a98aa0d039) +++ lams_central/web/css/pedagogicalPlanner.css (.../pedagogicalPlanner.css) (revision a068c0f5a40c0a7818ac3221479444e14e9c854d) @@ -195,4 +195,5 @@ #content a.activityButton img{ border: none; + margin: 5px; } \ No newline at end of file Index: lams_central/web/images/pedag_collapse.png =================================================================== diff -u -rd3248906f919d6a3f9529896a3ec71a98aa0d039 -ra068c0f5a40c0a7818ac3221479444e14e9c854d Binary files differ Index: lams_central/web/includes/javascript/pedagogicalPlanner.js =================================================================== diff -u -rf7a20cc77560c4e70ef3dfe6013b7a299924eeb4 -ra068c0f5a40c0a7818ac3221479444e14e9c854d --- lams_central/web/includes/javascript/pedagogicalPlanner.js (.../pedagogicalPlanner.js) (revision f7a20cc77560c4e70ef3dfe6013b7a299924eeb4) +++ lams_central/web/includes/javascript/pedagogicalPlanner.js (.../pedagogicalPlanner.js) (revision a068c0f5a40c0a7818ac3221479444e14e9c854d) @@ -230,17 +230,34 @@ } } - function collapseActivity(id){ + function collapseActivity(id, action){ $('.collapsible'+id).hide(); $('#activity'+id).hide('slow', function () { - $('#activityCollapsedSpan'+id).show('slow'); + $('#activity'+action+'Span'+id).show('slow'); }); } - function expandActivity(id){ - $('#activityCollapsedSpan'+id).hide('slow', function () { + function expandActivity(id, action){ + $('#activity'+action+'Span'+id).hide('slow', function () { $('#activity'+id).show('slow', function (){ $('.collapsible'+id).show(); }); }); - } \ No newline at end of file + } + + function openActivityAuthor(id, url, title) { + collapseActivity(id, 'Edit'); + + var wd = window.open(url,title,'resizable,width=930,height=700,scrollbars'); + var watchClose = setInterval(function() { + if (wd.closed) { + clearTimeout(watchClose); + $('#activity'+id)[0].contentWindow.location.reload(true); + expandActivity(id, 'Edit'); + } + }, 500); + + if (window.focus) { + wd.window.focus(); + } + } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/planner/dto/PedagogicalPlannerActivityDTO.java =================================================================== diff -u -r8f7975d272f91acc26c785848d82d26d6b5dd357 -ra068c0f5a40c0a7818ac3221479444e14e9c854d --- lams_common/src/java/org/lamsfoundation/lams/planner/dto/PedagogicalPlannerActivityDTO.java (.../PedagogicalPlannerActivityDTO.java) (revision 8f7975d272f91acc26c785848d82d26d6b5dd357) +++ lams_common/src/java/org/lamsfoundation/lams/planner/dto/PedagogicalPlannerActivityDTO.java (.../PedagogicalPlannerActivityDTO.java) (revision a068c0f5a40c0a7818ac3221479444e14e9c854d) @@ -25,6 +25,15 @@ public class PedagogicalPlannerActivityDTO { private String pedagogicalPlannerUrl; + private String authorUrl; + public String getAuthorUrl() { + return authorUrl; + } + + public void setAuthorUrl(String authorUrl) { + this.authorUrl = authorUrl; + } + private String toolIconUrl; private String title; private String type; @@ -58,9 +67,11 @@ } public PedagogicalPlannerActivityDTO(String type, String title, Boolean supportsPlanner, - String pedagogicalPlannerUrl, String toolIconUrl, String checkEditingAdviceUrl, String editingAdviceUrl) { + String pedagogicalPlannerUrl, String authorUrl, String toolIconUrl, String checkEditingAdviceUrl, + String editingAdviceUrl) { this.supportsPlanner = supportsPlanner; this.pedagogicalPlannerUrl = pedagogicalPlannerUrl; + this.authorUrl = authorUrl; this.toolIconUrl = toolIconUrl; this.checkEditingAdviceUrl = checkEditingAdviceUrl; this.editingAdviceUrl = editingAdviceUrl;