Skip to content
Snippets Groups Projects
Commit 39dd9fe2 authored by srosse's avatar srosse
Browse files

Merge remote-tracking branch 'origin/OpenOLAT_14.0' into OpenOLAT_14.1

parents 1d1cc060 4a2c1c0e
No related branches found
No related tags found
No related merge requests found
...@@ -63,26 +63,25 @@ public class FinishCallback implements StepRunnerCallback { ...@@ -63,26 +63,25 @@ public class FinishCallback implements StepRunnerCallback {
mailService = CoreSpringFactory.getImpl(MailManager.class); mailService = CoreSpringFactory.getImpl(MailManager.class);
} }
@Override @Override
public Step execute(UserRequest ureq, WindowControl wControl, StepsRunContext runContext) { public Step execute(UserRequest ureq, WindowControl wControl, StepsRunContext runContext) {
FOCourseNode node = (FOCourseNode)runContext.get(SendMailStepForm.FORUM); FOCourseNode targetNode = (FOCourseNode)runContext.get(SendMailStepForm.FORUM);
ICourse course = (ICourse)runContext.get(SendMailStepForm.ICOURSE); ICourse course = (ICourse)runContext.get(SendMailStepForm.ICOURSE);
CourseEnvironment courseEnv = course.getCourseEnvironment(); CourseEnvironment courseEnv = course.getCourseEnvironment();
Forum chosenforum = node.loadOrCreateForum(courseEnv); Forum chosenforum = targetNode.loadOrCreateForum(courseEnv);
Message msg = (Message)runContext.get(SendMailStepForm.MESSAGE_TO_MOVE); Message msgToMove = (Message)runContext.get(SendMailStepForm.MESSAGE_TO_MOVE);
msg = forumManager.getMessageById(msg.getKey()); msgToMove = forumManager.getMessageById(msgToMove.getKey());
Message parentMessage = (Message)runContext.get(SendMailStepForm.PARENT_MESSAGE); Message parentMessage = (Message)runContext.get(SendMailStepForm.PARENT_MESSAGE);
if (parentMessage!= null) { if (parentMessage!= null) {
parentMessage = forumManager.getMessageById(parentMessage.getKey()); parentMessage = forumManager.getMessageById(parentMessage.getKey());
} }
if (msg.getParentKey() == null && msg.getThreadtop() == null) { if (msgToMove.getParentKey() == null && msgToMove.getThreadtop() == null) {
msg = forumManager.createOrAppendThreadInAnotherForum(msg, chosenforum, parentMessage); forumManager.createOrAppendThreadInAnotherForum(msgToMove, chosenforum, parentMessage);
} else { } else {
msg = forumManager.moveMessageToAnotherForum(msg, chosenforum, parentMessage); forumManager.moveMessageToAnotherForum(msgToMove, chosenforum, parentMessage);
} }
DBFactory.getInstance().commit();//commit before sending event DBFactory.getInstance().commit();//commit before sending event
if ((Boolean)runContext.get(SendMailStepForm.SENDMAIL)) { if (((Boolean)runContext.get(SendMailStepForm.SENDMAIL)).booleanValue()) {
sendMail(ureq, wControl, runContext); sendMail(ureq, wControl, runContext);
} }
return StepsMainRunController.DONE_MODIFIED; return StepsMainRunController.DONE_MODIFIED;
......
...@@ -3,8 +3,8 @@ step.select.forum=Forum ausw\u00E4hlen ...@@ -3,8 +3,8 @@ step.select.forum=Forum ausw\u00E4hlen
step.select.thread=Diskussionsfaden ausw\u00E4hlen step.select.thread=Diskussionsfaden ausw\u00E4hlen
step.select.comment=Kommentar ausw\u00E4hlen step.select.comment=Kommentar ausw\u00E4hlen
step.send.mail=Mail verschicken step.send.mail=Mail verschicken
forum.select=select forum.select=Ausw\u00E4hlen
forum.forum=forum forum.forum=Forum
forum.thread=Diskussionsfaden forum.thread=Diskussionsfaden
forum.comment=Beitrag forum.comment=Beitrag
many.children.move=\n{0} Antworten werden mitverschoben. many.children.move=\n{0} Antworten werden mitverschoben.
......
...@@ -37,6 +37,7 @@ import org.olat.core.commons.services.mark.MarkResourceStat; ...@@ -37,6 +37,7 @@ import org.olat.core.commons.services.mark.MarkResourceStat;
import org.olat.core.commons.services.mark.MarkingService; import org.olat.core.commons.services.mark.MarkingService;
import org.olat.core.commons.services.mark.impl.ui.MarkedEvent; import org.olat.core.commons.services.mark.impl.ui.MarkedEvent;
import org.olat.core.commons.services.mark.impl.ui.UnmarkedEvent; import org.olat.core.commons.services.mark.impl.ui.UnmarkedEvent;
import org.olat.core.commons.services.notifications.SubscriptionContext;
import org.olat.core.commons.services.vfs.VFSMetadata; import org.olat.core.commons.services.vfs.VFSMetadata;
import org.olat.core.commons.services.vfs.VFSRepositoryService; import org.olat.core.commons.services.vfs.VFSRepositoryService;
import org.olat.core.dispatcher.mapper.Mapper; import org.olat.core.dispatcher.mapper.Mapper;
...@@ -207,7 +208,7 @@ public class MessageListController extends BasicController implements GenericEve ...@@ -207,7 +208,7 @@ public class MessageListController extends BasicController implements GenericEve
mainVC = createVelocityContainer("threadview"); mainVC = createVelocityContainer("threadview");
mainVC.contextPut("threadMode", Boolean.TRUE); mainVC.contextPut("threadMode", Boolean.TRUE);
mainVC.contextPut("thumbMapper", thumbnailMapper); mainVC.contextPut("thumbMapper", thumbnailMapper);
mainVC.contextPut("guestOnly", new Boolean(guestOnly)); mainVC.contextPut("guestOnly", Boolean.valueOf(guestOnly));
messageTableCtrl = new ForumMessageListController(ureq, getWindowControl(), forum, false, true, true); messageTableCtrl = new ForumMessageListController(ureq, getWindowControl(), forum, false, true, true);
listenTo(messageTableCtrl); listenTo(messageTableCtrl);
...@@ -557,7 +558,7 @@ public class MessageListController extends BasicController implements GenericEve ...@@ -557,7 +558,7 @@ public class MessageListController extends BasicController implements GenericEve
orderedList.add(message.getMessage()); orderedList.add(message.getMessage());
} }
List<MessageNode> children = message.getChildren(); List<MessageNode> children = message.getChildren();
if(children.size() > 0) { if(!children.isEmpty()) {
if(children.size() > 1) { if(children.size() > 1) {
Collections.sort(children); Collections.sort(children);
} }
...@@ -816,8 +817,8 @@ public class MessageListController extends BasicController implements GenericEve ...@@ -816,8 +817,8 @@ public class MessageListController extends BasicController implements GenericEve
private void doDeliverAttachment(UserRequest ureq, String cmd) { private void doDeliverAttachment(UserRequest ureq, String cmd) {
MediaResource res = null; MediaResource res = null;
try { try {
int index = cmd.lastIndexOf("_"); int index = cmd.lastIndexOf('_');
String attachmentPosition = cmd.substring(cmd.indexOf("_") + 1, index); String attachmentPosition = cmd.substring(cmd.indexOf('_') + 1, index);
String messageKey = cmd.substring(index + 1); String messageKey = cmd.substring(index + 1);
int position = Integer.parseInt(attachmentPosition); int position = Integer.parseInt(attachmentPosition);
...@@ -1284,7 +1285,7 @@ public class MessageListController extends BasicController implements GenericEve ...@@ -1284,7 +1285,7 @@ public class MessageListController extends BasicController implements GenericEve
mainVC.contextPut("mode", "one"); mainVC.contextPut("mode", "one");
mainVC.contextPut("threadMode", Boolean.FALSE); mainVC.contextPut("threadMode", Boolean.FALSE);
if(backupViews != null && backupViews.size() > 0) { if(backupViews != null && !backupViews.isEmpty()) {
List<MessageView> oneView = new ArrayList<>(1); List<MessageView> oneView = new ArrayList<>(1);
oneView.add(backupViews.get(0)); oneView.add(backupViews.get(0));
mainVC.contextPut("messages", oneView); mainVC.contextPut("messages", oneView);
...@@ -1315,7 +1316,7 @@ public class MessageListController extends BasicController implements GenericEve ...@@ -1315,7 +1316,7 @@ public class MessageListController extends BasicController implements GenericEve
mainVC.contextPut("mode", "one"); mainVC.contextPut("mode", "one");
mainVC.contextPut("threadMode", Boolean.FALSE); mainVC.contextPut("threadMode", Boolean.FALSE);
if(backupViews != null && backupViews.size() > 0) { if(backupViews != null && !backupViews.isEmpty()) {
List<MessageView> oneView = new ArrayList<>(1); List<MessageView> oneView = new ArrayList<>(1);
for(MessageView message:backupViews) { for(MessageView message:backupViews) {
if(message.getKey().equals(messageKey)) { if(message.getKey().equals(messageKey)) {
...@@ -1323,7 +1324,7 @@ public class MessageListController extends BasicController implements GenericEve ...@@ -1323,7 +1324,7 @@ public class MessageListController extends BasicController implements GenericEve
} }
} }
mainVC.contextPut("messages", oneView); mainVC.contextPut("messages", oneView);
if(oneView.size() > 0) { if(!oneView.isEmpty()) {
messageTableCtrl.setSelectView(oneView.get(0)); messageTableCtrl.setSelectView(oneView.get(0));
} else { } else {
showWarning("error.message.deleted"); showWarning("error.message.deleted");
...@@ -1409,18 +1410,11 @@ public class MessageListController extends BasicController implements GenericEve ...@@ -1409,18 +1410,11 @@ public class MessageListController extends BasicController implements GenericEve
// starting thread // starting thread
runContext.put(SendMailStepForm.START_THREADTOP, message.getThreadtop() == null ? message : message.getThreadtop()); runContext.put(SendMailStepForm.START_THREADTOP, message.getThreadtop() == null ? message : message.getThreadtop());
// get start course // get start course
PropertyManager propertyManager = PropertyManager.getInstance(); RepositoryEntry courseEntry = getStartCourse();
Long forumResourceableId = forum.getResourceableId(); if(courseEntry != null) {
Property forumproperty = propertyManager.getPropertyByLongValue(forumResourceableId, FOCourseNode.FORUM_KEY); runContext.put(SendMailStepForm.START_COURSE, courseEntry);
if (forumproperty != null) {
Long resourcetypeId = forumproperty.getResourceTypeId();
String resourcetypeName = forumproperty.getResourceTypeName();
OLATResourceable olatResourceable = olatManager.findResourceable(resourcetypeId, resourcetypeName);
RepositoryEntry startCourse = repositoryManager.lookupRepositoryEntry(olatResourceable, false);
if (startCourse != null) {
runContext.put(SendMailStepForm.START_COURSE, startCourse);
}
} }
listenTo(exportCtrl); listenTo(exportCtrl);
getWindowControl().pushAsModalDialog(exportCtrl.getInitialComponent()); getWindowControl().pushAsModalDialog(exportCtrl.getInitialComponent());
} else { } else {
...@@ -1428,6 +1422,31 @@ public class MessageListController extends BasicController implements GenericEve ...@@ -1428,6 +1422,31 @@ public class MessageListController extends BasicController implements GenericEve
} }
} }
private RepositoryEntry getStartCourse() {
PropertyManager propertyManager = PropertyManager.getInstance();
Long forumResourceableId = forum.getResourceableId();
Property forumproperty = propertyManager.getPropertyByLongValue(forumResourceableId, FOCourseNode.FORUM_KEY);
if (forumproperty != null) {
Long resourcetypeId = forumproperty.getResourceTypeId();
String resourcetypeName = forumproperty.getResourceTypeName();
OLATResourceable olatResourceable = olatManager.findResourceable(resourcetypeId, resourcetypeName);
RepositoryEntry startCourse = repositoryManager.lookupRepositoryEntry(olatResourceable, false);
if (startCourse != null) {
return startCourse;
}
}
SubscriptionContext ctx = foCallback.getSubscriptionContext();
if(ctx != null && "CourseModule".equals(ctx.getResName())) {
OLATResourceable olatResourceable = OresHelper.createOLATResourceableInstance("CourseModule", ctx.getResId());
RepositoryEntry startCourse = repositoryManager.lookupRepositoryEntry(olatResourceable, false);
if (startCourse != null) {
return startCourse;
}
}
return null;
}
private void doFinalizeMove(UserRequest ureq, MessageView messageToMove, Long parentMessageKey) { private void doFinalizeMove(UserRequest ureq, MessageView messageToMove, Long parentMessageKey) {
if (foCallback.mayEditMessageAsModerator()) { if (foCallback.mayEditMessageAsModerator()) {
Message message = forumManager.getMessageById(messageToMove.getKey()); Message message = forumManager.getMessageById(messageToMove.getKey());
...@@ -1445,12 +1464,8 @@ public class MessageListController extends BasicController implements GenericEve ...@@ -1445,12 +1464,8 @@ public class MessageListController extends BasicController implements GenericEve
} }
private void doOpenVisitingCard(UserRequest ureq, Identity creator) { private void doOpenVisitingCard(UserRequest ureq, Identity creator) {
ControllerCreator userInfoMainControllerCreator = new ControllerCreator() { ControllerCreator userInfoMainControllerCreator = (lureq, lwControl)
@Override -> new UserInfoMainController(lureq, lwControl, creator, true, false);
public Controller createController(UserRequest lureq, WindowControl lwControl) {
return new UserInfoMainController(lureq, lwControl, creator, true, false);
}
};
//wrap the content controller into a full header layout //wrap the content controller into a full header layout
ControllerCreator layoutCtrlr = BaseFullWebappPopupLayoutFactory.createAuthMinimalPopupLayout(ureq, userInfoMainControllerCreator); ControllerCreator layoutCtrlr = BaseFullWebappPopupLayoutFactory.createAuthMinimalPopupLayout(ureq, userInfoMainControllerCreator);
PopupBrowserWindow pbw = getWindowControl().getWindowBackOffice().getWindowManager().createNewPopupBrowserWindowFor(ureq, layoutCtrlr); PopupBrowserWindow pbw = getWindowControl().getWindowBackOffice().getWindowManager().createNewPopupBrowserWindowFor(ureq, layoutCtrlr);
......
...@@ -146,9 +146,8 @@ ...@@ -146,9 +146,8 @@
#if($r.available("exile_${message.key}")) #if($r.available("exile_${message.key}"))
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> <button type="button" class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown">
<i class="o_icon o_icon-fw o_icon_actions"></i> <i class="o_icon o_icon-fw o_icon_actions"> </i><span class="caret"> </span>
<span class="caret"></span>
</button> </button>
<ul class="dropdown-menu dropdown-menu-right"> <ul class="dropdown-menu dropdown-menu-right">
#if($r.available("split_${message.key}")) #if($r.available("split_${message.key}"))
......
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