Skip to content
Snippets Groups Projects
Commit ad42d5ff authored by Paul-Christian Volkmer's avatar Paul-Christian Volkmer
Browse files

Add number of sessions to name and short name

If the current session is linked to a course and there are other sessions
for this course, add a number to the name and short name of the session,
indicating which session is ment since all sessions will have the same
name and short name.
parent 8d0f236a
No related merge requests found
......@@ -18,6 +18,7 @@
*/
package de.thm.arsnova.controller;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
......@@ -36,6 +37,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import de.thm.arsnova.connector.model.Course;
import de.thm.arsnova.entities.LoggedIn;
import de.thm.arsnova.entities.Session;
import de.thm.arsnova.entities.User;
......@@ -91,13 +93,26 @@ public class SessionController extends AbstractController {
@ResponseBody
@ResponseStatus(HttpStatus.CREATED)
public final Session postNewSession(@RequestBody final Session session, final HttpServletResponse response) {
if (session != null && session.isCourseSession()) {
List<Course> courses = new ArrayList<Course>();
Course course = new Course();
course.setId(session.getCourseId());
courses.add(course);
int sessionCount = sessionService.countSessions(courses);
if (sessionCount > 0) {
String appendix = " (" + String.valueOf(sessionCount + 1) + ")";
session.setName(session.getName() + appendix);
session.setShortName(session.getShortName() + appendix);
}
}
Session newSession = sessionService.saveSession(session);
if (session != null) {
return newSession;
if (newSession == null) {
response.setStatus(HttpStatus.SERVICE_UNAVAILABLE.value());
return null;
}
response.setStatus(HttpStatus.SERVICE_UNAVAILABLE.value());
return null;
return newSession;
}
@RequestMapping(value = "/", method = RequestMethod.GET)
......
......@@ -21,6 +21,7 @@ package de.thm.arsnova.services;
import java.util.List;
import de.thm.arsnova.connector.model.Course;
import de.thm.arsnova.entities.LoggedIn;
import de.thm.arsnova.entities.Session;
import de.thm.arsnova.entities.User;
......@@ -41,4 +42,6 @@ public interface ISessionService {
LoggedIn registerAsOnlineUser(User user, String sessionkey);
int countActiveUsers(String sessionkey);
int countSessions(List<Course> courses);
}
......@@ -32,6 +32,7 @@ import org.springframework.stereotype.Service;
import de.thm.arsnova.annotation.Authenticated;
import de.thm.arsnova.connector.client.ConnectorClient;
import de.thm.arsnova.connector.model.Course;
import de.thm.arsnova.dao.IDatabaseDao;
import de.thm.arsnova.entities.LoggedIn;
import de.thm.arsnova.entities.Session;
......@@ -173,4 +174,13 @@ public class SessionService implements ISessionService {
return session1.getShortName().compareToIgnoreCase(session2.getShortName());
}
}
@Override
public int countSessions(List<Course> courses) {
List<Session> sessions = databaseDao.getCourseSessions(courses);
if (sessions == null) {
return 0;
}
return sessions.size();
}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment