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):