From 07e805970e4277e1dcb4de40d96e69525eca4525 Mon Sep 17 00:00:00 2001 From: Gregory Trullemans Date: Sun, 5 Dec 2021 15:19:16 +0100 Subject: [PATCH] Adding GymnastHasRoutine management. --- .../migrations/0005_auto_20211205_1412.py | 31 ++++ .../migrations/0002_gymnasthasroutine.py | 31 ++++ .../0003_delete_gymnasthasroutine.py | 16 ++ .../peoples/gymnasts/link_to_routine.html | 155 ++++++++++++++++++ templates/peoples/gymnasts/list_routine.html | 56 +++++++ 5 files changed, 289 insertions(+) create mode 100644 followup/migrations/0005_auto_20211205_1412.py create mode 100644 objective/migrations/0002_gymnasthasroutine.py create mode 100644 objective/migrations/0003_delete_gymnasthasroutine.py create mode 100644 templates/peoples/gymnasts/link_to_routine.html create mode 100644 templates/peoples/gymnasts/list_routine.html diff --git a/followup/migrations/0005_auto_20211205_1412.py b/followup/migrations/0005_auto_20211205_1412.py new file mode 100644 index 0000000000..4f1666216d --- /dev/null +++ b/followup/migrations/0005_auto_20211205_1412.py @@ -0,0 +1,31 @@ +# Generated by Django 3.2.8 on 2021-12-05 14:12 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('objective', '0003_delete_gymnasthasroutine'), + ('people', '0001_initial'), + ('followup', '0004_alter_learnedskill_skill'), + ] + + operations = [ + migrations.AlterField( + model_name='gymnasthasroutine', + name='gymnast', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='has_routine', to='people.gymnast', verbose_name='Gymnast'), + ), + migrations.AlterField( + model_name='gymnasthasroutine', + name='routine', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='done_by_gymnast', to='objective.routine', verbose_name='Routine'), + ), + migrations.AlterField( + model_name='gymnasthasroutine', + name='routine_type', + field=models.PositiveSmallIntegerField(choices=[(0, 'Other'), (1, 'L1'), (2, 'L2'), (3, 'L3'), (4, 'L4'), (5, 'L1S'), (6, 'L2S'), (7, 'L3S'), (8, 'L4S')], default='1', verbose_name='Type'), + ), + ] diff --git a/objective/migrations/0002_gymnasthasroutine.py b/objective/migrations/0002_gymnasthasroutine.py new file mode 100644 index 0000000000..b3f0ae789d --- /dev/null +++ b/objective/migrations/0002_gymnasthasroutine.py @@ -0,0 +1,31 @@ +# Generated by Django 3.2.8 on 2021-12-05 12:01 + +import datetime +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('people', '0001_initial'), + ('objective', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='GymnastHasRoutine', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('routine_type', models.PositiveSmallIntegerField(choices=[(0, 'Other'), (1, 'L1'), (2, 'L2'), (3, 'L3'), (4, 'L4'), (5, 'L1S'), (6, 'L2S'), (7, 'L3S'), (8, 'L4S')], default='1', verbose_name='Type')), + ('datebegin', models.DateField(default=datetime.date.today, verbose_name='Date begin')), + ('dateend', models.DateField(blank=True, default=datetime.date.today, null=True, verbose_name='Date end')), + ('gymnast', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='has_routine', to='people.gymnast', verbose_name='Gymnast')), + ('routine', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='used_by_gymnast', to='objective.routine', verbose_name='Routine')), + ], + options={ + 'verbose_name': 'Gymnast Has Routine', + 'verbose_name_plural': 'Gymnast Has Routines', + }, + ), + ] diff --git a/objective/migrations/0003_delete_gymnasthasroutine.py b/objective/migrations/0003_delete_gymnasthasroutine.py new file mode 100644 index 0000000000..b863105173 --- /dev/null +++ b/objective/migrations/0003_delete_gymnasthasroutine.py @@ -0,0 +1,16 @@ +# Generated by Django 3.2.8 on 2021-12-05 14:12 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('objective', '0002_gymnasthasroutine'), + ] + + operations = [ + migrations.DeleteModel( + name='GymnastHasRoutine', + ), + ] diff --git a/templates/peoples/gymnasts/link_to_routine.html b/templates/peoples/gymnasts/link_to_routine.html new file mode 100644 index 0000000000..05da068793 --- /dev/null +++ b/templates/peoples/gymnasts/link_to_routine.html @@ -0,0 +1,155 @@ +{% extends "base.html" %} + +{% block content %} +
+
+
+
+

Link gymnast to routine

+
+
+
+ {% csrf_token %} + +
+ +
+ {{ form.gymnast }} + {{ form.gymnast_related }} + {% if form.gymnast.errors %} + + {% endif %} +
+
+ +
+ +
+ {{ form.routine }} + {{ form.routine_related }} + {% if form.routine.errors %} + + {% endif %} +
+
+ +
+ +
+ {{ form.routine_type }} + {% if form.routine_type.errors %} + + {% endif %} +
+
+ +
+ +
+ {{ form.datebegin }} + {% if form.datebegin.errors %} + + {% endif %} +
+
+ +
+ +
+
+ {{ form.dateend }} + {% if form.dateend.errors %} + + {% endif %} +
+
+
+ +
+
+
+
+
+{% endblock %} + +{% block footerscript %} + +{% endblock %} diff --git a/templates/peoples/gymnasts/list_routine.html b/templates/peoples/gymnasts/list_routine.html new file mode 100644 index 0000000000..5ac659a37b --- /dev/null +++ b/templates/peoples/gymnasts/list_routine.html @@ -0,0 +1,56 @@ + +
+
+
+
+

Routines

+
+
+ {% if ghr_list.count %} + + + + + + + + + + + + + + + {% for ghr in ghr_list %} + + + + + + + + + + + + + + + {% endfor %} + +
TypeLabelFromToDiff.LevelRank
{{ ghr.get_routine_type_display }}{{ ghr.routine.longLabel }}{{ ghr.datebegin | date:"d-m-Y"}}{% if ghr.dateend %}{{ ghr.dateend | date:"d F Y" }}{% else %}… to now.{% endif %}{{ ghr.routine.difficulty }}{{ ghr.routine.level }}{{ ghr.routine.rank }}
+ + {% else %} +

There are no routines corresponding to your criterias

+ {% endif %} +
+ +
+
+