Skip to content
Snippets Groups Projects
Commit 5fe0d3e1 authored by srosse's avatar srosse
Browse files

OO-1944: register and join in one step

parent 760690eb
No related branches found
No related tags found
No related merge requests found
...@@ -367,8 +367,8 @@ public class GoToMeetingManagerImpl implements GoToMeetingManager { ...@@ -367,8 +367,8 @@ public class GoToMeetingManagerImpl implements GoToMeetingManager {
GoToMeeting reloadMeeting = meetingDao.loadMeetingByKey(meeting.getKey()); GoToMeeting reloadMeeting = meetingDao.loadMeetingByKey(meeting.getKey());
if(reloadMeeting != null) { if(reloadMeeting != null) {
GoToTrainingG2T trainingVo = getTraining(meeting, error); GoToTrainingG2T trainingVo = getTraining(meeting, error);
if(trainingVo != null) { if(trainingVo == null) {
//update training perhaps log.error("Training not found");
} }
} }
return reloadMeeting; return reloadMeeting;
...@@ -452,7 +452,6 @@ public class GoToMeetingManagerImpl implements GoToMeetingManager { ...@@ -452,7 +452,6 @@ public class GoToMeetingManagerImpl implements GoToMeetingManager {
int status = response.getStatusLine().getStatusCode(); int status = response.getStatusLine().getStatusCode();
if(status == 200) {//deleted if(status == 200) {//deleted
String content = EntityUtils.toString(response.getEntity()); String content = EntityUtils.toString(response.getEntity());
System.out.println(content);
List<GoToRecordingsG2T> recordings = GoToJsonUtil.parseRecordings(content); List<GoToRecordingsG2T> recordings = GoToJsonUtil.parseRecordings(content);
return recordings; return recordings;
} else { } else {
......
...@@ -145,8 +145,6 @@ public class GoToTrainingWebService { ...@@ -145,8 +145,6 @@ public class GoToTrainingWebService {
if(!error.hasError()) { if(!error.hasError()) {
break; break;
} }
} else {
System.out.println("");
} }
} }
......
...@@ -20,7 +20,10 @@ ...@@ -20,7 +20,10 @@
package org.olat.modules.gotomeeting.ui; package org.olat.modules.gotomeeting.ui;
import java.util.Date; import java.util.Date;
import java.util.List;
import org.olat.core.commons.fullWebApp.LayoutMain3ColsController;
import org.olat.core.commons.fullWebApp.popup.BaseFullWebappPopupLayoutFactory;
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;
...@@ -30,7 +33,9 @@ import org.olat.core.gui.control.Controller; ...@@ -30,7 +33,9 @@ import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.Event; 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.controller.BasicController; import org.olat.core.gui.control.controller.BasicController;
import org.olat.core.gui.control.creator.ControllerCreator;
import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController;
import org.olat.core.gui.control.generic.messages.MessageUIFactory;
import org.olat.core.gui.media.RedirectMediaResource; import org.olat.core.gui.media.RedirectMediaResource;
import org.olat.core.util.Formatter; import org.olat.core.util.Formatter;
import org.olat.modules.gotomeeting.GoToMeeting; import org.olat.modules.gotomeeting.GoToMeeting;
...@@ -38,6 +43,7 @@ import org.olat.modules.gotomeeting.GoToMeetingManager; ...@@ -38,6 +43,7 @@ import org.olat.modules.gotomeeting.GoToMeetingManager;
import org.olat.modules.gotomeeting.GoToRegistrant; import org.olat.modules.gotomeeting.GoToRegistrant;
import org.olat.modules.gotomeeting.model.GoToError; import org.olat.modules.gotomeeting.model.GoToError;
import org.olat.modules.gotomeeting.model.GoToErrors; import org.olat.modules.gotomeeting.model.GoToErrors;
import org.olat.modules.gotomeeting.model.GoToRecordingsG2T;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
/** /**
...@@ -89,6 +95,9 @@ public class GoToMeetingController extends BasicController { ...@@ -89,6 +95,9 @@ public class GoToMeetingController extends BasicController {
if(error.hasError() && error.getError() != null) { if(error.hasError() && error.getError() != null) {
mainVC.contextPut("errorMessage", translate(error.getError().i18nKey())); mainVC.contextPut("errorMessage", translate(error.getError().i18nKey()));
} }
List<GoToRecordingsG2T> recordings = meetingMgr.getRecordings(meeting, error);
openRecordingsLink.setVisible(recordings.size() > 0);
Date start = meeting.getStartDate(); Date start = meeting.getStartDate();
Date end = meeting.getEndDate(); Date end = meeting.getEndDate();
...@@ -118,7 +127,6 @@ public class GoToMeetingController extends BasicController { ...@@ -118,7 +127,6 @@ public class GoToMeetingController extends BasicController {
} else if(ended) { } else if(ended) {
startLink.setVisible(false); startLink.setVisible(false);
registerLink.setVisible(false); registerLink.setVisible(false);
} else if(registrant == null) { } else if(registrant == null) {
startLink.setVisible(false); startLink.setVisible(false);
registerLink.setVisible(true); registerLink.setVisible(true);
...@@ -134,9 +142,9 @@ public class GoToMeetingController extends BasicController { ...@@ -134,9 +142,9 @@ public class GoToMeetingController extends BasicController {
joinLink.setVisible(false); joinLink.setVisible(false);
} else if(canStart) { } else if(canStart) {
if(registrant == null) { if(registrant == null) {
registerLink.setVisible(true); registerLink.setVisible(false);
confirmLink.setVisible(false); confirmLink.setVisible(false);
joinLink.setVisible(false); joinLink.setVisible(true);
} else { } else {
registerLink.setVisible(false); registerLink.setVisible(false);
confirmLink.setVisible(false); confirmLink.setVisible(false);
...@@ -231,12 +239,45 @@ public class GoToMeetingController extends BasicController { ...@@ -231,12 +239,45 @@ public class GoToMeetingController extends BasicController {
} }
private void doJoin(UserRequest ureq) { private void doJoin(UserRequest ureq) {
boolean join = false;
GoToError error = new GoToError();
if(registrant == null) {
registrant = meetingMgr.registerTraining(meeting, getIdentity(), error);
}
if(registrant != null) { if(registrant != null) {
String joinUrl = registrant.getJoinUrl(); String joinUrl = registrant.getJoinUrl();
if(joinUrl != null) { if(joinUrl != null) {
RedirectMediaResource redirect = new RedirectMediaResource(joinUrl); RedirectMediaResource redirect = new RedirectMediaResource(joinUrl);
ureq.getDispatchResult().setResultingMediaResource(redirect); ureq.getDispatchResult().setResultingMediaResource(redirect);
join = true;
}
}
if(!join) {
final String errorMessage;
if(error.hasError()) {
if(error.getError() != null) {
errorMessage = translate(error.getError().i18nKey());
} else {
errorMessage = translate("error.code.unkown");
}
} else {
errorMessage = translate("error.code.unkown");
} }
ControllerCreator creator = BaseFullWebappPopupLayoutFactory.createAuthMinimalPopupLayout(ureq, new ControllerCreator() {
@Override
public Controller createController(UserRequest lureq, WindowControl lwControl) {
// Wrap in column layout, popup window needs a layout controller
String title = "";
String text = errorMessage;
Controller ctr = MessageUIFactory.createErrorMessage(lureq, lwControl, title, text);
LayoutMain3ColsController layoutCtr = new LayoutMain3ColsController(lureq, lwControl, ctr);
layoutCtr.addDisposableChildController(ctr);
return layoutCtr;
}
});
openInNewBrowserWindow(ureq, creator);
} }
updateButtons(); updateButtons();
} }
......
...@@ -59,9 +59,6 @@ public class GoToRecordingController extends BasicController { ...@@ -59,9 +59,6 @@ public class GoToRecordingController extends BasicController {
mainVC.contextPut("recordingUrl", url); mainVC.contextPut("recordingUrl", url);
mainVC.contextPut("width", "1024"); mainVC.contextPut("width", "1024");
mainVC.contextPut("height", "768"); mainVC.contextPut("height", "768");
System.out.println(url);
putInitialPanel(mainVC); putInitialPanel(mainVC);
} }
......
...@@ -5,9 +5,10 @@ ...@@ -5,9 +5,10 @@
<div class="o_button_group o_button_group_right"> <div class="o_button_group o_button_group_right">
$r.render("recordings") $r.render("recordings")
</div> </div>
<div><i class="o_icon o_icon_lifecycle"> </i> $start - $end</div> <div><i class="o_icon o_icon_lifecycle"> </i> $start - $end</div>
<div class="o_block_large o_info">$r.xssScan($description)</div> #if($description && !${description.isEmpty()})
<div class="o_block_large o_info">$r.xssScan($description)</div>
#end
<div class="o_button_group"> <div class="o_button_group">
#if($r.available("training.start") && $r.visible("training.start")) #if($r.available("training.start") && $r.visible("training.start"))
$r.render("training.start") $r.render("training.start")
......
...@@ -15,6 +15,7 @@ error.organizer.overbooked=Der Organizer hat schon ein Termin in diesem Zeitraum ...@@ -15,6 +15,7 @@ error.organizer.overbooked=Der Organizer hat schon ein Termin in diesem Zeitraum
error.start.after.end=Das Datum f\u00FCr das Ende der Schulung darf nicht vor dem Beginn Datum sein. error.start.after.end=Das Datum f\u00FCr das Ende der Schulung darf nicht vor dem Beginn Datum sein.
error.training.schedule.failed=Die Schulung konnte nicht geplant werden. error.training.schedule.failed=Die Schulung konnte nicht geplant werden.
error.code.TrainingInSession=Training schon gestartet error.code.TrainingInSession=Training schon gestartet
error.join=Eine unerwartete Fehler ist passiert und Sie k\u00F6nnen momentan den Training nicht beitreten.
goto.configuration=Konfiguration goto.configuration=Konfiguration
goto.module.enabled=Module "GoTo Training" goto.module.enabled=Module "GoTo Training"
join=Join join=Join
...@@ -25,7 +26,7 @@ meeting.resource=Kurs ...@@ -25,7 +26,7 @@ meeting.resource=Kurs
meeting.start=Beginn meeting.start=Beginn
meetings.admin.title=Konfiguration meetings.admin.title=Konfiguration
meetings.title=Schulungen meetings.title=Schulungen
meetings.upcoming=Zukünftige Schulungen meetings.upcoming=Zuk\u00FCnftige Schulungen
meetings.past=Alte Schulungen meetings.past=Alte Schulungen
organizer.email=E-Mail organizer.email=E-Mail
organizer.firsName=Vorname organizer.firsName=Vorname
......
...@@ -11,6 +11,7 @@ enabled= ...@@ -11,6 +11,7 @@ enabled=
error.code.NoSuchTraining=The training cannot be found. error.code.NoSuchTraining=The training cannot be found.
error.code.TrainingOver=Training is closed. error.code.TrainingOver=Training is closed.
error.code.unkown=An unexpected error happens on the GoToTraining server. error.code.unkown=An unexpected error happens on the GoToTraining server.
error.join=An unexpected error happens and you cannot join the training right now.
error.organizer.overbooked=The organizer has already a training planned in this period. error.organizer.overbooked=The organizer has already a training planned in this period.
error.start.after.end=The end date of the meeting must not be before the start date. error.start.after.end=The end date of the meeting must not be before the start date.
error.training.schedule.failed=The training cannot be planned. error.training.schedule.failed=The training cannot be planned.
......
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