[32788f42] feat: implement database persistence, modernized UI with Tailwind, and Calendly-integrated QR card generator for Fotograf.de scraper
This commit is contained in:
@@ -3,41 +3,50 @@ import json
|
||||
import os
|
||||
from datetime import datetime
|
||||
|
||||
import logging
|
||||
|
||||
# Default-Webhook (Platzhalter) - sollte in .env stehen
|
||||
DEFAULT_WEBHOOK_URL = os.getenv("TEAMS_WEBHOOK_URL", "")
|
||||
|
||||
def send_approval_card(job_uuid, customer_name, time_string, webhook_url=DEFAULT_WEBHOOK_URL, api_base_url="http://localhost:8004"):
|
||||
def send_approval_card(job_uuid, customer_name, time_string, webhook_url=DEFAULT_WEBHOOK_URL, api_base_url="http://localhost:8004", context=None):
|
||||
"""
|
||||
Sendet eine Adaptive Card an Teams mit Approve/Deny Buttons.
|
||||
"""
|
||||
|
||||
# Die URL unserer API (muss von außen erreichbar sein, z.B. via ngrok oder Server-IP)
|
||||
body_elements = [
|
||||
{
|
||||
"type": "TextBlock",
|
||||
"text": f"🤖 Automatisierte E-Mail an {customer_name} (via Trading Twins) wird um {time_string} Uhr ausgesendet.",
|
||||
"weight": "Bolder",
|
||||
"size": "Medium"
|
||||
}
|
||||
]
|
||||
|
||||
if context:
|
||||
body_elements.append({
|
||||
"type": "FactSet",
|
||||
"facts": [
|
||||
{"title": "Kontext/Reply:", "value": context}
|
||||
]
|
||||
})
|
||||
|
||||
body_elements.append({
|
||||
"type": "TextBlock",
|
||||
"text": f"Wenn Du bis {time_string} Uhr NICHT reagierst, wird die generierte E-Mail automatisch ausgesendet.",
|
||||
"isSubtle": True,
|
||||
"wrap": True
|
||||
})
|
||||
|
||||
|
||||
card_payload = {
|
||||
"type": "message",
|
||||
"attachments": [
|
||||
{
|
||||
"contentType": "application/vnd.microsoft.card.adaptive",
|
||||
"contentUrl": None,
|
||||
"content": {
|
||||
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
|
||||
"type": "AdaptiveCard",
|
||||
"version": "1.4",
|
||||
"body": [
|
||||
{
|
||||
"type": "TextBlock",
|
||||
"text": f"🤖 Automatisierte E-Mail an {customer_name} (via Trading Twins) wird um {time_string} Uhr ausgesendet.",
|
||||
"weight": "Bolder",
|
||||
"size": "Medium"
|
||||
},
|
||||
{
|
||||
"type": "TextBlock",
|
||||
"text": f"Wenn Du bis {time_string} Uhr NICHT reagierst, wird die generierte E-Mail automatisch ausgesendet.",
|
||||
"isSubtle": True,
|
||||
"wrap": True
|
||||
}
|
||||
],
|
||||
"body": body_elements,
|
||||
"actions": [
|
||||
{
|
||||
"type": "Action.OpenUrl",
|
||||
|
||||
Reference in New Issue
Block a user