Skip to content
Snippets Groups Projects
Commit 1abda33e authored by srosse's avatar srosse
Browse files

no-jira: fix missing o_course_run class, add more informations to the subscriptions table

parent 32f6e2c8
No related branches found
No related tags found
No related merge requests found
Showing
with 33 additions and 31 deletions
...@@ -37,7 +37,7 @@ import org.olat.basesecurity.Constants; ...@@ -37,7 +37,7 @@ import org.olat.basesecurity.Constants;
import org.olat.basesecurity.SecurityGroup; import org.olat.basesecurity.SecurityGroup;
import org.olat.core.commons.modules.bc.FolderConfig; import org.olat.core.commons.modules.bc.FolderConfig;
import org.olat.core.commons.persistence.DBFactory; import org.olat.core.commons.persistence.DBFactory;
import org.olat.core.commons.services.notifications.NotificationUIFactory; import org.olat.core.commons.services.notifications.ui.NotificationSubscriptionController;
import org.olat.core.gui.UserRequest; import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.Component; import org.olat.core.gui.components.Component;
import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.Link;
...@@ -329,7 +329,7 @@ public class UserAdminController extends BasicController implements Activateable ...@@ -329,7 +329,7 @@ public class UserAdminController extends BasicController implements Activateable
Boolean canSubscriptions = BaseSecurityModule.USERMANAGER_CAN_MODIFY_SUBSCRIPTIONS; Boolean canSubscriptions = BaseSecurityModule.USERMANAGER_CAN_MODIFY_SUBSCRIPTIONS;
if (canSubscriptions.booleanValue() || isOlatAdmin) { if (canSubscriptions.booleanValue() || isOlatAdmin) {
Controller subscriptionsCtr = NotificationUIFactory.createSubscriptionListingController(identity, ureq, getWindowControl()); Controller subscriptionsCtr = new NotificationSubscriptionController(ureq, getWindowControl(), identity, true);
listenTo(subscriptionsCtr); // auto-dispose listenTo(subscriptionsCtr); // auto-dispose
userTabP.addTab(translate(NLS_VIEW_SUBSCRIPTIONS), subscriptionsCtr.getInitialComponent()); userTabP.addTab(translate(NLS_VIEW_SUBSCRIPTIONS), subscriptionsCtr.getInitialComponent());
} }
......
...@@ -29,7 +29,6 @@ import java.util.Date; ...@@ -29,7 +29,6 @@ import java.util.Date;
import org.olat.NewControllerFactory; import org.olat.NewControllerFactory;
import org.olat.core.commons.services.notifications.ui.NotificationNewsController; import org.olat.core.commons.services.notifications.ui.NotificationNewsController;
import org.olat.core.commons.services.notifications.ui.NotificationSubscriptionAndNewsController; import org.olat.core.commons.services.notifications.ui.NotificationSubscriptionAndNewsController;
import org.olat.core.commons.services.notifications.ui.NotificationSubscriptionController;
import org.olat.core.gui.UserRequest; import org.olat.core.gui.UserRequest;
import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.translator.Translator; import org.olat.core.gui.translator.Translator;
...@@ -48,19 +47,6 @@ import org.olat.core.util.Util; ...@@ -48,19 +47,6 @@ import org.olat.core.util.Util;
*/ */
public class NotificationUIFactory { public class NotificationUIFactory {
/**
* Create a controller that displays the subscriptions for a specific user
*
* @param subscriberIdentity
* @param ureq
* @param windowControl
* @return
*/
public static NotificationSubscriptionController createSubscriptionListingController(Identity subscriberIdentity, UserRequest ureq,
WindowControl windowControl) {
return new NotificationSubscriptionController(subscriberIdentity, ureq, windowControl);
}
/** /**
* Create a controller that displays the users news from his subscriptions * Create a controller that displays the users news from his subscriptions
* *
......
...@@ -103,7 +103,7 @@ public class NotificationSubscriptionAndNewsController extends BasicController i ...@@ -103,7 +103,7 @@ public class NotificationSubscriptionAndNewsController extends BasicController i
// Lazy initialize the notification subscription controller when the // Lazy initialize the notification subscription controller when the
// user clicks the tab the first time // user clicks the tab the first time
if (tabbedEvent.getNewComponent() == subscriptionPanel && subscriptionCtr == null) { if (tabbedEvent.getNewComponent() == subscriptionPanel && subscriptionCtr == null) {
subscriptionCtr = NotificationUIFactory.createSubscriptionListingController(subscriberIdentity, ureq, getWindowControl()); subscriptionCtr = new NotificationSubscriptionController(ureq, getWindowControl(), subscriberIdentity, false);
listenTo(subscriptionCtr); listenTo(subscriptionCtr);
subscriptionPanel.setContent(subscriptionCtr.getInitialComponent()); subscriptionPanel.setContent(subscriptionCtr.getInitialComponent());
} }
......
...@@ -64,16 +64,18 @@ public class NotificationSubscriptionController extends BasicController { ...@@ -64,16 +64,18 @@ public class NotificationSubscriptionController extends BasicController {
private DialogBoxController delYesNoC; private DialogBoxController delYesNoC;
private Identity subscriberIdentity; private Identity subscriberIdentity;
public NotificationSubscriptionController(Identity subscriberIdentity, UserRequest ureq, WindowControl wControl) { public NotificationSubscriptionController(UserRequest ureq, WindowControl wControl,
Identity subscriberIdentity, boolean adminColumns) {
// use home fallback for rss translations // use home fallback for rss translations
super(ureq, wControl, Util.createPackageTranslator(HomeMainController.class, ureq.getLocale())); super(ureq, wControl, Util.createPackageTranslator(HomeMainController.class, ureq.getLocale()));
this.subscriberIdentity = subscriberIdentity; this.subscriberIdentity = subscriberIdentity;
// Build the table that contains all the subscriptions // Build the table that contains all the subscriptions
TableGuiConfiguration tableGuiPrefs = new TableGuiConfiguration(); TableGuiConfiguration tableGuiPrefs = new TableGuiConfiguration();
tableGuiPrefs.setTableEmptyMessage(translate("subscriptions.no.subscriptions")); tableGuiPrefs.setTableEmptyMessage(translate("subscriptions.no.subscriptions"));
tableGuiPrefs.setPreferencesOffered(true, "notifications-" + adminColumns);
subscriptionsTableCtr = new TableController(tableGuiPrefs, ureq, wControl, getTranslator()); subscriptionsTableCtr = new TableController(tableGuiPrefs, ureq, wControl, getTranslator());
subscriptionsTableModel = new NotificationSubscriptionTableDataModel(getTranslator()); subscriptionsTableModel = new NotificationSubscriptionTableDataModel(getTranslator());
subscriptionsTableModel.addTableColumns(subscriptionsTableCtr); subscriptionsTableModel.addTableColumns(subscriptionsTableCtr, adminColumns);
updateSubscriptionsDataModel(); updateSubscriptionsDataModel();
listenTo(subscriptionsTableCtr); listenTo(subscriptionsTableCtr);
// Main view is a velocity container // Main view is a velocity container
......
...@@ -54,10 +54,13 @@ class NotificationSubscriptionTableDataModel extends DefaultTableDataModel<Subsc ...@@ -54,10 +54,13 @@ class NotificationSubscriptionTableDataModel extends DefaultTableDataModel<Subsc
* *
* @param subscriptionsTableCtr * @param subscriptionsTableCtr
*/ */
void addTableColumns(TableController subscriptionsTableCtr) { void addTableColumns(TableController subscriptionsTableCtr, boolean admin) {
subscriptionsTableCtr.addColumnDescriptor(new DefaultColumnDescriptor("overview.column.type", 0, "launch", getLocale())); subscriptionsTableCtr.addColumnDescriptor(false, new DefaultColumnDescriptor("overview.column.key", 0, "launch", getLocale()));
subscriptionsTableCtr.addColumnDescriptor(new DefaultColumnDescriptor("overview.column.resname", 1, null, getLocale())); subscriptionsTableCtr.addColumnDescriptor(new DefaultColumnDescriptor("overview.column.type", 1, "launch", getLocale()));
subscriptionsTableCtr.addColumnDescriptor(new DefaultColumnDescriptor("overview.column.subidentifier", 2, null, getLocale())); subscriptionsTableCtr.addColumnDescriptor(new DefaultColumnDescriptor("overview.column.resname", 2, null, getLocale()));
subscriptionsTableCtr.addColumnDescriptor(new DefaultColumnDescriptor("overview.column.subidentifier", 3, null, getLocale()));
subscriptionsTableCtr.addColumnDescriptor(admin, new DefaultColumnDescriptor("overview.column.creationDate", 4, null, getLocale()));
subscriptionsTableCtr.addColumnDescriptor(admin, new DefaultColumnDescriptor("overview.column.lastEmail", 5, null, getLocale()));
subscriptionsTableCtr.addColumnDescriptor(new StaticColumnDescriptor("del", "overview.column.action", trans subscriptionsTableCtr.addColumnDescriptor(new StaticColumnDescriptor("del", "overview.column.action", trans
.translate("overview.column.action.cellvalue"))); .translate("overview.column.action.cellvalue")));
} }
...@@ -80,13 +83,14 @@ class NotificationSubscriptionTableDataModel extends DefaultTableDataModel<Subsc ...@@ -80,13 +83,14 @@ class NotificationSubscriptionTableDataModel extends DefaultTableDataModel<Subsc
Publisher pub = sub.getPublisher(); Publisher pub = sub.getPublisher();
switch (col) { switch (col) {
case 0: case 0: return sub.getKey();
case 1:
String innerType = pub.getType(); String innerType = pub.getType();
return NewControllerFactory.translateResourceableTypeName(innerType, getLocale()); return NewControllerFactory.translateResourceableTypeName(innerType, getLocale());
case 1: case 2:
String containerType = pub.getResName(); String containerType = pub.getResName();
return NewControllerFactory.translateResourceableTypeName(containerType, getLocale()); return NewControllerFactory.translateResourceableTypeName(containerType, getLocale());
case 2: case 3:
NotificationsHandler handler = NotificationsManager.getInstance().getNotificationsHandler(pub); NotificationsHandler handler = NotificationsManager.getInstance().getNotificationsHandler(pub);
if(handler == null){ if(handler == null){
return ""; return "";
...@@ -96,6 +100,8 @@ class NotificationSubscriptionTableDataModel extends DefaultTableDataModel<Subsc ...@@ -96,6 +100,8 @@ class NotificationSubscriptionTableDataModel extends DefaultTableDataModel<Subsc
return ""; return "";
} }
return title; return title;
case 4: return sub.getCreationDate();
case 5: return sub.getLatestEmailed();
default: default:
return "ERROR"; return "ERROR";
} }
......
...@@ -45,6 +45,9 @@ notificationsPortlet.multiple.news.in = {0} ...@@ -45,6 +45,9 @@ notificationsPortlet.multiple.news.in = {0}
notificationsPortlet.single.news.in = 1 Änderung in {0} notificationsPortlet.single.news.in = 1 Änderung in {0}
overview.column.action=Aktion overview.column.action=Aktion
overview.column.action.cellvalue=L\u00F6schen overview.column.action.cellvalue=L\u00F6schen
overview.column.creationDate=Erstellt am
overview.column.lastEmail=Letztes E-Mail
overview.column.key=ID
overview.column.resname=Art overview.column.resname=Art
overview.column.subidentifier=Titel overview.column.subidentifier=Titel
overview.column.type=Typ overview.column.type=Typ
......
...@@ -58,6 +58,9 @@ notificationsPortlet.single.news.in=1 modification in {0} ...@@ -58,6 +58,9 @@ notificationsPortlet.single.news.in=1 modification in {0}
notificationsPortlet.title=My notifications notificationsPortlet.title=My notifications
overview.column.action=Action overview.column.action=Action
overview.column.action.cellvalue=Delete overview.column.action.cellvalue=Delete
overview.column.creationDate=Created on
overview.column.key=ID
overview.column.lastEmail=Last e-mail
overview.column.resname=Type overview.column.resname=Type
overview.column.subidentifier=Title overview.column.subidentifier=Title
overview.column.type=Type overview.column.type=Type
......
...@@ -47,7 +47,7 @@ public class TitledWrapperHelper { ...@@ -47,7 +47,7 @@ public class TitledWrapperHelper {
if (StringHelper.containsNonWhitespace(iconCssClass)) { if (StringHelper.containsNonWhitespace(iconCssClass)) {
titleInfo.setIconCssClass(iconCssClass); titleInfo.setIconCssClass(iconCssClass);
} }
controller = new TitledWrapperController(ureq, wControl, controller, "o_course_run", titleInfo); controller = new TitledWrapperController(ureq, wControl, controller, null, titleInfo);
} }
} else if (CourseNode.DISPLAY_OPTS_TITLE_CONTENT.equals(displayOption)) { } else if (CourseNode.DISPLAY_OPTS_TITLE_CONTENT.equals(displayOption)) {
if(StringHelper.containsNonWhitespace(courseNode.getLongTitle())) { if(StringHelper.containsNonWhitespace(courseNode.getLongTitle())) {
...@@ -56,7 +56,7 @@ public class TitledWrapperHelper { ...@@ -56,7 +56,7 @@ public class TitledWrapperHelper {
if (StringHelper.containsNonWhitespace(iconCssClass)) { if (StringHelper.containsNonWhitespace(iconCssClass)) {
titleInfo.setIconCssClass(iconCssClass); titleInfo.setIconCssClass(iconCssClass);
} }
controller = new TitledWrapperController(ureq, wControl, controller, "o_course_run", titleInfo); controller = new TitledWrapperController(ureq, wControl, controller, null, titleInfo);
} }
} else if (CourseNode.DISPLAY_OPTS_SHORT_TITLE_DESCRIPTION_CONTENT.equals(displayOption)) { } else if (CourseNode.DISPLAY_OPTS_SHORT_TITLE_DESCRIPTION_CONTENT.equals(displayOption)) {
String title = courseNode.getShortTitle(); String title = courseNode.getShortTitle();
...@@ -73,7 +73,7 @@ public class TitledWrapperHelper { ...@@ -73,7 +73,7 @@ public class TitledWrapperHelper {
if (StringHelper.containsNonWhitespace(iconCssClass)) { if (StringHelper.containsNonWhitespace(iconCssClass)) {
titleInfo.setIconCssClass(iconCssClass); titleInfo.setIconCssClass(iconCssClass);
} }
controller = new TitledWrapperController(ureq, wControl, controller, "o_course_run", titleInfo); controller = new TitledWrapperController(ureq, wControl, controller, null, titleInfo);
} }
} else if (CourseNode.DISPLAY_OPTS_TITLE_DESCRIPTION_CONTENT.equals(displayOption)) { } else if (CourseNode.DISPLAY_OPTS_TITLE_DESCRIPTION_CONTENT.equals(displayOption)) {
...@@ -89,7 +89,7 @@ public class TitledWrapperHelper { ...@@ -89,7 +89,7 @@ public class TitledWrapperHelper {
if (StringHelper.containsNonWhitespace(iconCssClass)) { if (StringHelper.containsNonWhitespace(iconCssClass)) {
titleInfo.setIconCssClass(iconCssClass); titleInfo.setIconCssClass(iconCssClass);
} }
controller = new TitledWrapperController(ureq, wControl, controller, "o_course_run", titleInfo); controller = new TitledWrapperController(ureq, wControl, controller, null, titleInfo);
} }
} }
return controller; return controller;
......
...@@ -13,4 +13,6 @@ function o_activateCourseNode(nodeid) { ...@@ -13,4 +13,6 @@ function o_activateCourseNode(nodeid) {
} }
/* ]]> */ /* ]]> */
</script> </script>
$r.render("coursemain") <div class="o_course_run">
\ No newline at end of file $r.render("coursemain")
</div>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment