Added tags
This commit is contained in:
parent
86b1d8d61b
commit
a073bdb142
@ -1,5 +1,5 @@
|
|||||||
from django import forms
|
from django import forms
|
||||||
from .models import Expense, Category
|
from .models import Expense, Category, Tag
|
||||||
|
|
||||||
class ExpenseForm(forms.ModelForm):
|
class ExpenseForm(forms.ModelForm):
|
||||||
|
|
||||||
@ -11,6 +11,7 @@ class ExpenseForm(forms.ModelForm):
|
|||||||
|
|
||||||
if user:
|
if user:
|
||||||
self.fields['category'].queryset = Category.objects.filter(owner=user)
|
self.fields['category'].queryset = Category.objects.filter(owner=user)
|
||||||
|
self.fields['tags'].queryset = Tag.objects.filter(owner=user)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Expense
|
model = Expense
|
||||||
|
|||||||
@ -65,6 +65,7 @@
|
|||||||
<th>Fecha</th>
|
<th>Fecha</th>
|
||||||
<th>Categoría</th>
|
<th>Categoría</th>
|
||||||
<th>Importe</th>
|
<th>Importe</th>
|
||||||
|
<th>Etiquetas</th>
|
||||||
<th></th>
|
<th></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@ -74,6 +75,13 @@
|
|||||||
<td>{{ expense.date }}</td>
|
<td>{{ expense.date }}</td>
|
||||||
<td>{{ expense.category.name }}</td>
|
<td>{{ expense.category.name }}</td>
|
||||||
<td>{{ expense.amount }}</td>
|
<td>{{ expense.amount }}</td>
|
||||||
|
<td>
|
||||||
|
{% for tag in expenses.tags.all %}
|
||||||
|
<span>{{ tag.name }}</span>{% if not forloop.last %}, {% endif %}
|
||||||
|
{% empty %}
|
||||||
|
-
|
||||||
|
{% endfor %}
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="{% url 'expense_edit' expense.id %}">Editar</a>
|
<a href="{% url 'expense_edit' expense.id %}">Editar</a>
|
||||||
<a href="{% url 'expense_delete' expense.id %}">Eliminar</a>
|
<a href="{% url 'expense_delete' expense.id %}">Eliminar</a>
|
||||||
|
|||||||
25
expenses_manager/expenses/tests/test_expenses.py
Normal file
25
expenses_manager/expenses/tests/test_expenses.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import pytest
|
||||||
|
from datetime import date
|
||||||
|
from decimal import Decimal
|
||||||
|
from django.urls import reverse
|
||||||
|
from expenses.models import Expense, Category, Tag
|
||||||
|
|
||||||
|
pytestmark = pytest.mark.django_db
|
||||||
|
|
||||||
|
def test_expense_can_have_tags(client, django_user_model):
|
||||||
|
user = django_user_model.objects.create_user(username='test', password='1234')
|
||||||
|
client.login(username='test', password='1234')
|
||||||
|
|
||||||
|
tag = Tag.objects.create(name='Food', owner=user)
|
||||||
|
category = Category.objects.create(name='General', owner=user)
|
||||||
|
|
||||||
|
expense = Expense.objects.create(
|
||||||
|
owner=user,
|
||||||
|
category=category,
|
||||||
|
amount=10,
|
||||||
|
date=date.today(),
|
||||||
|
)
|
||||||
|
expense.tags.add(tag)
|
||||||
|
|
||||||
|
assert expense.tags.count() == 1
|
||||||
|
assert tag in expense.tags.all()
|
||||||
Loading…
Reference in New Issue
Block a user