diff --git a/models/database.py b/models/database.py index bc36fc2759f789bb3dce7a5195876f62c716013b..d0cb806a40d23df28096343591eacfe323d9aca5 100644 --- a/models/database.py +++ b/models/database.py @@ -1,6 +1,7 @@ from flask.ext.login import UserMixin from datetime import datetime +import random from shared import db @@ -100,6 +101,8 @@ class Topic(db.Model): return sorted(statements, key=lambda st:-2 if st.is_current else -1 if st.is_meta else st.id) elif self.mode == "balanced": return sorted(statements, key=lambda st:-2 if st.is_current else -1 if st.is_meta else st.speaker.count(self)) + elif self.mode == "random": + return sorted(statements, key=lambda st:random.random()) else: return statements diff --git a/models/forms.py b/models/forms.py index 20489601e348e28585a7879f09cef1c0309469f0..f9e0be3802efa23b6423d4d9e1ba194906886316 100644 --- a/models/forms.py +++ b/models/forms.py @@ -37,5 +37,5 @@ class NewEventForm(Form): class NewTopicForm(Form): name = StringField("Name", validators=[InputRequired("Entering the name is required.")]) - mode = StringField("Mode", validators=[InputRequired("Entering the mode is required."), AnyOf(values=["balanced", "fifo"], message="Must be 'balanced' or 'fifo' atm.")]) + mode = StringField("Mode", validators=[InputRequired("Entering the mode is required."), AnyOf(values=["balanced", "fifo", "random"], message="Must be 'balanced', 'fifo' or 'random' atm.")]) event_id = HiddenField("Event_id")