Added tags
This commit is contained in:
parent
86b1d8d61b
commit
a073bdb142
@ -1,5 +1,5 @@
|
||||
from django import forms
|
||||
from .models import Expense, Category
|
||||
from .models import Expense, Category, Tag
|
||||
|
||||
class ExpenseForm(forms.ModelForm):
|
||||
|
||||
@ -11,6 +11,7 @@ class ExpenseForm(forms.ModelForm):
|
||||
|
||||
if user:
|
||||
self.fields['category'].queryset = Category.objects.filter(owner=user)
|
||||
self.fields['tags'].queryset = Tag.objects.filter(owner=user)
|
||||
|
||||
class Meta:
|
||||
model = Expense
|
||||
|
||||
@ -65,6 +65,7 @@
|
||||
<th>Fecha</th>
|
||||
<th>Categoría</th>
|
||||
<th>Importe</th>
|
||||
<th>Etiquetas</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -74,6 +75,13 @@
|
||||
<td>{{ expense.date }}</td>
|
||||
<td>{{ expense.category.name }}</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>
|
||||
<a href="{% url 'expense_edit' expense.id %}">Editar</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