Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions main_app/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from django.urls import reverse
from django import forms
from django.contrib.auth.models import User
from django.db.models import F



Expand Down Expand Up @@ -55,6 +56,11 @@ def __str__(self):

def get_absolute_url(self):
return reverse('kids_detail', kwargs={'kid_id': self.id})

# func for piggy bank increase
def add_to_balance(self, amt):
self.current_balance += amt
self.save()


class Photo(models.Model):
Expand Down
6 changes: 5 additions & 1 deletion main_app/templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,11 @@
</div>
</nav>
</header>
<main class="container">

<main class="container">

{% include 'messages.html' %}

{% block content %}
{% endblock %}
</main>
Expand Down
14 changes: 13 additions & 1 deletion main_app/templates/kids/detail.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{% extends 'base.html' %}
{% block content %}


<div class="row">

<div class="col s7">
Expand Down Expand Up @@ -75,13 +76,22 @@ <h3>{{ kid.name }}'s Chores</h3>
<div class="card" style="border-radius: 20px; background-color: #E9E7F0; ">
<div class="card-content">
<span class="card-title">

<span>

{{ chore.name }} for

{{ chore.amount }} dollars

</span>

</span>
<div class="card-action">
<form action="{% url 'delete_chore' kid.id chore.id chore.amount %}" method="POST">
{% csrf_token %}
<button type="submit" class="btn red">Confirm Done</button>

</form>
</div>
</div>
</div>

Expand Down Expand Up @@ -126,9 +136,11 @@ <h3 style="color:#007252">Available Chores</h3>
<div class="card-content">
<span class="card-title" style="font-size: 20px;">
{{ chore.name }}<br>


{{ chore.description }}<br><br>
{{ chore.amount }}$

</span>

<form action="{% url 'assoc_chore' kid.id chore.id %}" method="POST">
Expand Down
10 changes: 10 additions & 0 deletions main_app/templates/messages.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@


{% if messages %}
<ul class="messages">
{% for message in messages %}
<li {% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}

1 change: 1 addition & 0 deletions main_app/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
path('parents/<int:parent_id>/add_kid/', views.add_kid, name='add_kid'),

path('kids/<int:kid_id>/assoc_chore/<int:chore_id>/', views.assoc_chore, name='assoc_chore'),
path('kids/<int:kid_id>/unassoc_chore/<int:chore_id>/<int:chore_amount>/', views.delete_chore, name='delete_chore'),
# add photo
path('kids/<int:kid_id>/add_photo/', views.add_photo, name='add_photo'),

Expand Down
20 changes: 19 additions & 1 deletion main_app/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.decorators import login_required
from django.contrib.auth.mixins import LoginRequiredMixin
from django.contrib import messages

import uuid
import boto3
Expand Down Expand Up @@ -70,7 +71,13 @@ def kids_detail(request, kid_id):

chores_kid_hasnt_done = Chore.objects.exclude(id__in=id_list)

return render(request, 'kids/detail.html', { 'kid': kid, 'chores': chores_kid_hasnt_done })
# updated_balance = Kid.objects.get(id=kid_id).add_to_balance()

return render(request, 'kids/detail.html', {
'kid': kid,
'chores': chores_kid_hasnt_done,
# 'current_balance': updated_balance
})

@login_required
def assoc_chore(request, kid_id, chore_id):
Expand All @@ -79,6 +86,15 @@ def assoc_chore(request, kid_id, chore_id):
return redirect('kids_detail', kid_id=kid_id)


@login_required
def delete_chore(request, kid_id, chore_id, chore_amount):
# Note that you can pass a toy's id instead of the whole toy object
Kid.objects.get(id=kid_id).chores.remove(chore_id)
Kid.objects.get(id=kid_id).add_to_balance(chore_amount)
return redirect('kids_detail', kid_id=kid_id)
messages.success(request, "SUCCESS YES")


# Add the chores index view
@login_required
def chores_index(request):
Expand Down Expand Up @@ -158,6 +174,7 @@ class ChoreUpdate(LoginRequiredMixin, UpdateView):
class ChoreDelete(LoginRequiredMixin, DeleteView):
model = Chore
success_url = '/chores'
# messages.success("SUCCESS YES")

@login_required
def add_photo(request, kid_id):
Expand All @@ -175,6 +192,7 @@ def add_photo(request, kid_id):
return redirect('kids_detail', kid_id=kid_id)
return redirect('kids_detail', kid_id=kid_id)


def signup(request):
error_message = ''
if request.method == 'POST':
Expand Down