Skip to content

Commit 3c24801

Browse files
authored
fix #3122 (#3136)
* fix #3122 * fix #3122 * fix #3124
1 parent faf74df commit 3c24801

File tree

4 files changed

+27
-7
lines changed

4 files changed

+27
-7
lines changed

qiita_db/test/test_util.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,7 @@ def test_generate_analysis_list(self):
763763
obs = qdb.util.generate_analysis_list([1, 2, 3, 5])
764764
exp = [{'mapping_files': [
765765
(16, qdb.util.get_filepath_information(16)['fullpath'])],
766-
'description': 'A test analysis', 'artifacts': [9], 'name':
766+
'description': 'A test analysis', 'artifacts': [8, 9], 'name':
767767
'SomeAnalysis', 'analysis_id': 1, 'visibility': 'private'},
768768
{'mapping_files': [], 'description': 'Another test analysis',
769769
'artifacts': [], 'name': 'SomeSecondAnalysis',

qiita_db/util.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1942,8 +1942,7 @@ def generate_analysis_list(analysis_ids, public_only=False):
19421942

19431943
sql = """
19441944
SELECT analysis_id, a.name, a.description, a.timestamp,
1945-
array_agg(DISTINCT CASE WHEN command_id IS NOT NULL
1946-
THEN artifact_id END),
1945+
array_agg(DISTINCT artifact_id),
19471946
array_agg(DISTINCT visibility),
19481947
array_agg(DISTINCT CASE WHEN filepath_type = 'plain_text'
19491948
THEN filepath_id END)

qiita_ware/private_plugin.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -316,10 +316,11 @@ def delete_study(job):
316316
_delete_analysis_artifacts(analysis)
317317

318318
for pt in study.prep_templates():
319-
to_delete = list(pt.artifact.descendants.nodes())
320-
to_delete.reverse()
321-
for td in to_delete:
322-
qdb.artifact.Artifact.delete(td.id)
319+
if pt.artifact:
320+
to_delete = list(pt.artifact.descendants.nodes())
321+
to_delete.reverse()
322+
for td in to_delete:
323+
qdb.artifact.Artifact.delete(td.id)
323324
MT.prep_template.PrepTemplate.delete(pt.id)
324325

325326
if MT.sample_template.SampleTemplate.exists(study_id):

qiita_ware/test/test_private_plugin.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,26 @@ def test_delete_study_empty_study(self):
481481
"lab_person_id": StudyPerson(1)}
482482
new_study = Study.create(User('[email protected]'),
483483
"Fried Chicken Microbiome %s" % time(), info)
484+
# creating a sample information file
485+
metadata = pd.DataFrame.from_dict({
486+
'Sample1': {'physical_specimen_location': 'location1',
487+
'taxon_id': '9606',
488+
'scientific_name': 'homo sapiens'},
489+
'Sample2': {'physical_specimen_location': 'location1',
490+
'taxon_id': '9606',
491+
'scientific_name': 'homo sapiens'},
492+
'Sample3': {'physical_specimen_location': 'location1',
493+
'taxon_id': '9606',
494+
'scientific_name': 'homo sapiens'}}, orient='index')
495+
SampleTemplate.create(metadata, new_study)
496+
# creating a preparation information file
497+
metadata = pd.DataFrame.from_dict(
498+
{'Sample1': {'center_name': 'ANL',
499+
'target_subfragment': 'V4',
500+
'center_project_name': 'Test Project'}},
501+
orient='index', dtype=str)
502+
PrepTemplate.create(metadata, new_study, '16S')
503+
484504
job = self._create_job('delete_study', {'study': new_study.id})
485505
private_task(job.id)
486506
self.assertEqual(job.status, 'success')

0 commit comments

Comments
 (0)