diff options
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r-- | ishtar_common/views_item.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 6f4abdee9..dee4d2ffb 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -1003,6 +1003,9 @@ def get_item(model, func_name, default_name, extra_request_keys=None, if data_type == "json": EMPTY = '[]' + if data_type not in ('json', 'csv', 'json-image'): + return HttpResponse(EMPTY, content_type='text/plain') + model_to_check = model if model_for_perms: model_to_check = model_for_perms @@ -1301,13 +1304,16 @@ def get_item(model, func_name, default_name, extra_request_keys=None, if col in model.CONTEXTUAL_TABLE_COLS[contxt]: query_table_cols[idx] = \ model.CONTEXTUAL_TABLE_COLS[contxt][col] - if full == 'shortcut': + if full == 'shortcut' or data_type == 'json-image': if model.SLUG == "warehouse": query_table_cols = ['name'] table_cols = ['name'] else: query_table_cols = ['cached_label'] table_cols = ['cached_label'] + if data_type == 'json-image': + query_table_cols.append('main_image__image') + table_cols.append('main_image__image') # manage sort tables manual_sort_key = None @@ -1371,7 +1377,7 @@ def get_item(model, func_name, default_name, extra_request_keys=None, # pager management start, end = 0, None page_nb = 1 - if row_nb and data_type == "json": + if row_nb and data_type.startswith("json"): try: start = int(request_items.get('start')) page_nb = start / row_nb + 1 @@ -1478,11 +1484,12 @@ def get_item(model, func_name, default_name, extra_request_keys=None, "onclick='load_window(\"%s\")'>" \ "<i class=\"fa fa-info-circle\" aria-hidden=\"true\"></i></a>" link_ext_template = '<a href="{}" target="_blank">{}</a>' - if data_type == "json": + if data_type.startswith("json"): rows = [] for data in datas: try: - lnk = link_template % reverse('show-' + default_name, + lnk_template = link_template + lnk = lnk_template % reverse('show-' + default_name, args=[data[0], '']) except NoReverseMatch: logger.warning( |