group color shown in CustomEventModal
add functionality for edit of events
This commit is contained in:
@@ -163,3 +163,21 @@ def find_by_filename():
|
||||
'file_path': media.file_path,
|
||||
'url': media.url
|
||||
})
|
||||
|
||||
|
||||
@eventmedia_bp.route('/<int:media_id>', 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)
|
||||
|
||||
@@ -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("/<event_id>", 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})
|
||||
|
||||
Reference in New Issue
Block a user