From 7e246d987258b28bd8b69955c02623a42d45370e Mon Sep 17 00:00:00 2001 From: Stefano Alberto Russo <stefano.russo@gmail.com> Date: Fri, 1 May 2020 18:30:34 +0200 Subject: [PATCH] Fixes in case of non existent computing confs. --- .../base_app/templates/edit_computing_conf.html | 4 +--- services/webapp/code/rosetta/base_app/views.py | 12 +++++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/services/webapp/code/rosetta/base_app/templates/edit_computing_conf.html b/services/webapp/code/rosetta/base_app/templates/edit_computing_conf.html index 67032cb..9a51401 100644 --- a/services/webapp/code/rosetta/base_app/templates/edit_computing_conf.html +++ b/services/webapp/code/rosetta/base_app/templates/edit_computing_conf.html @@ -24,9 +24,7 @@ <tr> <td> - <textarea name="new_conf" style="height:300px; width:500px"> -{{ data.computing_conf_data}} - </textarea> + <textarea name="new_conf" style="height:300px; width:500px">{{ data.computing_conf_data}}</textarea> </td> </tr> diff --git a/services/webapp/code/rosetta/base_app/views.py b/services/webapp/code/rosetta/base_app/views.py index 8ae2bce..dd6eeab 100644 --- a/services/webapp/code/rosetta/base_app/views.py +++ b/services/webapp/code/rosetta/base_app/views.py @@ -775,7 +775,7 @@ def edit_computing_conf(request): raise Exception('Unknown computing "{}"'.format(computing_uuid)) # Get computing conf - computingSysConf = ComputingSysConf.objects.get(computing=computing) + computingSysConf, _ = ComputingSysConf.objects.get_or_create(computing=computing) # Edit conf? if new_conf: @@ -785,8 +785,9 @@ def edit_computing_conf(request): computingSysConf.save() data['saved'] = True - # Dump conf data for the webpage - data['computing_conf_data'] = json.dumps(computingSysConf.data) + # Dump conf data for the webpage + if computingSysConf.data: + data['computing_conf_data'] = json.dumps(computingSysConf.data) elif computing_conf_type == 'user': @@ -800,7 +801,7 @@ def edit_computing_conf(request): raise Exception('Unknown computing "{}"'.format(computing_uuid)) # Get computing conf - computingUserConf = ComputingUserConf.objects.get(computing=computing) + computingUserConf, _ = ComputingUserConf.objects.get_or_create(computing=computing, user=request.user) # Edit conf? if new_conf: @@ -811,7 +812,8 @@ def edit_computing_conf(request): data['saved'] = True # Dump conf data for the webpage - data['computing_conf_data'] = json.dumps(computingUserConf.data) + if computingUserConf.data: + data['computing_conf_data'] = json.dumps(computingUserConf.data) else: -- GitLab