Skip to content
Snippets Groups Projects
Commit 1bd94fc4 authored by me5na7qbjqbrp's avatar me5na7qbjqbrp
Browse files

Use TableView for conso page

parent 456d192b
No related branches found
No related tags found
No related merge requests found
...@@ -6,7 +6,7 @@ from django import forms ...@@ -6,7 +6,7 @@ from django import forms
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from .models import Alias from .models import Alias
from .models import Transaction, TransactionTemplate, TemplateTransaction from .models import Transaction, TransactionTemplate
class AliasForm(forms.ModelForm): class AliasForm(forms.ModelForm):
...@@ -99,33 +99,3 @@ class TransactionForm(forms.ModelForm): ...@@ -99,33 +99,3 @@ class TransactionForm(forms.ModelForm):
}, },
), ),
} }
class ConsoForm(forms.ModelForm):
def save(self, commit=True):
button: TransactionTemplate = TransactionTemplate.objects.filter(
name=self.data['button']).get()
self.instance.destination = button.destination
self.instance.amount = button.amount
self.instance.reason = '{} ({})'.format(button.name, button.category)
self.instance.template = button
self.instance.category = button.category
super().save(commit)
class Meta:
model = TemplateTransaction
fields = ('source',)
# Le champ d'utilisateur est remplacé par un champ d'auto-complétion.
# Quand des lettres sont tapées, une requête est envoyée sur l'API d'auto-complétion
# et récupère les aliases de note valides
widgets = {
'source':
autocomplete.ModelSelect2(
url='note:note_autocomplete',
attrs={
'data-placeholder': 'Note ...',
'data-minimum-input-length': 1,
},
),
}
...@@ -6,7 +6,7 @@ from django.db.models import F ...@@ -6,7 +6,7 @@ from django.db.models import F
from django_tables2.utils import A from django_tables2.utils import A
from .models.notes import Alias from .models.notes import Alias
from .models.transactions import Transaction, TransactionTemplate from .models.transactions import Transaction
from .templatetags.pretty_money import pretty_money from .templatetags.pretty_money import pretty_money
......
...@@ -7,9 +7,11 @@ from django.db.models import Q ...@@ -7,9 +7,11 @@ from django.db.models import Q
from django.urls import reverse from django.urls import reverse
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from django.views.generic import CreateView, ListView, UpdateView from django.views.generic import CreateView, ListView, UpdateView
from django_tables2 import SingleTableView
from .forms import TransactionForm, TransactionTemplateForm, ConsoForm from .forms import TransactionForm, TransactionTemplateForm
from .models import Transaction, TransactionTemplate, Alias, TemplateTransaction from .models import Transaction, TransactionTemplate, Alias
from .tables import HistoryTable
class TransactionCreate(LoginRequiredMixin, CreateView): class TransactionCreate(LoginRequiredMixin, CreateView):
...@@ -121,13 +123,16 @@ class TransactionTemplateUpdateView(LoginRequiredMixin, UpdateView): ...@@ -121,13 +123,16 @@ class TransactionTemplateUpdateView(LoginRequiredMixin, UpdateView):
form_class = TransactionTemplateForm form_class = TransactionTemplateForm
class ConsoView(LoginRequiredMixin, CreateView): class ConsoView(LoginRequiredMixin, SingleTableView):
""" """
Consume Consume
""" """
model = TemplateTransaction model = Transaction
template_name = "note/conso_form.html" template_name = "note/conso_form.html"
form_class = ConsoForm
# Transaction history table
table_class = HistoryTable
table_pagination = {"per_page": 10}
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
""" """
...@@ -142,9 +147,3 @@ class ConsoView(LoginRequiredMixin, CreateView): ...@@ -142,9 +147,3 @@ class ConsoView(LoginRequiredMixin, CreateView):
context['no_cache'] = True context['no_cache'] = True
return context return context
def get_success_url(self):
"""
When clicking a button, reload the same page
"""
return reverse('note:consos')
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n static pretty_money %} {% load i18n static pretty_money django_tables2 %}
{# Remove page title #} {# Remove page title #}
{% block contenttitle %}{% endblock %} {% block contenttitle %}{% endblock %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment