From 17455fe1c61fbf23ba6e3bcfd6605a99409006b9 Mon Sep 17 00:00:00 2001 From: cube Date: Thu, 19 Mar 2026 02:00:46 +0000 Subject: [PATCH] show groups and its members on groups page in sidebar --- myriad/home.py | 19 ++++++++++++++++++- myriad/manage.py | 32 ++++---------------------------- myriad/templates/base.html | 1 + myriad/templates/groups.html | 21 +++++++++++++++++++++ 4 files changed, 44 insertions(+), 29 deletions(-) create mode 100644 myriad/templates/groups.html diff --git a/myriad/home.py b/myriad/home.py index aa07f9b..163fcfb 100644 --- a/myriad/home.py +++ b/myriad/home.py @@ -51,4 +51,21 @@ def page(mid): icon = db.execute("SELECT icon_location FROM icons WHERE id=(?)",(member[6],)).fetchone() all_icons = db.execute("SELECT icon_location FROM icons WHERE member_id=(?)",(mid,)).fetchall() - return render_template('page.html', member=member, blog=blog, icon=icon, all_icons=all_icons) \ No newline at end of file + return render_template('page.html', member=member, blog=blog, icon=icon, all_icons=all_icons) + +@bp.route("/groups") +def groups(): + db = get_db() + groups = db.execute("SELECT * FROM groups").fetchall() + group_members_db = db.execute("SELECT * FROM group_members").fetchall() + group_members = {} + for entry in group_members_db: + gid = entry[1] + mid = entry[2] + member = db.execute("SELECT * FROM member WHERE id=(?)",(mid,)).fetchone() + if gid in group_members: + group_members[gid].append(member) + else: + group_members[gid]=[member] + + return render_template("groups.html", groups=groups, group_members=group_members) \ No newline at end of file diff --git a/myriad/manage.py b/myriad/manage.py index 1d73767..16c2b12 100644 --- a/myriad/manage.py +++ b/myriad/manage.py @@ -17,21 +17,10 @@ def new(): bio = request.form['bio'] user_id = g.user[0] db = get_db() - error = None - - if not name: - error = 'Name is required.' - - if error is None: - db.execute( - "INSERT INTO member (user_id, member_name, bio) VALUES (?, ?, ?)", - (user_id, name, bio), - - ) - db.commit() - return redirect(url_for('home.full_list')) - - return render_template('manage/new.html', error=error) + + db.execute("INSERT INTO member (user_id, member_name, bio) VALUES (?, ?, ?)",(user_id, name, bio)) + db.commit() + return redirect(url_for('home.full_list')) return render_template('manage/new.html') @@ -58,15 +47,6 @@ def edit(mid): db.execute("INSERT INTO icons (member_id, icon_location) VALUES (?, ?)", (mid, filename),) db.commit() - # this specific chunk here is checking whether icons in the myriad/static/icons folder have a link in the database - # in case the database was rebuilt, or something else happened, it is a waste of storage keeping an unlinked image - - - # and now for the same in reverse - clean the database of references to images that don't exist - - - # the above cleanup operations should be a button in the manage sidebar but for now they are here. - if "c9" in request.form: c9 = request.form["c9"] c10 = request.form["c10"] @@ -76,10 +56,6 @@ def edit(mid): c14 = request.form["c14"] c15 = request.form["c15"] c16 = request.form["c16"] - #c17 = request.form["c17"] - #c18 = request.form["c18"] - #c19 = request.form["c19"] - #c20 = request.form["c20"] c21 = request.form["c21"] c22 = request.form["c22"] diff --git a/myriad/templates/base.html b/myriad/templates/base.html index 0181dd5..1725159 100644 --- a/myriad/templates/base.html +++ b/myriad/templates/base.html @@ -10,6 +10,7 @@
Myriad
+ {% if g.user %}
Manage
diff --git a/myriad/templates/groups.html b/myriad/templates/groups.html new file mode 100644 index 0000000..d925ca0 --- /dev/null +++ b/myriad/templates/groups.html @@ -0,0 +1,21 @@ +{% extends 'base.html' %} + +{% block header %} +
{% block title %}Groups{% endblock %}
+{% endblock %} + +{% block content %} + + {% for group in groups %} +
{{group[1]}}
+
+ {{group[2]}}

+ {% if group[0] in group_members %} + {% for member in group_members[group[0]] %} + ✰ {{ member[3] }}
+ {% endfor %} + {% endif %} +
+ {% endfor %} + +{% endblock %} \ No newline at end of file