Skip to content
Snippets Groups Projects
Commit 2f11cd9a authored by gnaegi's avatar gnaegi
Browse files

OO-1952 Add link to course and course title to member list mail

parent 8f069c23
No related branches found
No related tags found
No related merge requests found
...@@ -52,6 +52,7 @@ import org.olat.core.gui.control.Event; ...@@ -52,6 +52,7 @@ import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController;
import org.olat.core.gui.media.MediaResource; import org.olat.core.gui.media.MediaResource;
import org.olat.core.helpers.Settings;
import org.olat.core.id.Identity; import org.olat.core.id.Identity;
import org.olat.core.id.User; import org.olat.core.id.User;
import org.olat.core.id.UserConstants; import org.olat.core.id.UserConstants;
...@@ -375,7 +376,7 @@ public class MembersCourseNodeRunController extends FormBasicController { ...@@ -375,7 +376,7 @@ public class MembersCourseNodeRunController extends FormBasicController {
removeAsListenerAndDispose(cmc); removeAsListenerAndDispose(cmc);
removeAsListenerAndDispose(mailCtrl); removeAsListenerAndDispose(mailCtrl);
mailCtrl = new MembersMailController(ureq, getWindowControl(), courseEnv, ownerList, coachList, participantList); mailCtrl = new MembersMailController(ureq, getWindowControl(), courseEnv, ownerList, coachList, participantList, createBodyTemplate());
listenTo(mailCtrl); listenTo(mailCtrl);
String title = translate("members.email.title"); String title = translate("members.email.title");
...@@ -405,7 +406,8 @@ public class MembersCourseNodeRunController extends FormBasicController { ...@@ -405,7 +406,8 @@ public class MembersCourseNodeRunController extends FormBasicController {
ContactMessage cmsg = new ContactMessage(ureq.getIdentity()); ContactMessage cmsg = new ContactMessage(ureq.getIdentity());
cmsg.addEmailTo(contactList); cmsg.addEmailTo(contactList);
// preset body template from i18n
cmsg.setBodyText(createBodyTemplate());
emailController = new ContactFormController(ureq, getWindowControl(), true, false, false, cmsg); emailController = new ContactFormController(ureq, getWindowControl(), true, false, false, cmsg);
listenTo(emailController); listenTo(emailController);
...@@ -416,6 +418,16 @@ public class MembersCourseNodeRunController extends FormBasicController { ...@@ -416,6 +418,16 @@ public class MembersCourseNodeRunController extends FormBasicController {
} }
} }
private String createBodyTemplate() {
String courseName = courseEnv.getCourseTitle();
// Build REST URL to course element, use hack via group manager to access repo entry
StringBuilder courseLink = new StringBuilder();
RepositoryEntry entry = courseEnv.getCourseGroupManager().getCourseEntry();
courseLink.append(Settings.getServerContextPathURI())
.append("/url/RepositoryEntry/").append(entry.getKey());
return translate("email.body.template", new String[]{courseName, courseLink.toString()});
}
protected void doOpenHomePage(Member member, UserRequest ureq) { protected void doOpenHomePage(Member member, UserRequest ureq) {
String url = "[HomePage:" + member.getKey() + "]"; String url = "[HomePage:" + member.getKey() + "]";
BusinessControl bc = BusinessControlFactory.getInstance().createFromString(url); BusinessControl bc = BusinessControlFactory.getInstance().createFromString(url);
......
...@@ -110,7 +110,7 @@ public class MembersMailController extends FormBasicController { ...@@ -110,7 +110,7 @@ public class MembersMailController extends FormBasicController {
private RepositoryService repositoryService; private RepositoryService repositoryService;
public MembersMailController(UserRequest ureq, WindowControl wControl, CourseEnvironment courseEnv, public MembersMailController(UserRequest ureq, WindowControl wControl, CourseEnvironment courseEnv,
List<Member> ownerList, List<Member> coachList, List<Member> participantList) { List<Member> ownerList, List<Member> coachList, List<Member> participantList, String bodyTemplate) {
super(ureq, wControl, Util.createPackageTranslator(MailHelper.class, ureq.getLocale())); super(ureq, wControl, Util.createPackageTranslator(MailHelper.class, ureq.getLocale()));
this.courseEnv = courseEnv; this.courseEnv = courseEnv;
...@@ -119,6 +119,11 @@ public class MembersMailController extends FormBasicController { ...@@ -119,6 +119,11 @@ public class MembersMailController extends FormBasicController {
this.participantList = participantList; this.participantList = participantList;
this.contactAttachmentMaxSizeInMb = mailModule.getMaxSizeForAttachement(); this.contactAttachmentMaxSizeInMb = mailModule.getMaxSizeForAttachement();
initForm(ureq); initForm(ureq);
// preset body template if set
if (StringHelper.containsNonWhitespace(bodyTemplate)) {
bodyEl.setValue(bodyTemplate);
}
} }
@Override @Override
......
...@@ -13,6 +13,7 @@ owners=Kursbesitzer ...@@ -13,6 +13,7 @@ owners=Kursbesitzer
coaches=Kursbetreuer coaches=Kursbetreuer
participants=Kursteilnehmer participants=Kursteilnehmer
contact.external.list.example=xyz@olat.com, abc@frentix.com<br/>user@yourcompany.ch contact.external.list.example=xyz@olat.com, abc@frentix.com<br/>user@yourcompany.ch
email.body.template=<p /><p /><p>Link zum Kurs <strong>{0}</strong>:<br /><a href='{1}'>{1}</a></p>
email.from=Von email.from=Von
email.send=Schicken email.send=Schicken
email.function=Emailfunktion email.function=Emailfunktion
......
...@@ -13,6 +13,7 @@ contact.external.list.example=xyz@olat.com, abc@frentix.com<br/>user@yourcompany ...@@ -13,6 +13,7 @@ contact.external.list.example=xyz@olat.com, abc@frentix.com<br/>user@yourcompany
owners=Course owners owners=Course owners
coaches=Course coaches coaches=Course coaches
participants=Course participants participants=Course participants
email.body.template=<p /><p /><p>Link to course <strong>{0}</strong>:<br /><a href='{1}'>{1}</a></p>
email.from=From email.from=From
email.send=Send email.send=Send
email.function=E-mail function email.function=E-mail function
......
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