HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall_forms/buyercall/buyercall/templates/macros/form.jinja2
{# Render a form field's label with visual aid to see if it's required. #}
{%- macro field_label(field) -%}
    <label for="{{ field.id }}" class="control-label">
      {%- if field.flags and field.flags.required -%}
          {{ field.label.text }}
      {%- elif field.label %}
        {{ field.label.text }}
      {%- endif %}
    </label>
{%- endmacro -%}


{# Render a form field's errors. #}
{%- macro field_errors(f) -%}
  {% if f.errors %}
      <ul class="list-unstyled text-danger field-error">
        {% for error in f.errors %}
            <li>{{ error | e }}</li>
        {% endfor %}
      </ul>
  {% endif %}
{%- endmacro -%}


{# Render a form field. #}
{%- macro field(f, css_class='form-control') -%}
  {{ f(class=css_class, **kwargs) }}
{%- endmacro -%}

{# Render a password form field. #}
{%- macro password_field(f, css_class='form-control') -%}
<div class="input-group" style="display:block;">
    {{ f(class=css_class, **kwargs) }}
    <a href="#" class="toggle_hide_password">
        <i class="fa fa-eye-slash field-icon" aria-hidden="true"></i>
    </a>
  </div>
{%- endmacro -%}

{# Render a checkbox field. #}
{%- macro checkbox_field(f) -%}
  {{ f(type='checkbox', **kwargs) }} {{ f.label }}
{%- endmacro -%}


{# Render a file field. #}
{%- macro file_field(f, css_class='') -%}
  {{ f(class=css_class, **kwargs) }}
{%- endmacro -%}


{# Render a Bootstrap 3 form group with errors for various field types. #}
{%- macro password_form_group(f, css_class='') -%}
{% if f.errors %}
    {% set css_class = css_class + ' has-error ' + kwargs.pop('class', '') %}
  {% endif %}
    <div>
    {{ field_label(f) }}
    {{ password_field(f, **kwargs) }}
    </div>
{%- endmacro -%}


{%- macro form_group(f, css_class='') -%}
  {% if f.errors %}
    {% set css_class = css_class + ' has-error ' + kwargs.pop('class', '') %}
  {% endif %}

  {% if f.type == 'BooleanField' %}
  <div class="checkbox">
    <label>
    {{ checkbox_field(f, **kwargs) }}
  </div>
  {% elif f.type == 'FileField' %}
  <span class="btn btn-warning btn-round btn-file">
    <span class="fileinput-new"> Select Image </span>
    {{ file_field(f, **kwargs) }}
  </span>
  {% else %}
    <div>
    {{ field_label(f) }}
    {{ field(f, **kwargs) }}
    </div>
  {% endif %}
  <div>
    {{ field_errors(f) }}
    {{ caller () }}
  </div>
{%- endmacro %}

{# Render a form tag that contains a CSRF token and all hidden fields, it also
   properly supports all HTTP version, simply pass in method='delete', etc.. #}
{%- macro form_tag(endpoint, fid='', class='', method='post') -%}
  {% set method = method | lower %}
  {% set browser_method = 'post' %}
  {% set real_method = 'post' %}

  {% if method == 'get' %}
    {% set browser_method = 'get' %}
    {% set real_method = 'get' %}
  {% elif method not in ('get', 'post') %}
    {% set browser_method = 'post' %}
    {% set real_method = method %}
  {% endif %}

    <form action="{{ url_for(endpoint, **kwargs) }}"
          method="{{ browser_method }}"
          id="{{ fid }}" class="{{ class }}" role="form">
      {{ form.hidden_tag() }}
      {{ caller () }}
    </form>
{%- endmacro -%}


{# Render a form for searching. #}
{%- macro search(endpoint) -%}
  {% call form_tag(endpoint, class='top-margin', method='get') %}
      <div class="input-group sm-margin-bottom">
          <input type="text" class="form-control"
                 id="q" name="q" value="{{ request.args.get('q', '') }}"
                 placeholder="Search by typing, then press enter...">
      <span class="input-group-addon">
       <i class="material-icons">search</i>
      </span>
      </div>
  {% endcall %}
{%- endmacro -%}