can add and remove individual members to and from groups

This commit is contained in:
cube
2026-03-19 01:41:11 +00:00
parent 13b46dd3b3
commit 40432d23b8
2 changed files with 51 additions and 7 deletions

View File

@@ -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/<mid>/<icon_id>")
@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)

View File

@@ -18,6 +18,27 @@
<input type="submit" value="Submit">
</form>
<div class="heading">Manage groups</div>
<form method="post">
<select name="gid_add" id="gid_add">
{% for group in unjoined_groups %}
<option value="{{group[0]}}">{{group[1]}}</option>
{% endfor %}
</select>
<input type="submit" value="Add to group">
</form>
<form method="post">
<select name="gid_remove" id="gid_remove">
{% for group in joined_groups %}
<option value="{{group[0]}}">{{group[1]}}</option>
{% endfor %}
</select>
<input type="submit" value="Remove from group">
</form>
<div class="heading">Manage Icons</div>
<form method="post" enctype="multipart/form-data">
<input type="file" name="file">