aboutsummaryrefslogtreecommitdiff
path: root/templates/payment
diff options
context:
space:
mode:
Diffstat (limited to 'templates/payment')
-rw-r--r--templates/payment/create.html120
-rw-r--r--templates/payment/table.html128
-rw-r--r--templates/payment/update.html144
3 files changed, 392 insertions, 0 deletions
diff --git a/templates/payment/create.html b/templates/payment/create.html
new file mode 100644
index 0000000..aea6fcd
--- /dev/null
+++ b/templates/payment/create.html
@@ -0,0 +1,120 @@
+{% extends "base.html" %}
+
+{% block title %}
+ Nouveau paiement
+{% endblock title %}
+
+{% block main %}
+
+ <div>
+ <p class="g-Paragraph">
+ <a
+ class="g-Link g-Media__Large"
+ href="/{{ payments_params(
+ page=query.page,
+ search=query.search,
+ frequency=query.frequency
+ ) }}"
+ >
+ Retour aux paiements
+ </a>
+ </p>
+
+ <form class="g-Form" action="/payment/create" method="POST">
+ <h1 class="g-H1">
+ Nouveau paiement
+ {% if query.frequency != "Monthly" %}
+ ponctuel
+ {% else %}
+ mensuel
+ {% endif %}
+ </h1>
+
+ {% if error %}
+ <div class="g-Form__Error">{{ error }}</div>
+ {% endif %}
+
+ <label class="g-Form__Label" for="name">Nom</label>
+ <input
+ name="name"
+ class="g-Form__Input"
+ id="name"
+ value="{{ form.name | default(value="") }}"
+ required
+ {% if not form %} autofocus {% endif %}
+ />
+
+ <label class="g-Form__Label" for="cost">Coût</label>
+ <input
+ name="cost"
+ type="number"
+ class="g-Form__Input"
+ id="cost"
+ value="{{ form.cost | default(value="") }}"
+ required
+ />
+
+ {% set user_id = form.user_id | default(value="" ~ connected_user.id) %}
+
+ <label class="g-Form__Label" for="user_id">Personne</label>
+ <select name="user_id" id="user_id" class="g-Form__Select" required>
+ {% for user in users %}
+ <option
+ value="{{ user.id }}"
+ {% if "" ~ user.id == user_id %}
+ selected
+ {% endif %}
+ >
+ {{ user.name }}
+ </option>
+ {% endfor %}
+ </select>
+
+ {% set category_id = form.category_id | default(value="") %}
+
+ <label class="g-Form__Label" for="category_id">Catégorie</label>
+ <select name="category_id" id="category_id" class="g-Form__Select" required>
+ {% for category in categories %}
+ <option
+ value="{{ category.id }}"
+ style="color: {{ category.color }}"
+ {% if "" ~ category.id == category_id %} selected {% endif %}
+ >
+ {{ category.name }}
+ </option>
+ {% endfor %}
+ </select>
+
+ {% set date = form.date | default(value=now() | date(format="%Y-%m-%d")) %}
+
+ {% if query.frequency != "Monthly" %}
+ <label class="g-Form__Label" for="date">Date</label>
+ <input
+ name="date"
+ type="date"
+ class="g-Form__Input"
+ id="date"
+ value="{{ date }}"
+ required
+ />
+ {% else %}
+ <input
+ name="date"
+ type="hidden"
+ value="{{ date }}"
+ />
+ {% endif %}
+
+ <input
+ type="hidden"
+ name="frequency"
+ value="{{ query.frequency | default(value="Punctual") }}"
+ />
+
+ <div>
+ <input class="g-Button__Validate" type="submit" value="Créer" />
+ </div>
+ </form>
+ </div>
+
+{% endblock main %}
diff --git a/templates/payment/table.html b/templates/payment/table.html
new file mode 100644
index 0000000..19b56b4
--- /dev/null
+++ b/templates/payment/table.html
@@ -0,0 +1,128 @@
+{% import "macros/paging.html" as paging %}
+
+{% extends "base.html" %}
+
+{% block title %}
+ Paiements
+{% endblock title %}
+
+{% block main %}
+
+ <div class="g-Paragraph g-Payments__Header">
+ <div class="g-Payments__FrequenciesAndSearch">
+ <div class="g-Payments__Frequencies">
+ {% if query.frequency == "Monthly" %}
+ <a
+ class="g-Payments__Frequency g-Link"
+ href="/{{ payments_params(frequency="Punctual") }}"
+ >
+ Ponctuels
+ </a>
+ /
+ <span class="g-Payments__Frequency g-Payments__Frequency--Selected">
+ Mensuels
+ </span>
+ {% else %}
+ <span class="g-Payments__Frequency g-Payments__Frequency--Selected">
+ Ponctuels
+ </span>
+ /
+ <a
+ class="g-Payments__Frequency g-Link"
+ href="/{{ payments_params(frequency="Monthly") }}"
+ >
+ Mensuels
+ </a>
+ {% endif %}
+ </div>
+
+ {% if query.frequency != "Monthly" %}
+ <form action="/" method="GET" class="g-Payments__Search">
+ <input
+ type="search"
+ name="search"
+ class="g-Form__Input g-Payments__SearchInput"
+ value="{{ query.search }}"
+ />
+ <input type="submit" class="g-Button__Search" value="🔍">
+ </form>
+ {% endif %}
+ </div>
+
+ <a
+ class="g-Button__Validate g-Payments__New"
+ href="/payment{{ payments_params(
+ page=query.page,
+ search=query.search,
+ frequency=query.frequency
+ ) }}"
+ >
+ Nouveau
+ </a>
+ </div>
+
+ {% if not payments %}
+
+ <div class="g-Payments__NoResults">
+ Aucun paiement ne correspond à votre recherche.
+ </div>
+
+ {% else %}
+
+ <div class="g-Paragraph">
+ {{ count | numeric }} paiement{{ count | pluralize }} comptabilisant {{ total_cost | euros() }}.
+ </div>
+
+ <div class="g-Table">
+ <div class="g-Table__Row g-Table__Row--Header">
+ <span class="g-Table__Cell">Nom</span>
+ <span class="g-Table__Cell">Coût</span>
+ <span class="g-Table__Cell">Personne</span>
+ <span class="g-Media__Large g-Table__Cell">Catégorie</span>
+ {% if query.frequency != "Monthly" %}
+ <span class="g-Table__Cell">Date</span>
+ {% endif %}
+ </div>
+ {% for payment in payments %}
+ <a
+ class="g-Table__Row {% if query.highlight == payment.id %} g-Table__Row--Highlight {% endif %}"
+ href="/payment/{{ payment.id }}{{ payments_params(
+ page=query.page,
+ search=query.search,
+ frequency=query.frequency
+ ) }}"
+ >
+ <span class="g-Table__Cell">{{ payment.name }}</span>
+ <span class="
+ g-Table__Cell
+ g-Table__NumericCell
+ {% if payment.cost < 0 %} g-Payments__Refund {% endif %}
+ ">
+ {{ payment.cost | euros() }}
+ </span>
+ <span class="g-Table__Cell">{{ payment.user }}</span>
+ <span class="g-Table__Cell g-Media__Large">
+ <span style="color: {{ payment.category_color }}">
+ {{ payment.category_name }}
+ </span>
+ </span>
+ {% if query.frequency != "Monthly" %}
+ <span class="g-Table__Cell">
+ {{ payment.date }}
+ </span>
+ {% endif %}
+ </a>
+ {% endfor %}
+ </div>
+
+ {{ paging::paging(
+ url="/" ~ payments_params(
+ search=query.search,
+ frequency=query.frequency
+ ),
+ page=page,
+ max_page=max_page
+ ) }}
+
+ {% endif %}
+{% endblock main %}
diff --git a/templates/payment/update.html b/templates/payment/update.html
new file mode 100644
index 0000000..25e6915
--- /dev/null
+++ b/templates/payment/update.html
@@ -0,0 +1,144 @@
+{% extends "base.html" %}
+
+{% block title %}
+ Paiement {{ id }}
+{% endblock title %}
+
+{% block main %}
+
+ <div>
+ <p class="g-Paragraph">
+ <a
+ class="g-Link g-Media__Large"
+ href="/{{ payments_params(
+ page=query.page,
+ search=query.search,
+ frequency=query.frequency
+ ) }}"
+ >
+ Retour aux paiements
+ </a>
+ </p>
+
+ {% if error %}
+ <div class="g-Form__Error">{{ error }}</div>
+ {% endif %}
+
+ {% if not payment %}
+
+ Le paiement n’a pas été trouvé.
+
+ {% else %}
+
+ <form
+ class="g-Form"
+ action="/payment/{{ payment.id }}/update{{ payments_params(
+ page=query.page,
+ search=query.search,
+ frequency=query.frequency,
+ highlight=query.highlight
+ ) }}"
+ method="POST"
+ >
+ <h1 class="g-H1">Modification</h1>
+
+ <label class="g-Form__Label" for="name">Nom</label>
+ <input
+ name="name"
+ class="g-Form__Input"
+ id="name"
+ value="{{ form.name | default(value=payment.name) }}"
+ required
+ />
+
+ <label class="g-Form__Label" for="cost">Coût</label>
+ <input
+ name="cost"
+ type="number"
+ class="g-Form__Input"
+ id="cost"
+ value="{{ form.cost | default(value=payment.cost) }}"
+ required
+ />
+
+ {% set user_id = form.user_id | default(value="" ~ payment.user_id) %}
+
+ <label class="g-Form__Label" for="user_id">Personne</label>
+ <select name="user_id" id="user_id" class="g-Form__Select" required>
+ {% for user in users %}
+ <option
+ value="{{ user.id }}"
+ {% if "" ~ user.id == user_id %} selected {% endif %}
+ >
+ {{ user.name }}
+ </option>
+ {% endfor %}
+ </select>
+
+ {% set category_id = form.category_id | default(value="" ~ payment.category_id) %}
+
+ <label class="g-Form__Label" for="category_id">Catégorie</label>
+ <select name="category_id" id="category_id" class="g-Form__Select" required>
+ {% for category in categories %}
+ <option
+ value="{{ category.id }}"
+ style="color: {{ category.color }}"
+ {% if "" ~ category.id == category_id %} selected {% endif %}
+ >
+ {{ category.name }}
+ </option>
+ {% endfor %}
+ </select>
+
+ {% set date = form.date | default(value=payment.date) %}
+
+ {% if payment.frequency == "Punctual" %}
+ <label class="g-Form__Label" for="date">Date</label>
+ <input
+ name="date"
+ type="date"
+ class="g-Form__Input"
+ id="date"
+ value="{{ date }}"
+ required
+ />
+ {% else %}
+ <input
+ name="date"
+ type="hidden"
+ value="{{ date }}"
+ />
+ {% endif %}
+
+ <div>
+ <input class="g-Button__Validate" type="submit" value="Modifier" />
+ </div>
+ </form>
+
+ <form
+ class="g-Form"
+ action="/payment/{{ payment.id }}/delete{{ payments_params(
+ page=query.page,
+ search=query.search,
+ frequency=query.frequency,
+ highlight=query.highlight
+ ) }}"
+ method="POST"
+ >
+ <h1 class="g-H1">Suppression</h1>
+
+ <label class="g-Form__Label" for="remove-input">
+ Veuillez recopier le nom du paiement : « {{ payment.name }} ».
+ </label>
+
+ <input name="remove-input" class="g-Form__Input" id="remove-input" data-name="{{ payment.name }}" />
+
+ <div>
+ <input class="g-Button__Danger" type="submit" value="Supprimer" id="remove-button" disabled />
+ </div>
+ </form>
+
+ {% endif %}
+ </div>
+
+{% endblock main %}