Skip to content
Snippets Groups Projects
Commit b8b94dd9 authored by Jaden Diefenbaugh's avatar Jaden Diefenbaugh
Browse files

rm default group, better support for no groups

parent 606cce72
No related branches found
No related tags found
1 merge request!223Reports overhaul
......@@ -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,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment