Skip to content
Snippets Groups Projects
Commit 9199de7c authored by Bidot-Naude Thomas's avatar Bidot-Naude Thomas
Browse files

Erreurs dans visits/admin résolus

parent f99adb83
Branches
No related tags found
5 merge requests!39Solve public permission files on AWS,!41Rectification Exportation excel sorties,!37Add context_sheet for visits,!38Add context sheet for visits V4,!35Notifications for Sec-Gen
...@@ -7,6 +7,8 @@ import codecs ...@@ -7,6 +7,8 @@ import codecs
import csv import csv
from django.http import HttpResponse from django.http import HttpResponse
class ExportCsvMixin: class ExportCsvMixin:
def export_as_csv(self, request, queryset): def export_as_csv(self, request, queryset):
...@@ -14,13 +16,15 @@ class ExportCsvMixin: ...@@ -14,13 +16,15 @@ class ExportCsvMixin:
field_names = [field.name for field in meta.fields] field_names = [field.name for field in meta.fields]
response = HttpResponse(content_type='text/csv') response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename={}.csv'.format(meta) response['Content-Disposition'] = 'attachment; filename={}.csv'.format(
meta)
response.write(codecs.BOM_UTF8) # force response to be UTF-8 response.write(codecs.BOM_UTF8) # force response to be UTF-8
writer = csv.writer(response, delimiter=';') writer = csv.writer(response, delimiter=';')
writer.writerow(field_names) writer.writerow(field_names)
for obj in queryset: for obj in queryset:
row = writer.writerow([getattr(obj, field) for field in field_names]) row = writer.writerow([getattr(obj, field)
for field in field_names])
return response return response
...@@ -33,6 +37,7 @@ class ProfileAdminMixin: ...@@ -33,6 +37,7 @@ class ProfileAdminMixin:
search_fields = ('user__email', 'user__first_name', 'user__last_name',) search_fields = ('user__email', 'user__first_name', 'user__last_name',)
actions = ["export_as_csv"] actions = ["export_as_csv"]
@admin.register(Tutor) @admin.register(Tutor)
class TutorAdmin(ProfileAdminMixin, admin.ModelAdmin, ExportCsvMixin): class TutorAdmin(ProfileAdminMixin, admin.ModelAdmin, ExportCsvMixin):
"""Tutor admin panel.""" """Tutor admin panel."""
...@@ -47,7 +52,9 @@ class TutorAdmin(ProfileAdminMixin, admin.ModelAdmin,ExportCsvMixin): ...@@ -47,7 +52,9 @@ class TutorAdmin(ProfileAdminMixin, admin.ModelAdmin,ExportCsvMixin):
@admin.register(Student) @admin.register(Student)
class StudentAdmin(ProfileAdminMixin, admin.ModelAdmin, ExportCsvMixin): class StudentAdmin(ProfileAdminMixin, admin.ModelAdmin, ExportCsvMixin):
"""Student admin panel.""" """Student admin panel."""
list_filter = (('school',MultiSelectFieldListFilter), 'year', 'registration__validated') list_filter = (('school', MultiSelectFieldListFilter),
'year', 'registration__validated')
class Meta: # noqa class Meta: # noqa
model = Student model = Student
ordering = ['updated_date'] ordering = ['updated_date']
......
...@@ -80,7 +80,6 @@ class Student(ProfileMixin, models.Model): ...@@ -80,7 +80,6 @@ class Student(ProfileMixin, models.Model):
verbose_name="code postal", verbose_name="code postal",
) )
gender = models.CharField(max_length=20, gender = models.CharField(max_length=20,
null=True, null=True,
blank=True, blank=True,
...@@ -123,49 +122,42 @@ class Student(ProfileMixin, models.Model): ...@@ -123,49 +122,42 @@ class Student(ProfileMixin, models.Model):
verbose_name="adresse mail parentale" verbose_name="adresse mail parentale"
) )
school = models.CharField(max_length=70, school = models.CharField(max_length=70,
null=True, null=True,
blank=True, blank=True,
verbose_name="établissement" verbose_name="établissement"
) )
grade = models.CharField(max_length=20, grade = models.CharField(max_length=20,
null=True, null=True,
blank=True, blank=True,
verbose_name="niveau de la classe" verbose_name="niveau de la classe"
) )
scholarship = models.CharField(max_length=50, scholarship = models.CharField(max_length=50,
null=True, null=True,
blank=True, blank=True,
verbose_name="boursier" verbose_name="boursier"
) )
fatherActivity = models.CharField(max_length=70, fatherActivity = models.CharField(max_length=70,
null=True, null=True,
blank=True, blank=True,
verbose_name="métier du père" verbose_name="métier du père"
) )
motherActivity = models.CharField(max_length=70, motherActivity = models.CharField(max_length=70,
null=True, null=True,
blank=True, blank=True,
verbose_name="métier de la mère" verbose_name="métier de la mère"
) )
parentsStatus = models.CharField(max_length=70, parentsStatus = models.CharField(max_length=70,
null=True, null=True,
blank=True, blank=True,
verbose_name="statut des parents" verbose_name="statut des parents"
) )
dependantsNumber = models.IntegerField( dependantsNumber = models.IntegerField(
null=True, null=True,
blank=True, blank=True,
...@@ -194,7 +186,8 @@ class Student(ProfileMixin, models.Model): ...@@ -194,7 +186,8 @@ class Student(ProfileMixin, models.Model):
else: else:
self.year = f"{date_now.year-1}/{date_now.year}" self.year = f"{date_now.year-1}/{date_now.year}"
SendDocs(user=self.user).send() # send email with link to registration docs # send email with link to registration docs
SendDocs(user=self.user).send()
return super(Student, self).save(*args, **kwargs) return super(Student, self).save(*args, **kwargs)
......
...@@ -202,12 +202,6 @@ class ParticipationAdmin(admin.ModelAdmin): ...@@ -202,12 +202,6 @@ class ParticipationAdmin(admin.ModelAdmin):
export_as_csv.short_description = "Exporter sélection (en .csv)" export_as_csv.short_description = "Exporter sélection (en .csv)"
<< << << < HEAD
== == == =
>>>>>> > f3728719809bca5d0418070e56327751d8f7a3aa
@ admin.register(Visit.organizers.through) @ admin.register(Visit.organizers.through)
class VisitOrganizersAdmin(admin.ModelAdmin): class VisitOrganizersAdmin(admin.ModelAdmin):
"""Admin panel for visit organizers.""" """Admin panel for visit organizers."""
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment