From 41c4ebd4d01f26c530acf9648fac2ef65a59598b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannik=20R=C3=B6del?= Date: Sun, 12 Jun 2022 17:58:10 +0200 Subject: [PATCH] Use different Zammad groups per form --- cgi-bin/form.py | 12 ++++++++++-- flake.nix | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/cgi-bin/form.py b/cgi-bin/form.py index ddb8694..c7faa9a 100755 --- a/cgi-bin/form.py +++ b/cgi-bin/form.py @@ -137,6 +137,8 @@ ticket_details = collections.OrderedDict() ticket_details["Kontaktperson"] = contact_name ticket_details["Email"] = contact_email +form_group = "csw-Allgemein" + match request_uri: case "/kontakt": form_name = "Allgemein" @@ -152,6 +154,7 @@ match request_uri: case "/computer-beantragen/organisation": form_name = "Computerantrag (Organisation)" + form_group = "csw-Anfragen" ticket_details["Organisation"] = get_form_value("organization") ticket_details["Adresse"] = get_form_value("addressline") ticket_details["PLZ"] = get_form_value("postalcode") @@ -162,6 +165,7 @@ match request_uri: case "/computer-beantragen/privat": form_name = "Computerantrag (privat)" + form_group = "csw-Anfragen" ticket_details["Adresse"] = get_form_value("addressline") ticket_details["PLZ"] = get_form_value("postalcode") ticket_details["Stadt"] = get_form_value("city") @@ -172,11 +176,13 @@ match request_uri: case "/hardware-spenden/organisation": form_name = "Hardwarespende (Organisation)" + form_group = "csw-Hardwarespenden" ticket_details["Organisation"] = get_form_value("organization") attachment = get_form_value("inventory", cast=bytes) case "/hardware-spenden/privat/laptop": form_name = "Laptopspende (privat)" + form_group = "csw-Hardwarespenden" ticket_details["Gerätedetails"] = get_form_value("device") case _: @@ -186,10 +192,12 @@ match request_uri: ticket_details["Kontaktformular"] = form_name +# Allow the form group to be overriden using the environment variable (for +# testing). +form_group = os.environ.get("ZAMMAD_GROUP", "") or form_group ZAMMAD_URL = os.environ.get("ZAMMAD_URL", "").rstrip("/") ZAMMAD_TOKEN = os.environ.get("ZAMMAD_TOKEN", "") -ZAMMAD_GROUP = os.environ.get("ZAMMAD_GROUP", "") session = requests.Session() session.headers.update(Authorization=f"Token token={ZAMMAD_TOKEN}") @@ -199,7 +207,7 @@ try: f"{ZAMMAD_URL}/api/v1/tickets", json=dict( title=f"Kontaktformular {contact_name} – {form_name}", - group=ZAMMAD_GROUP, + group=form_group, customer_id=f"guess:{contact_email}", article=dict( type="web", diff --git a/flake.nix b/flake.nix index eaa58f1..8671177 100644 --- a/flake.nix +++ b/flake.nix @@ -59,7 +59,7 @@ # We need to provide these default variables because otherwise # lighttpd doesn't even parse its configuration file: "ZAMMAD_URL=https://ticket.z31.it" - "ZAMMAD_GROUP=testgruppe" + "ZAMMAD_GROUP=" ]; ExposedPorts = { "80/tcp" = {};