From e7c9e75d8c486bfcbe8d243c50cebdb2a553bbe7 Mon Sep 17 00:00:00 2001 From: Trullemans Gregory Date: Thu, 18 Nov 2021 21:36:15 +0100 Subject: [PATCH] Adding points, accidents and minor bugs fixes --- Ultron/urls.py | 3 +- followup/admin.py | 14 ++- followup/forms.py | 43 ++++++- followup/migrations/0001_initial.py | 67 ---------- followup/migrations/0002_point.py | 31 ----- followup/migrations/__init__.py | 0 followup/models.py | 32 +++++ followup/urls.py | 13 ++ followup/views.py | 94 +++++++++++--- location/migrations/0001_initial.py | 63 ---------- .../migrations/0002_auto_20211116_0942.py | 22 ---- location/migrations/__init__.py | 0 people/admin.py | 18 +-- people/migrations/0001_initial.py | 48 ------- people/migrations/0002_auto_20211116_1144.py | 24 ---- people/migrations/__init__.py | 0 people/models.py | 35 +----- planning/migrations/0001_initial.py | 70 ----------- planning/migrations/__init__.py | 0 profiles/migrations/0001_initial.py | 27 ---- profiles/migrations/__init__.py | 0 templates/base.html | 3 +- templates/followup/accidents/create.html | 117 ++++++++++++++++++ templates/followup/accidents/details.html | 34 +++++ templates/followup/accidents/list.html | 74 +++++++++++ templates/followup/chronos/list.html | 2 +- templates/gymnasts/details.html | 14 +-- 27 files changed, 425 insertions(+), 423 deletions(-) delete mode 100644 followup/migrations/0001_initial.py delete mode 100644 followup/migrations/0002_point.py delete mode 100644 followup/migrations/__init__.py delete mode 100644 location/migrations/0001_initial.py delete mode 100644 location/migrations/0002_auto_20211116_0942.py delete mode 100644 location/migrations/__init__.py delete mode 100644 people/migrations/0001_initial.py delete mode 100644 people/migrations/0002_auto_20211116_1144.py delete mode 100644 people/migrations/__init__.py delete mode 100644 planning/migrations/0001_initial.py delete mode 100644 planning/migrations/__init__.py delete mode 100644 profiles/migrations/0001_initial.py delete mode 100644 profiles/migrations/__init__.py create mode 100644 templates/followup/accidents/create.html create mode 100644 templates/followup/accidents/details.html create mode 100644 templates/followup/accidents/list.html diff --git a/Ultron/urls.py b/Ultron/urls.py index b14f1aacf1..dbe477a801 100644 --- a/Ultron/urls.py +++ b/Ultron/urls.py @@ -40,9 +40,10 @@ urlpatterns = [ # Follow-up management path(r"chrono/", include(followup.urls.chrono_urlpatterns)), - path(r"skill/", include(followup.urls.skill_urlpatterns)), path(r"learnedskill/", include(followup.urls.learnedskill_urlpatterns)), path(r"score/", include(followup.urls.score_urlpatterns)), + path(r"accident/", include(followup.urls.accident_urlpatterns)), + path(r"skill/", include(followup.urls.skill_urlpatterns)), # Planning management path(r"event/", include(planning.urls.event_urlpatterns)), diff --git a/followup/admin.py b/followup/admin.py index 80b6f01463..75f6ecd722 100644 --- a/followup/admin.py +++ b/followup/admin.py @@ -1,5 +1,5 @@ from django.contrib import admin -from .models import Chrono, LearnedSkill, Skill, Point +from .models import Chrono, LearnedSkill, Skill, Point, Accident from django_extensions.admin import ForeignKeyAutocompleteAdmin @@ -51,6 +51,18 @@ class PointAdmin(admin.ModelAdmin): list_filter = ("gymnast", "event", "routine_type") + +class AccidentAdmin(admin.ModelAdmin): + model = Accident + + fields = ("date", "gymnast", "informations") # educative + list_display = ("date", "gymnast") # educative + list_filter = ("date",) + search_fields = ("date", "gymnast") # educative + autocomplete_fields = ["gymnast"] # educative + + +admin.site.register(Accident, AccidentAdmin) admin.site.register(Point, PointAdmin) admin.site.register(Chrono, ChronoAdmin) admin.site.register(LearnedSkill, LearnedSkillAdmin) diff --git a/followup/forms.py b/followup/forms.py index d12e2f5865..b4f526bc76 100644 --- a/followup/forms.py +++ b/followup/forms.py @@ -5,7 +5,7 @@ from datetime import date from django.db import models from django.forms import fields, widgets -from .models import Chrono, LearnedSkill, Point +from .models import Chrono, LearnedSkill, Point, Accident class ChronoForm(forms.ModelForm): class Meta: @@ -146,3 +146,44 @@ class ScoreForm(forms.ModelForm): } ) ) + + +class AccidentForm(forms.ModelForm): + class Meta: + model = Accident + fields = ("gymnast", "date", "informations") # , "educative" + widgets = { + "date": forms.DateInput( + attrs={ + "class": "form-control datepicker", + # "value": date.today().strftime("%Y-%m-%d"), + } + ), + "gymnast": forms.HiddenInput(), + # "educative": forms.HiddenInput(), + "informations": forms.Textarea( + attrs={ + "class": "form-control", + "placeholder": "Informations about accident: context (why, where, …), consequencies, …", + } + ), + } + + gymnast_related = forms.CharField( + widget=forms.TextInput( + attrs={ + "class": "form-control", + "placeholder": "Searching gymnast…", + "data-ref": "#id_gymnast", + } + ) + ) + # educative_related = forms.CharField( + # widget=forms.TextInput( + # attrs={ + # "class": "form-control", + # "placeholder": "Searching skill…", + # "data-ref": "#id_educative", + # } + # ) + # ) \ No newline at end of file diff --git a/followup/migrations/0001_initial.py b/followup/migrations/0001_initial.py deleted file mode 100644 index e67c124852..0000000000 --- a/followup/migrations/0001_initial.py +++ /dev/null @@ -1,67 +0,0 @@ -# Generated by Django 3.2.8 on 2021-11-16 09:07 - -import datetime -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('people', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Skill', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('short_label', models.CharField(max_length=50, verbose_name='Short label')), - ('long_label', models.CharField(max_length=255, verbose_name='Long label')), - ('difficulty', models.DecimalField(decimal_places=1, max_digits=3, verbose_name='Difficulty')), - ('level', models.PositiveSmallIntegerField(default=0)), - ('rank', models.PositiveSmallIntegerField(default=0)), - ('numeric_notation', models.CharField(max_length=25)), - ('ancestor', models.ManyToManyField(related_name='_followup_skill_ancestor_+', to='followup.Skill')), - ], - options={ - 'verbose_name': 'Skill', - 'verbose_name_plural': 'Skills', - 'ordering': ['short_label'], - }, - ), - migrations.CreateModel( - name='Chrono', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('type', models.PositiveSmallIntegerField(choices=[(0, '10 |'), (1, 'Routine')], verbose_name='Chrono type')), - ('score_type', models.PositiveSmallIntegerField(choices=[(0, 'Chrono'), (1, 'ToF')], verbose_name='Score type')), - ('score', models.DecimalField(decimal_places=3, max_digits=5)), - ('tof', models.DecimalField(blank=True, decimal_places=3, max_digits=5, null=True)), - ('date', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('gymnast', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='chronos', to='people.gymnast', verbose_name='gymnast')), - ], - options={ - 'verbose_name': 'Chrono', - 'verbose_name_plural': 'Chronos', - 'ordering': ['date', 'gymnast'], - }, - ), - migrations.CreateModel( - name='LearnedSkill', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('cando', models.PositiveSmallIntegerField(choices=[(0, 'No'), (1, 'With help'), (2, 'Without help'), (3, 'Chained')], verbose_name='Can do type')), - ('date', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('gymnast', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='can_do_skill', to='people.gymnast', verbose_name='gymnast')), - ('skill', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='done_by_gymnasts', to='followup.skill', verbose_name='Skill')), - ], - options={ - 'verbose_name': 'Learned Skill', - 'verbose_name_plural': 'Learned Skills', - 'unique_together': {('gymnast', 'skill', 'date')}, - }, - ), - ] diff --git a/followup/migrations/0002_point.py b/followup/migrations/0002_point.py deleted file mode 100644 index ff130b00f9..0000000000 --- a/followup/migrations/0002_point.py +++ /dev/null @@ -1,31 +0,0 @@ -# Generated by Django 3.2.8 on 2021-11-16 16:29 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('people', '0002_auto_20211116_1144'), - ('planning', '0001_initial'), - ('followup', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Point', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('routine_type', models.PositiveSmallIntegerField(choices=[(0, 'Routine 1'), (1, 'Routine 2'), (2, 'Final')])), - ('point_execution', models.DecimalField(decimal_places=3, max_digits=5)), - ('point_difficulty', models.DecimalField(decimal_places=1, max_digits=3)), - ('point_time_of_flight', models.DecimalField(decimal_places=3, max_digits=5)), - ('point_horizontal_displacement', models.DecimalField(decimal_places=3, max_digits=4)), - ('penality', models.DecimalField(decimal_places=1, max_digits=3)), - ('total', models.DecimalField(decimal_places=3, max_digits=6)), - ('event', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='planning.event')), - ('gymnast', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='people.gymnast')), - ], - ), - ] diff --git a/followup/migrations/__init__.py b/followup/migrations/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/followup/models.py b/followup/models.py index 6290f4404f..39abf3cf4f 100644 --- a/followup/models.py +++ b/followup/models.py @@ -2,6 +2,7 @@ from django.db import models from datetime import date from django.db.models.deletion import CASCADE +from tools.models import Markdownizable from people.models import Gymnast from planning.models import Event @@ -45,6 +46,37 @@ class Chrono(models.Model): ) +class Accident(Markdownizable): + """ + La classe `Accident` permet d'indiquer qu'un gymnaste a eu un accident. + """ + + class Meta: + verbose_name = "Accident" + verbose_name_plural = "Accidents" + # ordering = ["date", "gymnast"] + + gymnast = models.ForeignKey( + Gymnast, + verbose_name="Gymnast", + related_name="accident", + on_delete=models.CASCADE, + ) + # educative = models.ForeignKey( + # "objective.Skill", + # verbose_name="Skill", + # related_name="accident", + # on_delete=models.CASCADE, + # ) + date = models.DateField(verbose_name="Date") + + def __str__(self): + return "%s(%s)" % ( + self.gymnast, + self.date, + ) + + class Skill(models.Model): """ Représente la ligne d'apprentissage. diff --git a/followup/urls.py b/followup/urls.py index c9ba598e32..8fac5405fd 100644 --- a/followup/urls.py +++ b/followup/urls.py @@ -34,4 +34,17 @@ score_urlpatterns = [ path(r"add", views.score_create_or_update, name="score_create"), path(r"edit/", views.score_create_or_update, name="score_update"), path(r"", views.score_listing), +] + +# Accident +accident_urlpatterns = [ + path(r"search/", views.accident_listing), + path(r"", views.accident_listing, name="accident_list"), + path(r"add/", views.accident_create_or_update, name="accident_create"), + path( + r"edit//", + views.accident_create_or_update, + name="accident_update", + ), + path(r"/", views.accident_detail, name="accident_details"), ] \ No newline at end of file diff --git a/followup/views.py b/followup/views.py index c50166eec3..8681d5bfd1 100644 --- a/followup/views.py +++ b/followup/views.py @@ -5,8 +5,8 @@ from django.http import HttpResponse, HttpResponseRedirect from django.db.models import Q from people.models import Gymnast -from .models import Chrono, Skill, Point -from .forms import ChronoForm, LearnedSkillForm, ScoreForm +from .models import Chrono, Skill, Point, Accident +from .forms import ChronoForm, LearnedSkillForm, ScoreForm, AccidentForm import simplejson @@ -39,25 +39,17 @@ def chrono_create_or_update(request, chronoid=None, gymnastid=None): form = ChronoForm(request.POST, instance=chrono) if form.is_valid(): - print(form.cleaned_data) + new_chrono = form.save(commit=False) # Calcul du ToF - if form.cleaned_data['score_type'] == 1: - form.cleaned_data['tof'] = form.cleaned_data['score'] + if new_chrono.score_type == 1: + new_chrono.tof = new_chrono.score else: - tof = round(( form.cleaned_data['score'] * 13 ) / 15, 3) * 1000 + tof = round(( new_chrono.score * 13 ) / 15, 3) * 1000 tof = tof - (tof % 5) - form.cleaned_data['tof'] = tof / 1000 + new_chrono.tof = tof / 1000 - print(form.cleaned_data) - form.save() - if chronoid is not None: - return HttpResponseRedirect("/chrono/") - elif gymnastid is not None: - return HttpResponseRedirect( - "/gymnast/" + str(gymnastid) - ) - else: - return HttpResponseRedirect("/chrono/") + new_chrono.save() + return HttpResponseRedirect("/gymnast/details/" + str(new_chrono.gymnast.id) + "/") else: if data is None and gymnastid is not None: @@ -223,3 +215,71 @@ def score_listing(request): context = {"score_list": score_list} return render(request, "followup/scores/list.html", context) + + + + +@login_required +@require_http_methods(["GET"]) +def accident_listing(request): + """ + Récupère la liste des accidents suivant un pattern si celui-ci est définit. + """ + pattern = request.GET.get("pattern", None) + + if pattern: + accident_list = Accident.objects.filter( + Q(gymnast__lastname__icontains=pattern) + | Q(gymnast__firstname__icontains=pattern) + ) + else: + accident_list = Accident.objects.all() + + context = {"accident_list": accident_list} + return render(request, "followup/accidents/list.html", context) + + +@login_required +@require_http_methods(["GET", "POST"]) +def accident_create_or_update(request, accidentid=None): + """ + Formulaire de création d'un nouvel accident. + """ + + if accidentid: + accident = get_object_or_404(Accident, pk=accidentid) + data = { + "gymnast_related": accident.gymnast, + "educative_related": accident.educative, + } + else: + accident = None + data = {} + + if request.method == "POST": + form = AccidentForm(request.POST, instance=accident) + + if form.is_valid(): + form.save() + if accidentid: + return HttpResponseRedirect("/accident/" + str(accidentid) + "/") + else: + return HttpResponseRedirect("/accident/") + else: + + form = AccidentForm(instance=accident, initial=data) + + context = {"form": form, "accidentid": accidentid} + return render(request, "followup/accidents/create.html", context) + + +@login_required +@require_http_methods(["GET"]) +def accident_detail(request, accidentid): + """ + Récupère toutes les informations d'un accident. + """ + accident = get_object_or_404(Accident, pk=accidentid) + context = {"accident": accident} + return render(request, "followup/accidents/details.html", context) + diff --git a/location/migrations/0001_initial.py b/location/migrations/0001_initial.py deleted file mode 100644 index 427ccf6dc9..0000000000 --- a/location/migrations/0001_initial.py +++ /dev/null @@ -1,63 +0,0 @@ -# Generated by Django 3.2.8 on 2021-11-16 09:07 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='Country', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('nameus', models.CharField(max_length=255, verbose_name='English name')), - ('namefr', models.CharField(max_length=255, verbose_name='French Name')), - ('nationality', models.CharField(max_length=255, verbose_name='Nationality')), - ('iso2', models.CharField(max_length=2)), - ('iso3', models.CharField(max_length=3)), - ('isonum', models.PositiveSmallIntegerField()), - ], - options={ - 'verbose_name': 'Country', - 'verbose_name_plural': 'Countries', - }, - ), - migrations.CreateModel( - name='Place', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=255, verbose_name='Name')), - ('address', models.CharField(max_length=255, verbose_name='Address')), - ('postal', models.PositiveIntegerField(verbose_name='Postal code')), - ('city', models.CharField(max_length=255, verbose_name='City')), - ('nbkm', models.PositiveIntegerField(blank=True, help_text='in km', null=True)), - ('timing', models.PositiveIntegerField(blank=True, help_text='in minutes', null=True)), - ('active', models.BooleanField(default=1, verbose_name='Active')), - ('country', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='location.country', verbose_name='Country')), - ], - options={ - 'verbose_name': 'Place', - 'verbose_name_plural': 'Places', - }, - ), - migrations.CreateModel( - name='Club', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=255, verbose_name='Name')), - ('acronym', models.CharField(max_length=4, verbose_name='Acronym')), - ('active', models.BooleanField(default=1, verbose_name='Active')), - ('place', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='location.place', verbose_name='Place')), - ], - options={ - 'verbose_name': 'Club', - 'verbose_name_plural': 'Clubs', - }, - ), - ] diff --git a/location/migrations/0002_auto_20211116_0942.py b/location/migrations/0002_auto_20211116_0942.py deleted file mode 100644 index 5e1c78d8b1..0000000000 --- a/location/migrations/0002_auto_20211116_0942.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 3.2.8 on 2021-11-16 09:42 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('location', '0001_initial'), - ] - - operations = [ - migrations.RenameField( - model_name='country', - old_name='nameus', - new_name='name', - ), - migrations.RemoveField( - model_name='country', - name='namefr', - ), - ] diff --git a/location/migrations/__init__.py b/location/migrations/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/people/admin.py b/people/admin.py index 0ebae42a19..5b1f42ba9d 100644 --- a/people/admin.py +++ b/people/admin.py @@ -6,17 +6,19 @@ class GymnastAdmin(admin.ModelAdmin): model = Gymnast fields = ( - "last_name", - "first_name", - "birthdate", - "gender", - "is_active", + 'last_name', + 'first_name', + 'birthdate', + 'gender', + 'trainings_by_week', + 'hours_by_week', + 'is_active', # "club" ) - list_display = ("last_name", "first_name", "age", "is_active") # , "club" - list_filter = ("gender", "is_active") # , "club" - search_fields = ("last_name", "first_name") + list_display = ('last_name', 'first_name', 'age', 'is_active') # , "club" + list_filter = ('gender', 'is_active') # , "club" + search_fields = ('last_name', 'first_name') # autocomplete_fields = ("club",) admin.site.register(Gymnast, GymnastAdmin) diff --git a/people/migrations/0001_initial.py b/people/migrations/0001_initial.py deleted file mode 100644 index b812044725..0000000000 --- a/people/migrations/0001_initial.py +++ /dev/null @@ -1,48 +0,0 @@ -# Generated by Django 3.2.8 on 2021-11-16 09:07 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('location', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Gymnast', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('informations', models.TextField(blank=True, help_text='Only MarkDown is authorized', null=True, verbose_name='Comments')), - ('last_name', models.CharField(max_length=40)), - ('first_name', models.CharField(max_length=25)), - ('birthdate', models.DateField(verbose_name='Date de naissance')), - ('gender', models.PositiveSmallIntegerField(choices=[(0, 'Male'), (1, 'Female')], verbose_name='Sexe')), - ('is_active', models.BooleanField(default=1, verbose_name='Active')), - ('hours_by_week', models.PositiveSmallIntegerField(verbose_name='Hours by week')), - ('club', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='gymnast', to='location.club')), - ], - options={ - 'verbose_name': 'Gymnast', - 'verbose_name_plural': 'Gymnasts', - }, - ), - migrations.CreateModel( - name='Accident', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('informations', models.TextField(blank=True, help_text='Only MarkDown is authorized', null=True, verbose_name='Comments')), - ('date', models.DateField(verbose_name='Date')), - ('indisponibility', models.PositiveIntegerField()), - ('gymnast', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='accident', to='people.gymnast', verbose_name='Gymnast')), - ], - options={ - 'verbose_name': 'Accident', - 'verbose_name_plural': 'Accidents', - }, - ), - ] diff --git a/people/migrations/0002_auto_20211116_1144.py b/people/migrations/0002_auto_20211116_1144.py deleted file mode 100644 index 7dc12afa47..0000000000 --- a/people/migrations/0002_auto_20211116_1144.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 3.2.8 on 2021-11-16 11:44 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('people', '0001_initial'), - ] - - operations = [ - migrations.AddField( - model_name='gymnast', - name='trainings_by_week', - field=models.PositiveSmallIntegerField(default=0, verbose_name='# Training by week'), - preserve_default=False, - ), - migrations.AlterField( - model_name='gymnast', - name='hours_by_week', - field=models.PositiveSmallIntegerField(verbose_name='# Hours by week'), - ), - ] diff --git a/people/migrations/__init__.py b/people/migrations/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/people/models.py b/people/models.py index 3d577ac388..ee1a932728 100644 --- a/people/models.py +++ b/people/models.py @@ -49,37 +49,4 @@ class Gymnast(Markdownizable): @property def next_age(self): """ Renvoie l'âge prochain du gymnaste. """ - return (self.age) + 1 - - - - -class Accident(Markdownizable): - """La classe `Accident` permet d'indiquer qu'un gymnaste est tombé durant un saut. - """ - - class Meta: - verbose_name = "Accident" - verbose_name_plural = "Accidents" - # ordering = ["date", "gymnast"] - - gymnast = models.ForeignKey( - Gymnast, - verbose_name="Gymnast", - related_name="accident", - on_delete=models.CASCADE, - ) - # educative = models.ForeignKey( - # "objective.Skill", - # verbose_name="Skill", - # related_name="accident", - # on_delete=models.CASCADE, - # ) - date = models.DateField(verbose_name="Date") - indisponibility = models.PositiveIntegerField(null=False, blank=False) - - def __str__(self): - return "%s(%s)" % ( - self.gymnast, - self.date, - ) \ No newline at end of file + return (self.age) + 1 \ No newline at end of file diff --git a/planning/migrations/0001_initial.py b/planning/migrations/0001_initial.py deleted file mode 100644 index 3e119a302c..0000000000 --- a/planning/migrations/0001_initial.py +++ /dev/null @@ -1,70 +0,0 @@ -# Generated by Django 3.2.8 on 2021-11-16 09:07 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('people', '0001_initial'), - ('location', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Event', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('informations', models.TextField(blank=True, help_text='Only MarkDown is authorized', null=True, verbose_name='Comments')), - ('datebegin', models.DateTimeField(verbose_name='Début')), - ('dateend', models.DateTimeField(blank=True, verbose_name='Fin')), - ('name', models.CharField(max_length=255, verbose_name='Nom')), - ], - options={ - 'verbose_name': 'Event', - 'verbose_name_plural': 'Event', - }, - ), - migrations.CreateModel( - name='EventType', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=255, verbose_name='Nom')), - ('acronym', models.CharField(max_length=15, verbose_name='Acronyme')), - ], - options={ - 'verbose_name': 'Event Type', - 'verbose_name_plural': 'Event Types', - }, - ), - migrations.CreateModel( - name='Event_Participation', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('rank', models.PositiveSmallIntegerField(default=0)), - ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='planning.event')), - ('gymnast', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='people.gymnast')), - ], - options={ - 'verbose_name': 'Event Participation', - }, - ), - migrations.AddField( - model_name='event', - name='eventtype', - field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='planning.eventtype', verbose_name='Type'), - ), - migrations.AddField( - model_name='event', - name='gymnasts', - field=models.ManyToManyField(related_name='participate_to', through='planning.Event_Participation', to='people.Gymnast', verbose_name='Participants'), - ), - migrations.AddField( - model_name='event', - name='place', - field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='location.place'), - ), - ] diff --git a/planning/migrations/__init__.py b/planning/migrations/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/profiles/migrations/0001_initial.py b/profiles/migrations/0001_initial.py deleted file mode 100644 index c0bc932ad1..0000000000 --- a/profiles/migrations/0001_initial.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 3.2.8 on 2021-11-16 09:07 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name='Profile', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('template_color', models.PositiveSmallIntegerField(choices=[(0, 'Dark'), (1, 'Light')], default=0, verbose_name='Template')), - ('sidebar_color', models.PositiveSmallIntegerField(choices=[(0, 'Purple'), (1, 'Blue'), (2, 'Green'), (3, 'Orange'), (4, 'Red')], default=0, verbose_name='Sidebar')), - ('is_sidebar_minified', models.BooleanField(default=False)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - ] diff --git a/profiles/migrations/__init__.py b/profiles/migrations/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/templates/base.html b/templates/base.html index 37b948d101..c93210b54f 100644 --- a/templates/base.html +++ b/templates/base.html @@ -59,8 +59,9 @@