From 775d314409b32b533329618036b1f09fd9fc8c9e Mon Sep 17 00:00:00 2001
From: hanfi <hanfi@spahan.ch>
Date: Thu, 25 May 2023 10:35:10 +0200
Subject: [PATCH] make zammad/mail toggleable for development

---
 transporte/config.cfg.example |  4 +++-
 transporte/models.py          | 19 +++++++++++--------
 transporte/views.py           | 18 ++++++++++--------
 3 files changed, 24 insertions(+), 17 deletions(-)

diff --git a/transporte/config.cfg.example b/transporte/config.cfg.example
index 97025ee..fdd71cf 100644
--- a/transporte/config.cfg.example
+++ b/transporte/config.cfg.example
@@ -15,6 +15,7 @@ SPECIAL_HELPDESK_ACCOUNTS = [{
 }]
 
 # mail server config
+MAIL_ENABLE = True
 MAIL_SERVER = 'SMTP_HOST'
 MAIL_PORT = 587
 MAIL_USE_TLS = True
@@ -23,7 +24,8 @@ MAIL_USERNAME = 'SMTP_USER'
 MAIL_PASSWORD = 'SMTP_PASS'
 MAIL_DEFAULT_SENDER = 'no-reply@YOURDOMAIN.de'
 
-
+# zammad integration config
+ZAMMAD_ENABLE = True
 ZAMMAD_HOST = 'zammad host'
 ZAMMAD_USER = 'user'
 ZAMMAD_PASS = 'pass'
diff --git a/transporte/models.py b/transporte/models.py
index 4bf5738..ee53c28 100644
--- a/transporte/models.py
+++ b/transporte/models.py
@@ -36,16 +36,19 @@ class User(UserMixin, db.Model):
             return
 
         # send login email
-        msg = Message("Your LOC transport tool credentials!", recipients=[self.login])
-        msg.body = (
-            "Hi, na! \n\n"
-            "Thank you for helping us keeping an overview of your transports :) \n"
-            "Here is your login link: {}".format(
-                url_for("login_with_token", token=token, _external=True)
+        if app.config["MAIL_ENABLE"]:
+            msg = Message(
+                "Your LOC transport tool credentials!", recipients=[self.login]
+            )
+            msg.body = (
+                "Hi, na! \n\n"
+                "Thank you for helping us keeping an overview of your transports :) \n"
+                "Here is your login link: {}".format(
+                    url_for("login_with_token", token=token, _external=True)
+                )
             )
-        )
 
-        mail.send(msg)
+            mail.send(msg)
 
     @staticmethod
     def verify_login_token(token):
diff --git a/transporte/views.py b/transporte/views.py
index b5b5b0e..c181304 100644
--- a/transporte/views.py
+++ b/transporte/views.py
@@ -190,12 +190,13 @@ def edit_transport(id=None):
             #
             # if ticket is new, update object with zammad ticket id
             #
-            if transport.ticket_id is None:
-                transport.ticket_id = update_ticket(transport)
-                db.session.add(transport)
-                db.session.commit()
-            else:
-                update_ticket(transport)
+            if app.config["ZAMMAD_ENABLE"]:
+                if transport.ticket_id is None:
+                    transport.ticket_id = update_ticket(transport)
+                    db.session.add(transport)
+                    db.session.commit()
+                else:
+                    update_ticket(transport)
 
             for file in request.files.getlist("file_upload"):
                 if file.filename:
@@ -322,8 +323,9 @@ def mark_transport(mark, id=None):
         #
         # close ticket
         #
-        if transport.ticket_id:
-            close_ticket(transport, mark)
+        if app.config["ZAMMAD_ENABLE"]:
+            if transport.ticket_id:
+                close_ticket(transport, mark)
 
         db.session.add(transport)
         db.session.commit()
-- 
GitLab