|
2 | 2 | from django.contrib.auth import get_user_model
|
3 | 3 | from datetime import timedelta
|
4 | 4 | from django.utils import timezone
|
| 5 | +from django.db.models import Q |
5 | 6 |
|
6 | 7 | User = get_user_model()
|
7 | 8 |
|
@@ -64,15 +65,22 @@ def toggle_debt_payment(debt_id):
|
64 | 65 | raise ValueError("Debt not found")
|
65 | 66 |
|
66 | 67 |
|
67 |
| -def get_unpaid_debts_by_week(user_id): |
| 68 | +def get_unpaid_debts_by_week(user_id, piggy_id): |
68 | 69 | now = timezone.now()
|
69 | 70 | start_of_week = (now - timedelta(days=now.weekday())).replace(hour=0, minute=0, second=0, microsecond=0)
|
70 | 71 | start_of_last_week = start_of_week - timedelta(weeks=1)
|
71 | 72 |
|
72 |
| - present_week_debts = Debt.objects.filter(user__user_id=user_id, is_paid=False, created_at__gte=start_of_week) |
| 73 | + present_week_debts = Debt.objects.filter( |
| 74 | + (Q(user__user_id=user_id) | Q(user__user_id=piggy_id)), is_paid=False, created_at__gte=start_of_week |
| 75 | + ) |
73 | 76 | last_week_debts = Debt.objects.filter(
|
74 |
| - user__user_id=user_id, is_paid=False, created_at__gte=start_of_last_week, created_at__lt=start_of_week |
| 77 | + (Q(user__user_id=user_id) | Q(user__user_id=piggy_id)), |
| 78 | + is_paid=False, |
| 79 | + created_at__gte=start_of_last_week, |
| 80 | + created_at__lt=start_of_week, |
| 81 | + ) |
| 82 | + previous_debts = Debt.objects.filter( |
| 83 | + (Q(user__user_id=user_id) | Q(user__user_id=piggy_id)), is_paid=False, created_at__lt=start_of_last_week |
75 | 84 | )
|
76 |
| - previous_debts = Debt.objects.filter(user__user_id=user_id, is_paid=False, created_at__lt=start_of_last_week) |
77 | 85 |
|
78 | 86 | return present_week_debts, last_week_debts, previous_debts
|
0 commit comments