From: Chris Fulljames Date: Sat, 19 Apr 2025 17:22:14 +0000 (-0400) Subject: Jam event tweaks X-Git-Url: https://littlesong.place/gitweb/?a=commitdiff_plain;h=5cc31703f5fdb1ea3131c4ec7536afcd6adb192f;p=littlesongplace.git Jam event tweaks --- diff --git a/src/littlesongplace/__init__.py b/src/littlesongplace/__init__.py index 9e4e366..5754392 100644 --- a/src/littlesongplace/__init__.py +++ b/src/littlesongplace/__init__.py @@ -63,8 +63,25 @@ def index(): titles, weights = zip(*titles) title = random.choices(titles, weights)[0] + rows = db.query( + """ + SELECT * FROM jams + INNER JOIN users ON jams.ownerid = users.userid + """) + all_jams = [jams.Jam.from_row(r) for r in rows] + all_events = [] + for j in all_jams: + all_events.extend(j.events) + ongoing_events, upcoming_events, _, _ = jams._sort_events(all_events) + page_songs = songs.get_latest(50) - return render_template("index.html", users=all_users, songs=page_songs, page_title=title) + return render_template( + "index.html", + users=all_users, + songs=page_songs, + page_title=title, + ongoing_events=ongoing_events, + upcoming_events=upcoming_events) @app.get("/site-news") def site_news(): diff --git a/src/littlesongplace/activity.py b/src/littlesongplace/activity.py index 4c84788..eab6d3a 100644 --- a/src/littlesongplace/activity.py +++ b/src/littlesongplace/activity.py @@ -70,9 +70,12 @@ def activity(): INNER JOIN users ON jams.ownerid = users.userid WHERE jam_events.threadid = ? """, [comment["threadid"]], one=True) + # TODO: This is duplicated in the JamEvent class + startdate = datetime.fromisoformat(jam_event["startdate"]) if jam_event["startdate"] else None + hidden = ((startdate is None) or startdate > datetime.now(timezone.utc)) comment["eventid"] = jam_event["eventid"] comment["jamid"] = jam_event["jamid"] - comment["title"] = jam_event["title"] + comment["title"] = "[Upcoming Event]" if hidden else jam_event["title"] comment["content_userid"] = jam_event["userid"] comment["content_username"] = jam_event["username"] diff --git a/src/littlesongplace/jams.py b/src/littlesongplace/jams.py index 391a9fd..e4af380 100644 --- a/src/littlesongplace/jams.py +++ b/src/littlesongplace/jams.py @@ -4,7 +4,7 @@ from datetime import datetime, timezone from flask import abort, Blueprint, g, redirect, render_template, request, url_for -from . import auth, comments, db, songs +from . import auth, comments, db, jams, songs from .sanitize import sanitize_user_text bp = Blueprint("jams", __name__, url_prefix="/jams") diff --git a/src/littlesongplace/templates/index.html b/src/littlesongplace/templates/index.html index b30de19..4339084 100644 --- a/src/littlesongplace/templates/index.html +++ b/src/littlesongplace/templates/index.html @@ -9,6 +9,13 @@ 🎶 Welcome to a little song place. Make music, and share it with friends! 🎵

+{% if ongoing_events or upcoming_events %} +

Jams

+{% from "jam-event-list.html" import jam_event_list %} +{{ jam_event_list("Ongoing Events", ongoing_events, "Ends", "end") }} +{{ jam_event_list("Upcoming Events", upcoming_events, "Starts", "start") }} +{% endif %} +

Humans

Check out the music and profiles of the fine folks below! diff --git a/src/littlesongplace/templates/jam-event-list.html b/src/littlesongplace/templates/jam-event-list.html index 148c5e5..cf7716f 100644 --- a/src/littlesongplace/templates/jam-event-list.html +++ b/src/littlesongplace/templates/jam-event-list.html @@ -5,7 +5,9 @@ {% for event in events %}

  • {% if event.hidden -%} - [Upcoming Event] + + [Upcoming Event] + {%- else -%} {{ event.title }} diff --git a/src/littlesongplace/templates/jam-event.html b/src/littlesongplace/templates/jam-event.html index 76d5f8c..b9988f9 100644 --- a/src/littlesongplace/templates/jam-event.html +++ b/src/littlesongplace/templates/jam-event.html @@ -44,7 +44,7 @@
    - {{ jam.description }} + {{ (jam.description.replace("\n", "
    "))|safe }}
    {% if not event.hidden -%} diff --git a/src/littlesongplace/templates/jam.html b/src/littlesongplace/templates/jam.html index 6c60224..1eca709 100644 --- a/src/littlesongplace/templates/jam.html +++ b/src/littlesongplace/templates/jam.html @@ -22,7 +22,7 @@

    Description

    - {{ jam.description|safe }} + {{ (jam.description.replace("\n", "
    "))|safe }}

    Events

    diff --git a/test/test_activity.py b/test/test_activity.py index 6335843..0f89d38 100644 --- a/test/test_activity.py +++ b/test/test_activity.py @@ -27,7 +27,7 @@ def test_activity_for_comment_on_jam_event(client, user, event): client.post("/login", data={"username": "user", "password": "password"}) response = client.get("/activity") - assert b"New Event" in response.data, response.data.decode() + assert b"[Upcoming Event]" in response.data, response.data.decode() assert b"hey cool event" in response.data, response.data.decode() def test_activity_for_reply_to_comment(client):