Add workshop door opening support
All checks were successful
ci/woodpecker/manual/woodpecker Pipeline was successful

Also changes group access checking
This commit is contained in:
2023-08-11 18:16:05 +03:00
parent d37cb302bb
commit cce18b20a7
3 changed files with 28 additions and 8 deletions

View File

@@ -5,7 +5,7 @@ from datetime import datetime, timedelta
from functools import wraps
from pymongo import MongoClient
from flask import Blueprint, abort, g, make_response, redirect, render_template, request, jsonify
from common import CustomForm, build_query, flatten, format_name, spam, users
from common import CustomForm, build_query, flatten, format_name, spam, users, User
page_api = Blueprint("api", __name__)
db = MongoClient(const.MONGO_URI).get_default_database()
@@ -69,7 +69,13 @@ def view_slack_doorboy():
return "Invalid channel was supplied"
command = request.form.get("command")
try:
door = {"/open-new-door": "backdoor", "/open-back-door": "backdoor", "/open-front-door": "frontdoor", "/open-ground-door": "grounddoor"}[command]
door = {
"/open-new-door": "backdoor",
"/open-back-door": "backdoor",
"/open-front-door": "frontdoor",
"/open-ground-door": "grounddoor",
"/open-workshop-door": "workshopdoor"
}[command]
except KeyError:
return "Invalid command was supplied"
@@ -79,7 +85,11 @@ def view_slack_doorboy():
if user.slack_id == request.form.get("user_id"):
member = user
approved = "k-space:floor" in member.groups
if door == "workshopdoor":
access_group = "k-space:workshop"
else:
access_group = "k-space:floor"
approved = access_group in member.groups
db.eventlog.insert_one({
"method": "slack",
"approved": approved,