mirror of https://gitlab.crans.org/bde/nk20
Create view for transaction
This commit is contained in:
parent
7bafbeb93a
commit
51ad354e0b
|
@ -8,8 +8,7 @@ from polymorphic.admin import PolymorphicChildModelAdmin, \
|
|||
PolymorphicChildModelFilter, PolymorphicParentModelAdmin
|
||||
|
||||
from .models.notes import Alias, Note, NoteClub, NoteSpecial, NoteUser
|
||||
from .models.transactions import MembershipTransaction, Transaction, \
|
||||
TransactionTemplate
|
||||
from .models.transactions import Transaction, TransactionTemplate
|
||||
|
||||
|
||||
class AliasInlines(admin.TabularInline):
|
||||
|
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-07-17 13:32+0200\n"
|
||||
"POT-Creation-Date: 2019-07-17 13:48+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: admin.py:113 models/transactions.py:46
|
||||
#: admin.py:112 models/transactions.py:46
|
||||
msgid "source"
|
||||
msgstr "source"
|
||||
|
||||
#: admin.py:121 admin.py:139 models/transactions.py:25
|
||||
#: admin.py:120 admin.py:138 models/transactions.py:25
|
||||
#: models/transactions.py:52
|
||||
msgid "destination"
|
||||
msgstr "destination"
|
||||
|
@ -136,33 +136,37 @@ msgid "quantity"
|
|||
msgstr "quantité"
|
||||
|
||||
#: models/transactions.py:69
|
||||
msgid "description"
|
||||
msgstr "description"
|
||||
msgid "reason"
|
||||
msgstr "raison"
|
||||
|
||||
#: models/transactions.py:72
|
||||
#: models/transactions.py:73
|
||||
msgid "valid"
|
||||
msgstr "valide"
|
||||
|
||||
#: models/transactions.py:76
|
||||
#: models/transactions.py:77
|
||||
msgid "transaction"
|
||||
msgstr "transaction"
|
||||
|
||||
#: models/transactions.py:77
|
||||
#: models/transactions.py:78
|
||||
msgid "transactions"
|
||||
msgstr "transactions"
|
||||
|
||||
#: models/transactions.py:88
|
||||
#: models/transactions.py:89
|
||||
msgid "membership transaction"
|
||||
msgstr "transaction d'adhésion"
|
||||
|
||||
#: models/transactions.py:89
|
||||
#: models/transactions.py:90
|
||||
msgid "membership transactions"
|
||||
msgstr "transactions d'adhésion"
|
||||
|
||||
#: templates/note/transfer.html:7
|
||||
#: templates/note/transaction_form.html:10
|
||||
msgid "Home"
|
||||
msgstr "Accueil"
|
||||
|
||||
#: views.py:21
|
||||
#: templates/note/transaction_form.html:53
|
||||
msgid "Transfer"
|
||||
msgstr "Virement"
|
||||
|
||||
#: views.py:26
|
||||
msgid "Transfer money from your account to one or others"
|
||||
msgstr "Transfert d'argent de ton compte vers un ou plusieurs autres"
|
||||
|
|
|
@ -65,8 +65,9 @@ class Transaction(models.Model):
|
|||
verbose_name=_('type'),
|
||||
max_length=31,
|
||||
)
|
||||
description = models.TextField(
|
||||
verbose_name=_('description'),
|
||||
reason = models.CharField(
|
||||
verbose_name=_('reason'),
|
||||
max_length=255,
|
||||
)
|
||||
valid = models.NullBooleanField(
|
||||
verbose_name=_('valid'),
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
{% extends "admin/base_site.html" %}
|
||||
{% comment %}
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
{% endcomment %}
|
||||
|
||||
{% load i18n static %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
<div class="breadcrumbs">
|
||||
<a href="{% url 'index' %}">{% trans 'Home' %}</a>
|
||||
{% if title %} › {{ title }}{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block extrahead %}{{ block.super }}
|
||||
{# Load Django Admin datetime widget #}
|
||||
<script type="text/javascript" src="{% url 'admin:jsi18n' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'admin/js/core.js' %}"></script>
|
||||
{{ form.media }}
|
||||
{% endblock %}
|
||||
|
||||
{% block extrastyle %}{{ block.super }}
|
||||
<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<form method="post" onsubmit="window.onbeforeunload=null">{% csrf_token %}
|
||||
{% if form.non_field_errors %}
|
||||
<p class="errornote">
|
||||
{% for error in form.non_field_errors %}
|
||||
{{ error }}
|
||||
{% endfor %}
|
||||
</p>
|
||||
{% endif %}
|
||||
<fieldset class="module aligned">
|
||||
{% for field in form %}
|
||||
<div class="form-row{% if field.errors %} errors{% endif %}">
|
||||
{{ field.errors }}
|
||||
<div>
|
||||
{{ field.label_tag }}
|
||||
{% if field.is_readonly %}
|
||||
<div class="readonly">{{ field.contents }}</div>
|
||||
{% else %}
|
||||
{{ field }}
|
||||
{% endif %}
|
||||
{% if field.field.help_text %}
|
||||
<div class="help">{{ field.field.help_text|safe }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</fieldset>
|
||||
<input type="submit" value="{% trans 'Transfer' %}">
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -1,10 +0,0 @@
|
|||
{% extends "admin/base_site.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
<div class="breadcrumbs">
|
||||
<a href="{% url 'index' %}">{% trans 'Home' %}</a>
|
||||
{% if title %} › {{ title }}{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -8,5 +8,5 @@ from . import views
|
|||
|
||||
app_name = 'note'
|
||||
urlpatterns = [
|
||||
path('transfer/', views.transfer, name='transfer'),
|
||||
path('transfer/', views.TransactionCreate.as_view(), name='transfer'),
|
||||
]
|
||||
|
|
|
@ -2,22 +2,27 @@
|
|||
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.shortcuts import render
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.views.generic.edit import CreateView
|
||||
|
||||
from .models import Transaction
|
||||
|
||||
|
||||
@login_required
|
||||
def transfer(request):
|
||||
class TransactionCreate(LoginRequiredMixin, CreateView):
|
||||
"""
|
||||
Show transfer page
|
||||
|
||||
TODO: If user have sufficient rights, they can transfer from an other note
|
||||
"""
|
||||
return render(
|
||||
request,
|
||||
'note/transfer.html',
|
||||
{
|
||||
'title': _('Transfer money from your account to one or others')
|
||||
}
|
||||
)
|
||||
model = Transaction
|
||||
fields = ('destination', 'amount', 'reason')
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
"""
|
||||
Add some context variables in template such as page title
|
||||
"""
|
||||
context = super().get_context_data(**kwargs)
|
||||
context['title'] = _('Transfer money from your account '
|
||||
'to one or others')
|
||||
return context
|
||||
|
|
|
@ -9,3 +9,8 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
|||
<a href="{% url 'index' %}">{% trans 'Home' %}</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<p>{% trans "Thanks for spending some quality time with the Web site today." %}</p>
|
||||
<p><a href="{% url 'index' %}">{% trans 'Log in again' %}</a></p>
|
||||
{% endblock %}
|
|
@ -0,0 +1,8 @@
|
|||
{% extends "admin/login.html" %}
|
||||
{% comment %}
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
{% endcomment %}
|
||||
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans "Log in" %}{% endblock %}
|
Loading…
Reference in New Issue