{% macro render_field(df, doc, no_of_cols=2) -%} {%- if df.fieldtype=="Table" -%} {{ render_table(df, doc) }} {%- elif df.fieldtype=="HTML" and df.options -%}
{{ frappe.render_template(df.options, {"doc": doc}) or "" }}
{%- elif df.fieldtype in ("Text", "Text Editor", "Code", "Long Text") -%} {{ render_text_field(df, doc) }} {%- elif df.fieldtype in ("Image", "Attach Image") and ( (guess_mimetype(doc[df.fieldname])[0] or "").startswith("image/") or doc[df.fieldname].startswith("http") ) -%} {{ render_image(df, doc) }} {%- elif df.fieldtype=="Geolocation" -%} {{ render_geolocation(df, doc) }} {%- elif df.fieldtype=="Signature" -%} {{ render_signature(df, doc) }} {%- elif df.fieldtype=="Currency" -%} {%- if doc.print_templates and doc.print_templates.get(df.fieldname) -%} {% include doc.print_templates[df.fieldname] %} {%- else -%} {{ render_field_with_label(df, doc, no_of_cols) }} {%- endif -%} {%- else -%} {{ render_field_with_label(df, doc, no_of_cols) }} {%- endif -%} {%- endmacro -%} {%- macro render_table(df, doc) -%} {%- set table_meta = frappe.get_meta(df.options) -%} {%- set data = doc.get(df.fieldname)[df.start:df.end] -%} {%- if doc.print_templates and doc.print_templates.get(df.fieldname) -%} {% include doc.print_templates[df.fieldname] %} {%- else -%} {%- if data -%} {%- set visible_columns = get_visible_columns(doc.get(df.fieldname), table_meta, df) -%}
{% for tdf in visible_columns %} {% endfor %} {% for d in data %} {% for tdf in visible_columns %} {% else %}
{{ print_value(tdf, d, doc, visible_columns) }}
{% endif %} {% endfor %} {% endfor %}
{{ _("Sr") }} {{ _(tdf.label) }}
{{ d.idx }} {% if doc.child_print_templates %} {%- set child_templates = doc.child_print_templates.get(df.fieldname) -%}
{{ print_value(tdf, d, doc, visible_columns, child_templates) }}
{%- endif -%} {%- endif -%} {%- endmacro -%} {% macro fieldmeta(df) -%} data-fieldname="{{ df.fieldname }}" data-fieldtype="{{ df.fieldtype }}" {%- endmacro %} {%- macro render_field_with_label(df, doc, no_of_cols) -%} {%- set label_col_class = resolve_class({ 'col-xs-9': df.fieldtype=="Check", 'col-xs-5': df.fieldtype!="Check" and no_of_cols < 3, 'col-xs-12': df.fieldtype!="Check" and no_of_cols >= 3, }) -%} {%- set value_col_class = resolve_class({ 'col-xs-3': df.fieldtype=="Check", 'col-xs-7': df.fieldtype!="Check" and no_of_cols < 3, 'col-xs-12': df.fieldtype!="Check" and no_of_cols >= 3, }) -%} {% set render_field = doc.get(df.fieldname) != 0 if df.fieldtype == "Check" else doc.get(df.fieldname) != None %} {% if render_field %}
{% if df.fieldtype not in ("Image", "HTML") %} {% endif %}
{{ _(print_value(df, doc)) }}
{% endif %} {%- endmacro -%} {%- macro render_text_field(df, doc) -%} {%- if doc.get(df.fieldname) != None -%}
{%- if df.fieldtype in ("Text", "Code", "Long Text") %}{%- endif %} {%- if df.fieldtype=="Code" %}
{{ doc.get(df.fieldname) }}
{% else -%} {{ doc.get_formatted(df.fieldname, parent_doc or doc, translated=df.translatable) }} {% endif -%}
{%- endif -%} {%- endmacro -%} {%- macro render_image(df, doc) -%} {{ print_value(df, doc) }} {% endmacro %} {%- macro render_signature(df, doc) -%} {{ print_value(df, doc) }} {% endmacro %} {%- macro render_geolocation(df, doc) -%} {{ "" }} {%- endmacro -%} {%- macro print_value(df, doc, parent_doc=None, visible_columns=None, child_templates=None) -%} {% if child_templates and child_templates[df.fieldname] %} {% include child_templates[df.fieldname] %} {% elif df.fieldtype=="Check" and doc[df.fieldname] %} {% elif df.fieldtype=="Check" and not doc[df.fieldname] %} {% elif df.fieldtype in ("Image", "Attach Image") and frappe.utils.is_image(doc[doc.meta.get_field(df.fieldname).options]) %} {% elif df.fieldtype=="Attach Image" %} {% elif df.fieldtype=="Signature" %} {% elif df.fieldtype in ("Attach", "Attach Image") %} {% elif df.fieldtype=="HTML" %} {{ frappe.render_template(df.options, {"doc":doc}) }} {% elif df.fieldtype=="Currency" %} {{ doc.get_formatted(df.fieldname, parent_doc or doc, translated=df.translatable) }} {% else %} {%- set parent = parent_doc or doc -%} {{ doc.get_formatted(df.fieldname, parent, translated=df.translatable, absolute_value=parent.absolute_value) }} {% endif %} {%- endmacro %} {% macro get_width(df) -%} {%- if df.print_width -%} {%- if df.print_width.endswith("%") -%} {{ df.print_width }} {%- else -%} {{ df.print_width.replace("px", "") }}px {%- endif -%} {%- elif df.fieldtype in ("Int", "Check", "Float", "Currency") -%}{{ 80 }}px {%- else -%}{{ 150 }}px{% endif -%} {%- endmacro %} {% macro get_align_class(df, no_of_cols=2) %} {% if no_of_cols >= 3 %}{{ "" }} {%- elif df.align -%}{{ "text-" + df.align }} {%- elif df.fieldtype in ("Int", "Float", "Currency", "Percent") -%}{{ "text-right" }} {%- elif df.fieldtype in ("Check") -%}{{ "text-center" }} {%- else -%}{{ "" }} {%- endif -%} {% endmacro %} {%- macro add_header(page_num, max_pages, doc, letter_head, no_letterhead, footer, print_settings=None, print_heading_template=None) -%} {% if letter_head and not no_letterhead %}
{{ letter_head }}
{% endif %} {% if print_heading_template %} {{ frappe.render_template(print_heading_template, {"doc":doc}) }} {% else %} {% endif %} {%- if doc.meta.is_submittable and doc.docstatus==0 and (print_settings==None or print_settings.add_draft_heading) -%}

{{ _("DRAFT") }}

{%- endif -%} {%- if doc.meta.is_submittable and doc.docstatus==2-%}

{{ _("CANCELLED") }}

{%- endif -%} {%- endmacro -%}