From 40432d23b8061f45515fe79510e4abc74969790d Mon Sep 17 00:00:00 2001 From: cube Date: Thu, 19 Mar 2026 01:41:11 +0000 Subject: [PATCH] can add and remove individual members to and from groups --- myriad/manage.py | 37 +++++++++++++++++++++++++------ myriad/templates/manage/edit.html | 21 ++++++++++++++++++ 2 files changed, 51 insertions(+), 7 deletions(-) diff --git a/myriad/manage.py b/myriad/manage.py index 6bb158f..1d73767 100644 --- a/myriad/manage.py +++ b/myriad/manage.py @@ -39,8 +39,6 @@ def new(): @login_required def edit(mid): db = get_db() - member = db.execute("SELECT * FROM member WHERE id=(?)",(mid,)).fetchone() - icons = db.execute("SELECT * FROM icons WHERE member_id=(?)",(mid,)).fetchall() if request.method == "POST": if "name" in request.form: @@ -88,12 +86,37 @@ def edit(mid): db.execute("UPDATE member SET card_border=(?), card_bg=(?), heading_bg=(?), heading_border=(?), heading_name=(?), heading_subtitle=(?), card_text=(?), icon_border=(?), a1=(?), a2=(?) WHERE id=(?)",(c9, c10, c11, c12, c13, c14, c15, c16, c21, c22, mid)) db.commit() + if "gid_add" in request.form: + gid = request.form["gid_add"] + db.execute("INSERT INTO group_members (group_id,member_id) VALUES (?,?)",(gid,mid)) + db.commit() - member = db.execute("SELECT * FROM member WHERE id=(?)",(mid,)).fetchone() - icons = db.execute("SELECT * FROM icons WHERE member_id=(?)",(mid,)).fetchall() - return render_template("manage/edit.html", member=member, icons=icons) + elif "gid_remove" in request.form: + gid = request.form["gid_remove"] + db.execute("DELETE FROM group_members WHERE group_id=(?) AND member_id=(?)",(gid,mid)) + db.commit() - return render_template("manage/edit.html", member=member, icons=icons) + + member = db.execute("SELECT * FROM member WHERE id=(?)",(mid,)).fetchone() + icons = db.execute("SELECT * FROM icons WHERE member_id=(?)",(mid,)).fetchall() + + groups = db.execute("SELECT * FROM groups").fetchall() + member_groups = db.execute("SELECT * FROM group_members WHERE member_id=(?)",(mid,)).fetchall() + + unjoined_groups = [] + joined_groups = [] + + joined_ids = [] + for group in member_groups: + joined_ids.append(group[1]) + + for group in groups: + if group[0] in joined_ids: + joined_groups.append(group) + else: + unjoined_groups.append(group) + + return render_template("manage/edit.html", member=member, icons=icons, unjoined_groups=unjoined_groups, joined_groups=joined_groups) @bp.route("/set_main_icon//") @login_required @@ -244,7 +267,7 @@ def groups(): desc = request.form['desc'] db.execute("INSERT INTO groups (group_name, group_description) VALUES (?, ?)",(name, desc)) db.commit() - + groups = db.execute("SELECT * FROM groups").fetchall() return render_template("manage/groups.html", groups=groups) \ No newline at end of file diff --git a/myriad/templates/manage/edit.html b/myriad/templates/manage/edit.html index bcb928c..0e1206a 100644 --- a/myriad/templates/manage/edit.html +++ b/myriad/templates/manage/edit.html @@ -18,6 +18,27 @@ +
Manage groups
+ +
+ + +
+ +
+ + +
+ +
Manage Icons