|
|
@@ -232,6 +232,11 @@ def make_layout(doc, meta, format_data=None): |
|
|
|
|
|
|
|
def get_new_section(): return {'columns': [], 'has_data': False} |
|
|
|
|
|
|
|
def append_empty_field_dict_to_page_column(page): |
|
|
|
""" append empty columns dict to page layout """ |
|
|
|
if not page[-1]['columns']: |
|
|
|
page[-1]['columns'].append({'fields': []}) |
|
|
|
|
|
|
|
for df in format_data or meta.fields: |
|
|
|
if format_data: |
|
|
|
# embellish df with original properties |
|
|
@@ -263,16 +268,13 @@ def make_layout(doc, meta, format_data=None): |
|
|
|
|
|
|
|
else: |
|
|
|
# add a column if not yet added |
|
|
|
if not page[-1]['columns']: |
|
|
|
page[-1]['columns'].append({'fields': []}) |
|
|
|
append_empty_field_dict_to_page_column(page) |
|
|
|
|
|
|
|
if df.fieldtype=="HTML" and df.options: |
|
|
|
doc.set(df.fieldname, True) # show this field |
|
|
|
|
|
|
|
if is_visible(df, doc) and has_value(df, doc): |
|
|
|
if page[-1]['columns'] == []: |
|
|
|
# if no column, add one |
|
|
|
page[-1]['columns'].append({'fields': []}) |
|
|
|
append_empty_field_dict_to_page_column(page) |
|
|
|
|
|
|
|
page[-1]['columns'][-1]['fields'].append(df) |
|
|
|
|
|
|
@@ -293,6 +295,7 @@ def make_layout(doc, meta, format_data=None): |
|
|
|
# new page, with empty section and column |
|
|
|
page = [get_new_section()] |
|
|
|
layout.append(page) |
|
|
|
append_empty_field_dict_to_page_column(page) |
|
|
|
|
|
|
|
# continue the table in a new page |
|
|
|
df = copy.copy(df) |
|
|
|