Make pricing table searchable

uses the same pattern as searching templates by name.
This commit is contained in:
Chris Hill-Scott
2017-07-28 15:07:08 +01:00
parent 10b87e433b
commit 10f81d5d16
2 changed files with 33 additions and 16 deletions

View File

@@ -1,6 +1,7 @@
from flask import (render_template, url_for, redirect, request, abort)
from app.main import main
from app import convert_to_boolean
from app.main.forms import SearchTemplatesForm
from flask_login import (login_required, current_user)
from notifications_utils.template import HTMLEmailTemplate
@@ -38,7 +39,8 @@ def pricing():
international_sms_rates=sorted([
(cc, country['names'], country['billable_units'])
for cc, country in INTERNATIONAL_BILLING_RATES.items()
], key=lambda x: x[0])
], key=lambda x: x[0]),
search_form=SearchTemplatesForm(),
)

View File

@@ -1,4 +1,5 @@
{% from "components/table.html" import mapping_table, row, text_field, row_heading %}
{% from "components/table.html" import mapping_table, row, text_field, field, row_heading %}
{% from "components/textbox.html" import textbox %}
{% extends "withoutnav_template.html" %}
@@ -60,20 +61,34 @@
times the cost of messages to UK mobile numbers.
</p>
{% call mapping_table(
caption='Letter pricing',
field_headings=['Country code', 'Country', 'Cost multipler'],
field_headings_visible=True,
caption_visible=False
) %}
{% for cc, names, billable_units in international_sms_rates %}
{% call row() %}
{{ text_field('+&hairsp;'|safe + cc) }}
{{ text_field(names[0]) }}
{{ text_field('{}&hairsp;&times;'.format(billable_units)|safe) }}
{% endcall %}
{% endfor %}
{% endcall %}
<div class="live-search" data-module="live-search" data-targets="#international-pricing .table-row">
{{ textbox(
search_form.search,
width='1-1',
label='Search by country name or code'
) }}
</div>
<div id="international-pricing" class="bottom-gutter-3-2">
{% call mapping_table(
caption='Letter pricing',
field_headings=['Country code', 'Country', 'Cost multipler'],
field_headings_visible=True,
caption_visible=False
) %}
{% for cc, names, billable_units in international_sms_rates %}
{% call row() %}
{{ text_field('+' + cc) }}
{% call field() %}
{% for name in names %}
{{ name }}<br>
{% endfor %}
{% endcall %}
{{ text_field('{}&hairsp;&times;'.format(billable_units)|safe) }}
{% endcall %}
{% endfor %}
{% endcall %}
</div>
<h2 class="heading-medium">
Letters