From 5404d2dcf781f8384bc4ee5fd08355a7ce22059f Mon Sep 17 00:00:00 2001 From: robban64 <carl@schonfelder.se> Date: Wed, 28 Apr 2021 09:40:04 +0200 Subject: [PATCH] fix: remove background_image by sending -1 --- server/app/apis/competitions.py | 2 +- server/app/apis/slides.py | 2 +- server/app/database/controller/edit.py | 14 ++++++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/server/app/apis/competitions.py b/server/app/apis/competitions.py index 2a7b2a95..d1fd9572 100644 --- a/server/app/apis/competitions.py +++ b/server/app/apis/competitions.py @@ -54,7 +54,7 @@ class Competitions(Resource): def put(self, competition_id): args = competition_edit_parser.parse_args(strict=True) item = dbc.get.one(Competition, competition_id) - item = dbc.edit.default(item, **args) + item = dbc.edit.competition(item, **args) return item_response(schema.dump(item)) diff --git a/server/app/apis/slides.py b/server/app/apis/slides.py index 4357df9e..52553796 100644 --- a/server/app/apis/slides.py +++ b/server/app/apis/slides.py @@ -43,7 +43,7 @@ class Slides(Resource): args = slide_parser.parse_args(strict=True) item_slide = dbc.get.slide(competition_id, slide_id) - item_slide = dbc.edit.default(item_slide, **args) + item_slide = dbc.edit.slide(item_slide, **args) return item_response(schema.dump(item_slide)) diff --git a/server/app/database/controller/edit.py b/server/app/database/controller/edit.py index b1f5bc91..94bc6008 100644 --- a/server/app/database/controller/edit.py +++ b/server/app/database/controller/edit.py @@ -51,3 +51,17 @@ def default(item, **kwargs): db.session.commit() db.session.refresh(item) return item + + +def competition(item, **kwargs): + if kwargs["background_image_id"] == -1: + item.background_image_id = None + del kwargs["background_image_id"] + return default(item, **kwargs) + + +def slide(item, **kwargs): + if kwargs["background_image_id"] == -1: + item.background_image_id = None + del kwargs["background_image_id"] + return default(item, **kwargs) \ No newline at end of file -- GitLab