def data_table(request, domain): # TODO this should be async (large tables time out) table_ids = request.GET.getlist("table_id") try: sheets = prepare_fixture_html(table_ids, domain) except FixtureDownloadError as e: messages.info(request, unicode(e)) raise sheets.pop("types") if not sheets: return { "headers": DataTablesHeader(DataTablesColumn("No lookup Tables Uploaded")), "rows": [] } selected_sheet = sheets.values()[0] selected_sheet_tag = sheets.keys()[0] data_table = { "headers": None, "rows": None, "table_id": selected_sheet_tag } headers = [DataTablesColumn(header) for header in selected_sheet["headers"]] data_table["headers"] = DataTablesHeader(*headers) if selected_sheet["headers"] and selected_sheet["rows"]: data_table["rows"] = [[format_datatables_data(x or "--", "a") for x in row] for row in selected_sheet["rows"]] else: messages.info(request, _("No items are added in this table type. Upload using excel to add some rows to this table")) data_table["rows"] = [["--" for x in range(0, len(headers))]] return data_table
def data_table(request, domain): # TODO this should be async (large tables time out) table_ids = request.GET.getlist("table_id") try: sheets = prepare_fixture_html(table_ids, domain) except FixtureDownloadError as e: messages.info(request, unicode(e)) raise Http404() sheets.pop("types") if not sheets: return { "headers": DataTablesHeader(DataTablesColumn("No lookup Tables Uploaded")), "rows": [] } selected_sheet = sheets.values()[0] selected_sheet_tag = sheets.keys()[0] data_table = { "headers": None, "rows": None, "table_id": selected_sheet_tag } headers = [DataTablesColumn(header) for header in selected_sheet["headers"]] data_table["headers"] = DataTablesHeader(*headers) if selected_sheet["headers"] and selected_sheet["rows"]: data_table["rows"] = [[format_datatables_data(x or "--", "a") for x in row] for row in selected_sheet["rows"]] else: messages.info(request, _("No items are added in this table type. Upload using excel to add some rows to this table")) data_table["rows"] = [["--" for x in range(0, len(headers))]] return data_table