Przeglądaj źródła

can add and remove individual members to and from groups

cube 3 dni temu
rodzic
commit
40432d23b8
2 zmienionych plików z 51 dodań i 7 usunięć
  1. 30
    7
      myriad/manage.py
  2. 21
    0
      myriad/templates/manage/edit.html

+ 30
- 7
myriad/manage.py Wyświetl plik

39
 @login_required
39
 @login_required
40
 def edit(mid):
40
 def edit(mid):
41
     db = get_db()
41
     db = get_db()
42
-    member = db.execute("SELECT * FROM member WHERE id=(?)",(mid,)).fetchone()
43
-    icons = db.execute("SELECT * FROM icons WHERE member_id=(?)",(mid,)).fetchall()
44
 
42
 
45
     if request.method == "POST":
43
     if request.method == "POST":
46
         if "name" in request.form:
44
         if "name" in request.form:
88
             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))
86
             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))
89
             db.commit()
87
             db.commit()
90
 
88
 
89
+        if "gid_add" in request.form:
90
+            gid = request.form["gid_add"]
91
+            db.execute("INSERT INTO group_members (group_id,member_id) VALUES (?,?)",(gid,mid))
92
+            db.commit()
93
+
94
+        elif "gid_remove" in request.form:
95
+            gid = request.form["gid_remove"]
96
+            db.execute("DELETE FROM group_members WHERE group_id=(?) AND member_id=(?)",(gid,mid))
97
+            db.commit()
91
 
98
 
92
-        member = db.execute("SELECT * FROM member WHERE id=(?)",(mid,)).fetchone()
93
-        icons = db.execute("SELECT * FROM icons WHERE member_id=(?)",(mid,)).fetchall()
94
-        return render_template("manage/edit.html", member=member, icons=icons)
95
 
99
 
96
-    return render_template("manage/edit.html", member=member, icons=icons)
100
+    member = db.execute("SELECT * FROM member WHERE id=(?)",(mid,)).fetchone()
101
+    icons = db.execute("SELECT * FROM icons WHERE member_id=(?)",(mid,)).fetchall()
102
+
103
+    groups = db.execute("SELECT * FROM groups").fetchall()
104
+    member_groups = db.execute("SELECT * FROM group_members WHERE member_id=(?)",(mid,)).fetchall()
105
+    
106
+    unjoined_groups = []
107
+    joined_groups = []
108
+
109
+    joined_ids = []
110
+    for group in member_groups:
111
+        joined_ids.append(group[1])
112
+
113
+    for group in groups:
114
+        if group[0] in joined_ids:
115
+            joined_groups.append(group)
116
+        else:
117
+            unjoined_groups.append(group)
118
+
119
+    return render_template("manage/edit.html", member=member, icons=icons, unjoined_groups=unjoined_groups, joined_groups=joined_groups)
97
 
120
 
98
 @bp.route("/set_main_icon/<mid>/<icon_id>")
121
 @bp.route("/set_main_icon/<mid>/<icon_id>")
99
 @login_required
122
 @login_required
244
         desc = request.form['desc']
267
         desc = request.form['desc']
245
         db.execute("INSERT INTO groups (group_name, group_description) VALUES (?, ?)",(name, desc))
268
         db.execute("INSERT INTO groups (group_name, group_description) VALUES (?, ?)",(name, desc))
246
         db.commit()
269
         db.commit()
247
-        
270
+
248
 
271
 
249
     groups = db.execute("SELECT * FROM groups").fetchall()
272
     groups = db.execute("SELECT * FROM groups").fetchall()
250
     return render_template("manage/groups.html", groups=groups)
273
     return render_template("manage/groups.html", groups=groups)

+ 21
- 0
myriad/templates/manage/edit.html Wyświetl plik

18
     <input type="submit" value="Submit">
18
     <input type="submit" value="Submit">
19
   </form>
19
   </form>
20
 
20
 
21
+  <div class="heading">Manage groups</div>
22
+
23
+  <form method="post">
24
+    <select name="gid_add" id="gid_add">
25
+      {% for group in unjoined_groups %}
26
+      <option value="{{group[0]}}">{{group[1]}}</option>
27
+      {% endfor %}
28
+    </select>
29
+    <input type="submit" value="Add to group">
30
+  </form>
31
+
32
+  <form method="post">
33
+    <select name="gid_remove" id="gid_remove">
34
+      {% for group in joined_groups %}
35
+      <option value="{{group[0]}}">{{group[1]}}</option>
36
+      {% endfor %}
37
+    </select>
38
+    <input type="submit" value="Remove from group">
39
+  </form>
40
+
41
+
21
   <div class="heading">Manage Icons</div>
42
   <div class="heading">Manage Icons</div>
22
   <form method="post" enctype="multipart/form-data">
43
   <form method="post" enctype="multipart/form-data">
23
       <input type="file" name="file">
44
       <input type="file" name="file">