Index: lams_central/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r78a307cb67e1f6e62a007f35e4a5eeeabd48b676 -r06fc4785b4b22b02544ac978dc9284dfc85d9c2b --- lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 78a307cb67e1f6e62a007f35e4a5eeeabd48b676) +++ lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 06fc4785b4b22b02544ac978dc9284dfc85d9c2b) @@ -73,8 +73,9 @@ index.addlesson = Add Lesson index.monitor = Monitor index.dummymonitor = Dummy Monitor -index.organisation.link = Course URL: +index.organisation.link = Copy course link index.organisation.link.tooltip = Copy course URL to clipboard +index.organisation.link.success = Course URL copied to clipboard title.import.result = Import tool content result title.import = Import tool content title.import.instruction = Please choose LAMS design to import. Index: lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupController.java =================================================================== diff -u -r78a307cb67e1f6e62a007f35e4a5eeeabd48b676 -r06fc4785b4b22b02544ac978dc9284dfc85d9c2b --- lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupController.java (.../DisplayGroupController.java) (revision 78a307cb67e1f6e62a007f35e4a5eeeabd48b676) +++ lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupController.java (.../DisplayGroupController.java) (revision 06fc4785b4b22b02544ac978dc9284dfc85d9c2b) @@ -149,59 +149,55 @@ moreLinks.add(new IndexLinkBean("index.classman", "javascript:openOrgManagement(" + organisationId + ")", "fa fa-fw fa-ellipsis-v", null)); } - if ((roles.contains(Role.ROLE_GROUP_MANAGER) || roles.contains(Role.ROLE_AUTHOR) - || roles.contains(Role.ROLE_MONITOR))) { - moreLinks.add(new IndexLinkBean("index.orggroup", - "javascript:showOrgGroupingDialog(" + organisationId + ")", "fa fa-fw fa-users", null)); - } + moreLinks.add(new IndexLinkBean("index.orggroup", + "javascript:showOrgGroupingDialog(" + organisationId + ")", "fa fa-fw fa-users", null)); - if (roles.contains(Role.ROLE_GROUP_MANAGER) || roles.contains(Role.ROLE_MONITOR)) { - String name = org.getEnableSingleActivityLessons() ? "index.addlesson.single" : "index.addlesson"; - links.add(new IndexLinkBean(name, "javascript:showAddLessonDialog(" + organisationId + ")", - "fa fa-fw fa-plus", null)); - } + String name = org.getEnableSingleActivityLessons() ? "index.addlesson.single" : "index.addlesson"; + links.add(new IndexLinkBean(name, "javascript:showAddLessonDialog(" + organisationId + ")", + "fa fa-fw fa-plus", null)); + moreLinks.add(new IndexLinkBean("index.searchlesson", "javascript:showSearchLessonDialog(" + organisationId + ")", "fa fa-fw fa-search", "index.searchlesson.tooltip")); // Adding course notifications links if enabled - if (org.getEnableCourseNotifications() - && (roles.contains(Role.ROLE_GROUP_MANAGER) || roles.contains(Role.ROLE_MONITOR))) { + if (org.getEnableCourseNotifications()) { moreLinks.add(new IndexLinkBean("index.emailnotifications", "javascript:showNotificationsDialog(" + organisationId + ",null)", "fa fa-fw fa-bullhorn", "index.emailnotifications.tooltip")); } // Adding lesson sorting link - if (roles.contains(Role.ROLE_GROUP_MANAGER) || roles.contains(Role.ROLE_MONITOR)) { + // make sure the group or any of its subgroups has at least one lesson + boolean hasLesson = !orgBean.getLessons().isEmpty(); + for (IndexOrgBean childOrgBean : orgBean.getChildIndexOrgBeans()) { + hasLesson |= (childOrgBean.getLessons() != null) && !childOrgBean.getLessons().isEmpty(); + } - // make sure the group or any of its subgroups has at least one lesson - boolean hasLesson = !orgBean.getLessons().isEmpty(); - for (IndexOrgBean childOrgBean : orgBean.getChildIndexOrgBeans()) { - hasLesson |= (childOrgBean.getLessons() != null) && !childOrgBean.getLessons().isEmpty(); - } + if (hasLesson) { + moreLinks.add(new IndexLinkBean("label.enable.lesson.sorting", "javascript:makeOrgSortable()", + "fa fa-fw fa-sort sorting tour-sorting", "label.enable.lesson.sorting")); + } - if (hasLesson) { - moreLinks.add(new IndexLinkBean("label.enable.lesson.sorting", "javascript:makeOrgSortable()", - "fa fa-fw fa-sort sorting tour-sorting", "label.enable.lesson.sorting")); - } + String link = "javascript:showGradebookCourseDialog(" + organisationId + ")"; + moreLinks.add(new IndexLinkBean("index.coursegradebook", link, "fa fa-fw fa-list-ol", + "index.coursegradebook.tooltip")); - String link = "javascript:showGradebookCourseDialog(" + organisationId + ")"; - moreLinks.add(new IndexLinkBean("index.coursegradebook", link, "fa fa-fw fa-list-ol", - "index.coursegradebook.tooltip")); + if (Configuration.getAsBoolean(ConfigurationKeys.ALLOW_DIRECT_LESSON_LAUNCH)) { + String orgUrl = Configuration.get(ConfigurationKeys.SERVER_URL) + "r/" + + WebUtil.ORG_SHORTENING_PREFIX + WebUtil.encodeIdForDirectLaunch(organisationId); + link = "javascript:copyOrgUrlToClipboard('" + orgUrl + "')"; + moreLinks.add(new IndexLinkBean("index.organisation.link", link, "fa fa-fw fa-clipboard", + "index.organisation.link.tooltip")); } } else {// CLASS_TYPE - if (roles.contains(Role.ROLE_GROUP_MANAGER) || roles.contains(Role.ROLE_MONITOR)) { - String name = org.getParentOrganisation().getEnableSingleActivityLessons() - ? "index.addlesson.single" - : "index.addlesson"; - links.add(new IndexLinkBean(name, "javascript:showAddLessonDialog(" + organisationId + ")", - "fa fa-fw fa-plus", null)); + String name = org.getParentOrganisation().getEnableSingleActivityLessons() ? "index.addlesson.single" + : "index.addlesson"; + links.add(new IndexLinkBean(name, "javascript:showAddLessonDialog(" + organisationId + ")", + "fa fa-fw fa-plus", null)); - String link = "javascript:showGradebookCourseDialog(" + organisationId + ")"; - moreLinks.add( - new IndexLinkBean("index.coursegradebook.subgroup", link, "fa fa-fw fa-list-ol", null)); - } + String link = "javascript:showGradebookCourseDialog(" + organisationId + ")"; + moreLinks.add(new IndexLinkBean("index.coursegradebook.subgroup", link, "fa fa-fw fa-list-ol", null)); } } @@ -226,11 +222,6 @@ @SuppressWarnings("unchecked") private IndexOrgBean populateContentsOrgBean(IndexOrgBean orgBean, Organisation org, List roles, String username, boolean isSysAdmin) throws SQLException, NamingException { - if (Configuration.getAsBoolean(ConfigurationKeys.ALLOW_DIRECT_LESSON_LAUNCH)) { - orgBean.setEncodedOrgId( - WebUtil.ORG_SHORTENING_PREFIX + WebUtil.encodeIdForDirectLaunch(org.getOrganisationId())); - } - Integer userId = getUser(username).getUserId(); // set lesson beans Index: lams_central/web/group.jsp =================================================================== diff -u -r78a307cb67e1f6e62a007f35e4a5eeeabd48b676 -r06fc4785b4b22b02544ac978dc9284dfc85d9c2b --- lams_central/web/group.jsp (.../group.jsp) (revision 78a307cb67e1f6e62a007f35e4a5eeeabd48b676) +++ lams_central/web/group.jsp (.../group.jsp) (revision 06fc4785b4b22b02544ac978dc9284dfc85d9c2b) @@ -19,15 +19,9 @@ - - - - r/ - - - + Index: lams_central/web/includes/javascript/main.js =================================================================== diff -u -r78a307cb67e1f6e62a007f35e4a5eeeabd48b676 -r06fc4785b4b22b02544ac978dc9284dfc85d9c2b --- lams_central/web/includes/javascript/main.js (.../main.js) (revision 78a307cb67e1f6e62a007f35e4a5eeeabd48b676) +++ lams_central/web/includes/javascript/main.js (.../main.js) (revision 06fc4785b4b22b02544ac978dc9284dfc85d9c2b) @@ -697,7 +697,11 @@ } } -function copyOrgUrlToClipboard(){ - var copyText = $('#direct-org-launch-link').text(); - navigator.clipboard.writeText(copyText); +function copyOrgUrlToClipboard(url){ + navigator.clipboard.writeText(url); + + let successNotification = $('#course-url-copied').css('display', 'inline-block'); + setTimeout(function(){ + successNotification.hide(); + }, 5000); } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/index/IndexOrgBean.java =================================================================== diff -u -r78a307cb67e1f6e62a007f35e4a5eeeabd48b676 -r06fc4785b4b22b02544ac978dc9284dfc85d9c2b --- lams_common/src/java/org/lamsfoundation/lams/index/IndexOrgBean.java (.../IndexOrgBean.java) (revision 78a307cb67e1f6e62a007f35e4a5eeeabd48b676) +++ lams_common/src/java/org/lamsfoundation/lams/index/IndexOrgBean.java (.../IndexOrgBean.java) (revision 06fc4785b4b22b02544ac978dc9284dfc85d9c2b) @@ -43,7 +43,6 @@ private Integer type; private boolean favorite = false; private boolean collapsed = false; - private String encodedOrgId; private List links; private List moreLinks; private List lessons; @@ -220,12 +219,4 @@ public void setCollapsed(boolean collapsed) { this.collapsed = collapsed; } - - public String getEncodedOrgId() { - return encodedOrgId; - } - - public void setEncodedOrgId(String encodedOrgId) { - this.encodedOrgId = encodedOrgId; - } } \ No newline at end of file