ihatemoney/ihatemoney/templates/forms.html
2020-04-10 21:50:37 -04:00

213 lines
7 KiB
HTML

{% macro input(field, multiple=False, class='form-control', inline=False, placeholder='') -%}
<div class="form-group{% if inline %} row{% endif %}">
{% if field.type != "SubmitField" %}
{% if inline %}
{{ field.label(class="col-3") }}
{% else %}
{{ field.label() }}
{% endif %}
{% endif %}
<div class="controls{% if inline %} col-9{% endif %}">
{% if multiple == True %}
{{ field(multiple=True, class=class, placeholder=placeholder) }}
{% else %}
{{ field(class=class, placeholder=placeholder) | safe }}
{% endif %}
{% if field.description %}
<small id="{{field.name}}_description"" class="form-text text-muted">{{ field.description }}</small>
{% endif %}
</div>
</div>
{% endmacro %}
{% macro submit(field, cancel=False, home=False) -%}
<div class="actions">
<button type="submit" class="btn btn-primary">{{ field.name }}</button>
{% if home %}
<a href="{{ url_for(".remind_password") }}" class="btn btn-link">{{ _("Can't remember the password?") }}</a>
{% endif %}
{% if cancel %}
<button type="reset" class="btn btn-light">{{ _("Cancel") }}</button>
{% endif %}
</div>
{% endmacro %}
{% macro authenticate(form, home=False) %}
{% include "display_errors.html" %}
{{ form.hidden_tag() }}
{{ input(form.id) }}
{{ input(form.password) }}
{% if not home %}
{{ submit(form.submit, home=True) }}
{% endif %}
{% endmacro %}
{% macro admin(form) %}
{% include "display_errors.html" %}
{{ form.hidden_tag() }}
{{ input(form.admin_password) }}
{{ submit(form.submit) }}
{% endmacro %}
{% macro create_project(form, home=False) %}
{% include "display_errors.html" %}
{{ form.hidden_tag() }}
{% if not home %}
{{ input(form.id) }}
{% endif %}
{{ input(form.name) }}
{{ input(form.password) }}
{{ input(form.contact_email) }}
{% if not home %}
{{ submit(form.submit, home=True) }}
{% endif %}
{% endmacro %}
{% macro edit_project(form) %}
{% include "display_errors.html" %}
{{ form.hidden_tag() }}
{{ input(form.name) }}
{{ input(form.password) }}
{{ input(form.contact_email) }}
<div class="form-group">
<label for="privacy_checkboxes">{{ _("Privacy Settings") }}</label>
<div id="privacy_checkboxes" class="card card-body bg-light">
<div class="controls">
<input id="logging_enabled" type="checkbox" onchange="updatePrivacySelectFromCheckBoxes()">
<label for="logging_enabled">{{ _("Enable Project History") }}</label>
</div>
<div class="controls">
<div class="ml-4">
<input id="record_ip" type="checkbox" onchange="updatePrivacySelectFromCheckBoxes()">
<label id="record_ip_label" for="record_ip">{{ _("Record IP Adressses") }}</label>
</div>
</div>
</div>
<div class="d-none">
{{ form.logging_preferences }}
<script>updateCheckBoxesFromPrivacySelect()</script>
</div>
</div>
<div class="actions">
<button class="btn btn-primary">{{ _("Edit the project") }}</button>
<a id="delete-project" style="color:red; margin-left:10px; cursor:pointer; ">{{ _("delete") }}</a>
</div>
{% endmacro %}
{% macro upload_json(form) %}
{% include "display_errors.html" %}
{{ form.hidden_tag() }}
{{ form.file }}
<div class="actions">
<button class="btn btn-primary">{{ _("Import") }}</button>
</div>
{% endmacro %}
{% macro add_bill(form, edit=False, title=True) %}
<fieldset>
{% if title %}<legend>{% if edit %}{{ _("Edit this bill") }} {% else %}{{ _("Add a bill") }} {% endif %}</legend>{% endif %}
{% include "display_errors.html" %}
{{ form.hidden_tag() }}
{{ input(form.date, class="form-control", inline=True) }}
{{ input(form.what, inline=True) }}
{{ input(form.payer, inline=True, class="form-control custom-select") }}
{{ input(form.amount, inline=True) }}
{{ input(form.external_link, inline=True) }}
<div class="form-group row">
<label class="col-3" for="payed_for">{{ _("For whom?") }}</label>
<div class="controls col-9">
<ul id="payed_for" class="inputs-list">
<p><a href="#" id="selectall" onclick="selectCheckboxes(true)">{{ _("Select all") }}</a> | <a href="#" id="selectnone" onclick="selectCheckboxes(false)">{{_("Select none")}}</a></p>
{% for key, value, checked in form.payed_for.iter_choices() | sort(attribute='1') %}
<p class="form-check">
<label for="payed_for-{{key}}" class="form-check-label">
<input name="payed_for" type="checkbox" {% if checked %}checked{% endif %} class="form-check-input" value="{{key}}" id="payed_for-{{key}}"/>
<span>{{value}}</span>
</label>
</p>
{% endfor %}
</ul>
</div>
</div>
</fieldset>
<div class="actions">
{{ form.submit(class="btn btn-primary") }}
{% if not edit %} {{ form.submit2(class="btn btn-light") }}{% endif %}
</div>
{% endmacro %}
{% macro add_member(form) %}
{{ form.hidden_tag() }}
{% include "display_errors.html" %}
<div class="input-group">
<label class="sr-only" for="name">_("Add participant")</label>
{{ form.name(placeholder=_("Add participant"), class="form-control") }}
<div class="input-group-append">
<button class="btn btn-secondary input-group-addon" type="submit">{{ _("Add") }}</button>
</div>
</div>
{% endmacro %}
{% macro edit_member(form, title=True) %}
<fieldset>
{% if title %}<legend>{{ _("Edit this member") }}</legend>{% endif %}
{% include "display_errors.html" %}
{{ form.hidden_tag() }}
{{ input(form.name) }}
{{ input(form.weight) }}
</fieldset>
<div class="actions">
{{ form.submit(class="btn btn-primary") }}
</div>
{% endmacro %}
{% macro invites(form) %}
{{ form.hidden_tag() }}
{{ input(form.emails, placeholder=_('john.doe@example.com, mary.moe@site.com')) }}
<div class="actions">
<button class="btn btn-primary">{{ _("Send the invitations") }}</button>
</div>
{% endmacro %}
{% macro export_project(form) %}
<fieldset>
{{ form.hidden_tag() }}
{{ input(form.export_type) }}
{{ input(form.export_format) }}
</fieldset>
<div class="actions">
<button class="btn btn-primary">{{ _("Download") }}</button>
</div>
{% endmacro %}
{% macro remind_password(form) %}
{% include "display_errors.html" %}
{{ form.hidden_tag() }}
{{ input(form.id) }}
{{ submit(form.submit) }}
{% endmacro %}
{% macro reset_password(form) %}
{% include "display_errors.html" %}
{{ form.hidden_tag() }}
{{ input(form.password) }}
{{ input(form.password_confirmation) }}
{{ submit(form.submit) }}
{% endmacro %}