diff --git a/README.md b/README.md index 66300cf3d1733a1db1dc240dc969784b692e3129..41d681e52714815a2fc5a0052f6a602dc8d6de64 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,7 @@ $ conda activate oser-back ```bash $ pip install -r requirements.txt ``` +Créez un fichier `.env` dans le dossier, et y mettre `DATABASE_URL=postgres://postgres:mdp@127.0.0.1:5432/oser_backend_db` en replaçant `mdp` par le mot de passe choisi en installant postgresql. - Configurez la base de données en exécutant les migrations (rappelez-vous : _le serveur PostgreSQL doit être actif_) : @@ -76,8 +77,6 @@ $ python manage.py migrate ``` (En cas d'erreur, les logs du serveur PostgreSQL sont disponibles dans : %PROGRAMFILES%\PostgreSQL\POSTGRESQL_VERSION_NUM\data\log) -Créez un fichier `.env` dans le dossier, et y mettre `DATABASE_URL=postgres://postgres:mdp@127.0.0.1:5432/oser_backend_db` en replaçant `mdp` par le mot de passe choisi en installant postgresql. - Il ne vous reste plus qu'à lancer le serveur de développement : ```bash diff --git a/projects/admin.py b/projects/admin.py index 73920dfc3baa9f3c149df39c01b91d847786fef6..cbac65e30ce2d43c7965480269b872f43b3d00ba 100644 --- a/projects/admin.py +++ b/projects/admin.py @@ -13,6 +13,7 @@ from users.models import User import codecs + @admin.register(Project) class ProjectAdmin(admin.ModelAdmin): """Admin panel for projects.""" diff --git a/visits/admin.py b/visits/admin.py index a75522de07ffa572a3eff15f7851903400ed4371..301463b425a59dbb2ffe916828aa1dc1ccd4dd89 100644 --- a/visits/admin.py +++ b/visits/admin.py @@ -63,6 +63,7 @@ class RegistrationsOpenFilter(admin.SimpleListFilter): class VisitForm(forms.ModelForm): """Custom admin form for Visit.""" + class Meta: # noqa model = Visit fields = '__all__' @@ -106,18 +107,17 @@ class ParticipationInline(admin.TabularInline): def school(self, participation: Participation): """Return a link to the participation's user's school.""" - school = Student.objects.get(user=participation.user).school + school = Student.objects.get(user = participation.user).school return school school.short_description = "Établissement" - + def name(self, participation: Participation): """Returns the participation's user's name""" return participation.user.first_name + " " + participation.user.last_name name.short_description = "Nom" class Media: - css = {"all": ("css/hide_admin_original.css",)} - + css = { "all" : ("css/hide_admin_original.css",) } def accept_selected_participations(modeladmin, request, queryset): """Accept selected participations in list view.""" @@ -182,6 +182,7 @@ class ParticipationAdmin(admin.ModelAdmin): response.write(codecs.BOM_UTF8) # force response to be UTF-8 writer = csv.writer(response, delimiter=';') + writer.writerow(['first_name', 'last_name', 'school', 'grade', 'phone_number', 'scholarship'] + field_names) @@ -192,10 +193,11 @@ class ParticipationAdmin(admin.ModelAdmin): name = User.objects.filter( email=str(list_email[nb_user])).values('first_name', 'last_name', 'phone_number') school = Student.objects.filter( - user__email=str(list_email[nb_user])).values('school', 'grade', 'scholarship') + user__email=str(list_email[nb_user])).values('school', 'scholarship') + + row = writer.writerow([name[0]['first_name'], name[0]['last_name'], school[0]['school'], name[0]['phone_number'], school[0]['scholarship']] + [getattr(obj, field) + for field in field_names]) - row = writer.writerow([name[0]['first_name'], name[0]['last_name'], school[0]['school'], school[0]['grade'], name[0]['phone_number'], school[0]['scholarship']] + [getattr(obj, field) - for field in field_names]) nb_user += 1 return response