Skip to content

Commit 9ffc3b3

Browse files
committed
add has_sample_info to generate_study_list
1 parent e81a125 commit 9ffc3b3

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

qiita_db/metadata_template/base_metadata_template.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -453,13 +453,10 @@ class MetadataTemplate(qdb.base.QiitaObject):
453453
# sub-classes.
454454
_forbidden_words = {}
455455

456-
def _check_id(self, id_):
456+
@classmethod
457+
def _check_id(cls, id_):
457458
r"""Checks that the MetadataTemplate id_ exists on the database"""
458-
with qdb.sql_connection.TRN:
459-
sql = "SELECT EXISTS(SELECT * FROM qiita.{0} WHERE {1}=%s)".format(
460-
self._table, self._id_column)
461-
qdb.sql_connection.TRN.add(sql, [id_])
462-
return qdb.sql_connection.TRN.execute_fetchlast()
459+
return qdb.util.exists_table(f'{cls._table_prefix}{id_}')
463460

464461
@classmethod
465462
def _table_name(cls, obj_id):

qiita_db/util.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ def exists_table(table):
369369
"""
370370
with qdb.sql_connection.TRN:
371371
sql = """SELECT exists(
372-
SELECT * FROM information_schema.tables
372+
SELECT table_name FROM information_schema.tables
373373
WHERE table_name=%s)"""
374374
qdb.sql_connection.TRN.add(sql, [table])
375375
return qdb.sql_connection.TRN.execute_fetchlast()
@@ -1464,6 +1464,10 @@ def generate_study_list(user, visibility):
14641464
(SELECT COUNT(sample_id) FROM qiita.study_sample
14651465
WHERE study_id=qiita.study.study_id)
14661466
AS number_samples_collected,
1467+
(SELECT EXIST(
1468+
SELECT 1 FROM qiita.study_sample
1469+
WHERE study_id = qiita.study.study_id LIMIT 1))
1470+
AS has_sample_info,
14671471
(SELECT array_agg(row_to_json((prep_template_id, data_type,
14681472
artifact_id, artifact_type, deprecated,
14691473
qiita.bioms_from_preparation_artifacts(prep_template_id)),
@@ -1558,6 +1562,10 @@ def generate_study_list(user, visibility):
15581562
del info["shared_with_name"]
15591563
del info["shared_with_email"]
15601564

1565+
# add extra info about sample information file
1566+
has_sample_info = info['has_sample_info']
1567+
del info['has_sample_info']
1568+
15611569
infolist.append(info)
15621570
return infolist
15631571

0 commit comments

Comments
 (0)