diff --git a/expenses_manager/expenses/forms.py b/expenses_manager/expenses/forms.py index f711f7f..c2e1b41 100644 --- a/expenses_manager/expenses/forms.py +++ b/expenses_manager/expenses/forms.py @@ -90,7 +90,7 @@ class CategoryForm(forms.ModelForm): class GoalForm(forms.ModelForm): class Meta: model = Goal - fields = ['name', 'target_amount', 'category'] + fields = ['name', 'target_amount', 'category', "show_on_home"] def __init__(self, *args, **kwargs): user = kwargs.pop('user') diff --git a/expenses_manager/expenses/migrations/0009_goal_show_on_home.py b/expenses_manager/expenses/migrations/0009_goal_show_on_home.py new file mode 100644 index 0000000..0d0d1af --- /dev/null +++ b/expenses_manager/expenses/migrations/0009_goal_show_on_home.py @@ -0,0 +1,18 @@ +# Generated by Django 5.2.10 on 2026-05-05 13:26 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('expenses', '0008_goal'), + ] + + operations = [ + migrations.AddField( + model_name='goal', + name='show_on_home', + field=models.BooleanField(default=False), + ), + ] diff --git a/expenses_manager/expenses/models.py b/expenses_manager/expenses/models.py index 0c87a95..4a8202d 100644 --- a/expenses_manager/expenses/models.py +++ b/expenses_manager/expenses/models.py @@ -248,6 +248,7 @@ class Goal(models.Model): target_amount = models.DecimalField(max_digits=12, decimal_places=2) category = models.ForeignKey("Category", on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now_add=True) + show_on_home = models.BooleanField(default=False) def progress(self): """ diff --git a/expenses_manager/expenses/static/expenses/css/base.css b/expenses_manager/expenses/static/expenses/css/base.css index d493ab3..8a017ef 100644 --- a/expenses_manager/expenses/static/expenses/css/base.css +++ b/expenses_manager/expenses/static/expenses/css/base.css @@ -390,4 +390,16 @@ tbody tr:hover { .progress-fill.high { background: #2ecc71; +} + +.goals-widget { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: 12px; +} + +.goal-card { + padding: 10px; + border-radius: 8px; + background: #f9f9f9; } \ No newline at end of file diff --git a/expenses_manager/expenses/templates/expenses/dashboard.html b/expenses_manager/expenses/templates/expenses/dashboard.html index 3e65de1..35cb59a 100644 --- a/expenses_manager/expenses/templates/expenses/dashboard.html +++ b/expenses_manager/expenses/templates/expenses/dashboard.html @@ -1,5 +1,7 @@ {% extends "expenses/base.html" %} +{% load l10n %} + {% block title %}Dashboard{% endblock %} {% block content %} @@ -214,6 +216,39 @@ {% endif %} + + + + +
No hay objetivos.
+ {% endif %} + + + +