From b8b94dd99a648c8654e218891ac314c70aeb62a6 Mon Sep 17 00:00:00 2001 From: Jaden Diefenbaugh <blakcap@users.noreply.github.com> Date: Thu, 2 Mar 2017 11:24:37 +0100 Subject: [PATCH] rm default group, better support for no groups --- beat/web/reports/models.py | 46 +++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/beat/web/reports/models.py b/beat/web/reports/models.py index dd45defc3..77a9ce10c 100644 --- a/beat/web/reports/models.py +++ b/beat/web/reports/models.py @@ -205,13 +205,15 @@ class Report(models.Model): self.referenced_plotterparameters.add(plotterparameter) - def add_experiments(self, experiment_fullname_list, group='default'): + def add_experiments(self, experiment_fullname_list, group=''): # Check that the report is modifiable if self.status != Report.EDITABLE: return { 'success': False, 'error': "Report not modifiable", } + # If there was not a group name passed, just add it to the report + addingToGroup = len(group) != 0 # Process the list of experiments accessible_experiments = [] @@ -219,22 +221,20 @@ class Report(models.Model): experiments, unknown_experiments = self._get_experiments_from_fullname_list(experiment_fullname_list) - # Find the group to add experiments to - if len(group) == 0: - return { - 'success': False, - 'error': 'Empty group given' - } report_content = json.loads(self.content) curr_group = {} - if report_content['groups'].has_key(group): - curr_group = report_content['groups'][group] - else: - curr_group = { - 'experiments': [], - 'reportItemIds': [], - 'analyzer': '' - } + if addingToGroup: + if not report_content.has_key('groups'): + report_content['groups'] = {} + + if report_content['groups'].has_key(group): + curr_group = report_content['groups'][group] + else: + curr_group = { + 'experiments': [], + 'reportItemIds': [], + 'analyzer': '' + } for experiment in experiments: # Check experiments accessibility @@ -251,17 +251,17 @@ class Report(models.Model): for experiment in accessible_experiments: if len(experiment.blocks.filter(analyzer=True)) >= 1: self.experiments.add(experiment) - curr_group['experiments'].append(experiment.fullname()) - if len(curr_group['experiments']) == 1 and group != 'default': - import ipdb; ipdb.set_trace() - curr_group['analyzer'] = list(experiment.analyzers())[0] + if addingToGroup: + curr_group['experiments'].append(experiment.fullname()) + if len(curr_group['experiments']) == 1: + curr_group['analyzer'] = list(experiment.analyzers())[0] else: incompatible_experiments.append(experiment.fullname()) - report_content['groups'][group] = curr_group - - self.content = json.dumps(report_content) - self.save() + if addingToGroup: + report_content['groups'][group] = curr_group + self.content = json.dumps(report_content) + self.save() return { 'success': True, -- GitLab