diff --git a/backend/time_tracking/models.py b/backend/time_tracking/models.py index 577150e..139d063 100644 --- a/backend/time_tracking/models.py +++ b/backend/time_tracking/models.py @@ -1,9 +1,15 @@ -from django.db import models from django.conf import settings +from django.db import models from datetime import datetime + class TimeEntry(models.Model): - user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='time_entries') + user = models.ForeignKey( + settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + related_name='time_entries', + ) + date = models.DateField() start_time = models.TimeField(null=True, blank=True) end_time = models.TimeField(null=True, blank=True) diff --git a/backend/time_tracking/views.py b/backend/time_tracking/views.py index 3c6cb65..e265b18 100644 --- a/backend/time_tracking/views.py +++ b/backend/time_tracking/views.py @@ -21,6 +21,8 @@ class DebugDatabaseView(APIView): def get(self, request): with connection.cursor() as cursor: + + # Vérifie vers quelle table la FK de TimeEntry pointe réellement cursor.execute(""" SELECT CONSTRAINT_NAME, @@ -44,10 +46,57 @@ class DebugDatabaseView(APIView): for row in cursor.fetchall() ] + # Liste des utilisateurs du modèle users.User + cursor.execute(""" + SELECT + id, + username, + first_name, + last_name + FROM users_user + ORDER BY id + """) + + users = [ + { + 'id': row[0], + 'username': row[1], + 'first_name': row[2], + 'last_name': row[3], + } + for row in cursor.fetchall() + ] + + # Derniers pointages existants + cursor.execute(""" + SELECT + id, + user_id, + date, + start_time, + end_time + FROM time_tracking_timeentry + ORDER BY id DESC + LIMIT 20 + """) + + entries = [ + { + 'id': row[0], + 'user_id': row[1], + 'date': str(row[2]), + 'start_time': str(row[3]) if row[3] else None, + 'end_time': str(row[4]) if row[4] else None, + } + for row in cursor.fetchall() + ] + return Response({ 'database': connection.settings_dict.get('NAME'), - 'user_model': str(settings.AUTH_USER_MODEL), + 'user_model': settings.AUTH_USER_MODEL, 'foreign_keys': foreign_keys, + 'users': users, + 'entries': entries, }) class TimeEntryListView(generics.ListAPIView):