diff --git a/server/app/apis/competitions.py b/server/app/apis/competitions.py index 2a7b2a95b97ffcfdef986ad877f2b6a39e088539..d1fd95722f026cb3aa67e9bb8354a6823af9bbee 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 4357df9e24e95c6febc448f6df5b7fd55912a5a2..52553796260493507bcc47ef32f8977f241a2a88 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 b1f5bc91e045e43c5f69618a685a39f86c7b081d..94bc6008a1f5b8173df1ddbba7d6745f7c6ea5f0 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