Live Confusion Alerts
+Live Confusion Alerts
Waiting for students to click “I’m confused…”
diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..c8cfe39 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.10 diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/app/models.py b/app/models.py index 698f4dc..b00d937 100644 --- a/app/models.py +++ b/app/models.py @@ -45,7 +45,7 @@ class Password(db.Model): value : Mapped[str] = mapped_column(String(60)) expires_at: Mapped[Optional[datetime]] = mapped_column(UTCDateTime()) # Optional expiration - decks : Mapped[List[Deck]] = relationship("Deck", secondary=deck_password, back_populates='passwords', cascade="all") + decks : Mapped[List[Deck]] = relationship("Deck", secondary=deck_password, back_populates='passwords') def __init__(self, value: str, expires_at: datetime|None) -> None: self.value = value @@ -67,8 +67,8 @@ class Deck(db.Model): deck : Mapped[str] = mapped_column(String(60), unique=True, nullable=False) description : Mapped[str] = mapped_column(String(60)) - passwords : Mapped[List[Password]] = relationship("Password", secondary=deck_password, back_populates='decks', cascade="all") - tokens : Mapped[List[Token]] = relationship("Token", secondary=deck_token, back_populates='decks', cascade="all") + passwords : Mapped[List[Password]] = relationship("Password", secondary=deck_password, back_populates='decks') + tokens : Mapped[List[Token]] = relationship("Token", secondary=deck_token, back_populates='decks') def __init__(self, name: str, deck: str, description: str = "") -> None: self.name = name @@ -82,7 +82,7 @@ class Token(db.Model): __tablename__ = "token" id : Mapped[int] = mapped_column(primary_key=True) name: Mapped[str] = mapped_column(String(60), unique=True, nullable=False) - decks : Mapped[List[Deck]]= relationship("Deck", secondary=deck_token, back_populates='tokens', cascade="all") + decks : Mapped[List[Deck]]= relationship("Deck", secondary=deck_token, back_populates='tokens') def __init__(self, name: str) -> None: self.name = name diff --git a/app/routes.py b/app/routes.py index 3143c5b..1ce7dff 100644 --- a/app/routes.py +++ b/app/routes.py @@ -215,7 +215,8 @@ def serve_deck(deck, path='index.html'): def admin(): deck_form = DeckForm() password_form = PasswordForm() - password_form.value.data = generate_password() + if request.method == 'GET': + password_form.value.data = generate_password() deck_form.deck.choices = get_available_decks(current_app) decks = db.session.scalars(db.select(Deck).order_by(Deck.name)).all() passwords = db.session.scalars(db.select(Password)).all() diff --git a/app/templates/admin.html b/app/templates/admin.html index d42725a..7af47e1 100644 --- a/app/templates/admin.html +++ b/app/templates/admin.html @@ -33,12 +33,29 @@
- -Waiting for students to click “I’m confused…”