- Neuen Termin anlegen
+
+ {editMode ? 'Termin bearbeiten' : 'Neuen Termin anlegen'}
{groupName && (
-
+
für Raumgruppe: {typeof groupName === 'object' ? groupName.name : groupName}
)}
diff --git a/dashboard/src/termine.tsx b/dashboard/src/termine.tsx
deleted file mode 100644
index e69de29..0000000
diff --git a/server/routes/eventmedia.py b/server/routes/eventmedia.py
index 4606ce5..c6e7b9f 100644
--- a/server/routes/eventmedia.py
+++ b/server/routes/eventmedia.py
@@ -163,3 +163,21 @@ def find_by_filename():
'file_path': media.file_path,
'url': media.url
})
+
+
+@eventmedia_bp.route('/', methods=['GET'])
+def get_media_by_id(media_id):
+ session = Session()
+ media = session.query(EventMedia).get(media_id)
+ if not media:
+ session.close()
+ return jsonify({'error': 'Not found'}), 404
+ result = {
+ 'id': media.id,
+ 'file_path': media.file_path,
+ 'url': media.url,
+ 'name': media.url, # oder ein anderes Feld für den Namen
+ 'media_type': media.media_type.name if media.media_type else None
+ }
+ session.close()
+ return jsonify(result)
diff --git a/server/routes/events.py b/server/routes/events.py
index 1badf85..8ca8848 100644
--- a/server/routes/events.py
+++ b/server/routes/events.py
@@ -27,11 +27,14 @@ def get_events():
for e in events:
result.append({
"Id": str(e.id),
- "GroupId": e.group_id, # geändert: gibt group_id zurück
+ "GroupId": e.group_id,
"Subject": e.title,
"StartTime": e.start.isoformat() if e.start else None,
"EndTime": e.end.isoformat() if e.end else None,
"IsAllDay": False,
+ "MediaId": e.event_media_id, # <--- Media-ID zurückgeben
+ "SlideshowInterval": e.slideshow_interval,
+ "WebsiteUrl": None, # Optional: für Website-Typ
})
session.close()
return jsonify(result)
@@ -115,3 +118,29 @@ def create_event():
session.add(event)
session.commit()
return jsonify({"success": True, "event_id": event.id})
+
+
+@events_bp.route("/", methods=["PUT"])
+def update_event(event_id):
+ data = request.json
+ session = Session()
+ event = session.query(Event).filter_by(id=event_id).first()
+ if not event:
+ session.close()
+ return jsonify({"error": "Termin nicht gefunden"}), 404
+
+ event.title = data.get("title", event.title)
+ event.description = data.get("description", event.description)
+ event.start = datetime.fromisoformat(
+ data["start"]) if "start" in data else event.start
+ event.end = datetime.fromisoformat(
+ data["end"]) if "end" in data else event.end
+ event.event_type = data.get("event_type", event.event_type)
+ event.event_media_id = data.get("event_media_id", event.event_media_id)
+ event.slideshow_interval = data.get(
+ "slideshow_interval", event.slideshow_interval)
+ event.created_by = data.get("created_by", event.created_by)
+ session.commit()
+ event_id_return = event.id # <-- ID vor session.close() speichern!
+ session.close()
+ return jsonify({"success": True, "event_id": event_id_return})