diff --git a/migrations/versions/256d9df3492_.py b/migrations/versions/256d9df3492_.py new file mode 100644 index 0000000000000000000000000000000000000000..6f42bddae3159a4267a6672f6929eba80491f5d0 --- /dev/null +++ b/migrations/versions/256d9df3492_.py @@ -0,0 +1,28 @@ +"""empty message + +Revision ID: 256d9df3492 +Revises: bdf979c44e +Create Date: 2015-11-08 11:30:13.923165 + +""" + +# revision identifiers, used by Alembic. +revision = '256d9df3492' +down_revision = 'bdf979c44e' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('events', sa.Column('current_topic_id', sa.Integer(), nullable=True)) + op.create_foreign_key(None, 'events', 'topics', ['current_topic_id'], ['id']) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_constraint(None, 'events', type_='foreignkey') + op.drop_column('events', 'current_topic_id') + ### end Alembic commands ### diff --git a/models/database.py b/models/database.py index d557b2327f3fd55e8a8ff274910c7e526cb02cae..7346687c2a3f0f7467e12b659a6bfea1dc61305a 100644 --- a/models/database.py +++ b/models/database.py @@ -41,11 +41,15 @@ class Event(db.Model): name = db.Column(db.String, unique=True) paused = db.Column(db.Boolean) paused_until = db.Column(db.DateTime) + current_topic_id = db.Column(db.Integer, db.ForeignKey("topics.id")) - def __init__(self, name, paused=False): + current_topic = relationship("Topic", foreign_keys=[current_topic_id]) + + def __init__(self, name, paused=False, current_topic_id=None): self.name = name self.paused = paused self.paused_until = datetime(1970, 1, 1) + self.current_topic_id = current_topic_id or 0 def __repr__(self): return "<Event(id={}, name={}, paused={}, paused_until={})>".format( @@ -66,7 +70,7 @@ class Topic(db.Model): event_id = db.Column(db.Integer, db.ForeignKey("events.id"), nullable=False) index = db.Column(db.Integer) - event = relationship("Event", backref=backref("topics",order_by=id)) + event = relationship("Event", backref=backref("topics",order_by=id), foreign_keys=[event_id]) def __init__(self, name, mode, event_id): self.name = name diff --git a/modules/admin.py b/modules/admin.py index a94f27864726acef30de1668893e664a4dcb60bc..b9a087502626938e1ed236ba8131d14c0b1f75de 100644 --- a/modules/admin.py +++ b/modules/admin.py @@ -143,6 +143,8 @@ def topic_show(): topic_id = request.args.get("id", None) if topic_id is not None: topic = Topic.query.filter_by(id=topic_id).first() + topic.event.current_topic_id = topic.id + db.session.commit() form = AddStatementForm() form.topic.data = topic.id statements = topic.sorted_statements() @@ -343,7 +345,7 @@ def pause(): rawtime = float(request.form["timeslider"]) delta = timedelta(seconds=rawtime) print(delta) - event.paused_until += delta + event.paused_until = datetime.now() + delta db.session.commit() topic_id = request.args.get("original", None) return redirect(url_for(".topic_show", id=topic_id)) diff --git a/modules/speech.py b/modules/speech.py index 5479a5cf1b9712f82732226aaf7cec95bb51e25f..1670d00352690c4edbd3a6ac8028b72f274744e2 100644 --- a/modules/speech.py +++ b/modules/speech.py @@ -41,7 +41,7 @@ def query_statements(mode, topic_id): print("unknown querying mode {}".format(mode)) """ -@speech.route("/index") +@speech.route("/") def index(): topic_id = request.args.get("topic", None) mode = request.args.get("mode", None) diff --git a/static/css/style.css b/static/css/style.css index ceaf6bf8302df6c9674401a07ea011bc68a231cc..9f3ca6afeeb49e6a3cddec1696903e84661e55bf 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -137,4 +137,19 @@ th.rede-medium-text { background-color: #F44335; } +.rede-paused-title { + margin: 0 auto; +} + +h4.rede-paused-title-text { + font-size: 48px; + text-align: center; +} +div.rede-paused-supporting { + font-size: 24px; +} + +.mdl-card { + min-height: 0px; +} diff --git a/templates/admin_topic_show.html b/templates/admin_topic_show.html index 64ec42effe1e499078dd43d0b3fcd866043ac9e4..bdbd5404b106b7d4f37d524660ac5aba53295d66 100644 --- a/templates/admin_topic_show.html +++ b/templates/admin_topic_show.html @@ -122,4 +122,13 @@ {% endfor %} </table> </div> + {% if topic.event.paused %} + <div class="mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone mdl-card mdl-shadow--2dp"> + <div class="mdl-card__title rede-paused-title"> + <h4 class="mdl-card__title-text rede-paused-title-text"> + Paused until {{ topic.event.paused_until.strftime("%H:%M") }} + </h4> + </div> + </div> + {% endif %} {% endblock %}