profiler_get. Internal helper function. This docstring was added automatically to improve maintainability. Args: owner: Parameter. eid: Parameter. Returns: Varies.
(owner: str, eid: int)
| 15369 | Args: |
| 15370 | gid: Parameter. |
| 15371 | |
| 15372 | Returns: |
| 15373 | Varies. |
| 15374 | """ |
| 15375 | me = current_user() |
| 15376 | role = group_role(gid, me) |
| 15377 | if role not in ("owner", "admin"): |
| 15378 | abort(403) |
| 15379 | username = (request.form.get("username") or "").strip() |
| 15380 | if not username: |
| 15381 | return redirect(url_for("group_chat", gid=gid)) |
| 15382 | conn = db_connect() |
| 15383 | exists = conn.execute("SELECT 1 FROM users WHERE username=?", (username,)).fetchone() |
| 15384 | if not exists: |
| 15385 | conn.close() |
| 15386 | flash("User does not exist.") |
| 15387 | return redirect(url_for("group_chat", gid=gid)) |
| 15388 | conn.execute("INSERT OR IGNORE INTO group_members(group_id, username, role, added_at) VALUES(?,?,?,?)", |
| 15389 | (gid, username, "member", now_z())) |
| 15390 | conn.commit() |
| 15391 | conn.close() |
| 15392 | flash("Member added.") |
| 15393 | return redirect(url_for("group_chat", gid=gid)) |
| 15394 | |
| 15395 | @app.route("/groups/<int:gid>/members/remove", methods=["POST"]) |
| 15396 | @login_required |
| 15397 | def group_remove_member(gid: int): |
| 15398 | """group_remove_member. |
| 15399 | |
| 15400 | Chat/group feature helper or route handler. |
| 15401 | |
| 15402 | This docstring was expanded to make future maintenance easier. |
| 15403 | |
| 15404 | Args: |
| 15405 | gid: Parameter. |
| 15406 | |
| 15407 | Returns: |
| 15408 | Varies. |
| 15409 | """ |
| 15410 | me = current_user() |
| 15411 | role = group_role(gid, me) |
| 15412 | if role not in ("owner", "admin"): |
| 15413 | abort(403) |
| 15414 | username = (request.form.get("username") or "").strip() |
| 15415 | if not username or username == me: |
| 15416 | return redirect(url_for("group_chat", gid=gid)) |
| 15417 | # admins cannot remove owner |
| 15418 | if group_role(gid, username) == "owner": |
| 15419 | flash("Cannot remove owner.") |
| 15420 | return redirect(url_for("group_chat", gid=gid)) |
| 15421 | conn = db_connect() |
| 15422 | conn.execute("DELETE FROM group_members WHERE group_id=? AND username=?", (gid, username)) |
| 15423 | conn.commit() |
| 15424 | conn.close() |
| 15425 | flash("Member removed.") |
| 15426 | return redirect(url_for("group_chat", gid=gid)) |
| 15427 | |
| 15428 | @app.route("/groups/<int:gid>/admins/promote", methods=["POST"]) |
no test coverage detected