diff --git a/nginx/public/index.html b/nginx/public/index.html
index 5443216..833cb7b 100644
--- a/nginx/public/index.html
+++ b/nginx/public/index.html
@@ -17,7 +17,7 @@
Welcome!
-
+
diff --git a/nginx/public/officeHours.js b/nginx/public/officeHours.js
index 3514c14..654b12c 100644
--- a/nginx/public/officeHours.js
+++ b/nginx/public/officeHours.js
@@ -26,3 +26,7 @@ function enterQueue() {
function readyToHelp() {
socket.emit("ready_for_student");
}
+
+function helpTwo() {
+ socket.emit("help_two_students");
+}
diff --git a/src/main/scala/model/OfficeHoursServer.scala b/src/main/scala/model/OfficeHoursServer.scala
index 09ef61b..180b9f2 100644
--- a/src/main/scala/model/OfficeHoursServer.scala
+++ b/src/main/scala/model/OfficeHoursServer.scala
@@ -27,6 +27,7 @@ class OfficeHoursServer() {
server.addDisconnectListener(new DisconnectionListener(this))
server.addEventListener("enter_queue", classOf[String], new EnterQueueListener(this))
server.addEventListener("ready_for_student", classOf[Nothing], new ReadyForStudentListener(this))
+ server.addEventListener("help_two_students", classOf[Nothing], new TwoStudentListener(this))
server.start()
@@ -83,4 +84,23 @@ class ReadyForStudentListener(server: OfficeHoursServer) extends DataListener[No
}
}
+class TwoStudentListener(server: OfficeHoursServer) extends DataListener[Nothing] {
+ override def onData(socket: SocketIOClient, dirtyMessage: Nothing, ackRequest: AckRequest): Unit = {
+ val queue = server.database.getQueue.sortBy(_.timestamp)
+ if(queue.nonEmpty){
+ val onestudentToHelp = queue.head
+ val twostudentToHelp = queue(1)
+ server.database.removeStudentFromQueue(onestudentToHelp.username)
+ server.database.removeStudentFromQueue(twostudentToHelp.username)
+ socket.sendEvent("message", "You are now helping " + onestudentToHelp.username + " and " + twostudentToHelp.username)
+ if(server.usernameToSocket.contains(onestudentToHelp.username)){
+ server.usernameToSocket(onestudentToHelp.username).sendEvent("message", "A TA is ready to help you")
+ }
+ if(server.usernameToSocket.contains(twostudentToHelp.username)){
+ server.usernameToSocket(twostudentToHelp.username).sendEvent("message", "A TA is ready to help you")
+ }
+ server.server.getBroadcastOperations.sendEvent("queue", server.queueJSON())
+ }
+ }
+}