From d0e76e0c5a92d6db2312282b8df398570f4d1bba Mon Sep 17 00:00:00 2001 From: mariusrklein <47218379+mariusrklein@users.noreply.github.com> Date: Sun, 22 Jun 2025 17:32:33 +0200 Subject: [PATCH] feat(trainings): add activities as new training field --- .../migrations/0042_membertraining_activity.py | 18 ++++++++++++++++++ jdav_web/members/models.py | 11 +++++++++++ 2 files changed, 29 insertions(+) create mode 100644 jdav_web/members/migrations/0042_membertraining_activity.py diff --git a/jdav_web/members/migrations/0042_membertraining_activity.py b/jdav_web/members/migrations/0042_membertraining_activity.py new file mode 100644 index 0000000..1853b9b --- /dev/null +++ b/jdav_web/members/migrations/0042_membertraining_activity.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.20 on 2025-06-22 15:21 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('members', '0041_freizeit_crisis_intervention_list_sent_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='membertraining', + name='activity', + field=models.ManyToManyField(to='members.activitycategory', verbose_name='Activity'), + ), + ] diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index d48bccd..8f1328c 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -2038,6 +2038,7 @@ class MemberTraining(CommonModel): title = models.CharField(verbose_name=_('Title'), max_length=30) date = models.DateField(verbose_name=_('Date'), null=True, blank=True) category = models.ForeignKey(TrainingCategory, on_delete=models.PROTECT, verbose_name=_('Category')) + activity = models.ManyToManyField(ActivityCategory, verbose_name=_('Activity')) comments = models.TextField(verbose_name=_('Comments'), blank=True) participated = models.BooleanField(verbose_name=_('Participated')) passed = models.BooleanField(verbose_name=_('Passed')) @@ -2049,7 +2050,17 @@ class MemberTraining(CommonModel): 'image/jpeg', 'image/png', 'image/gif']) + + def __str__(self): + return self.title + ' ' + self.date.strftime('%d.%m.%Y') + + def get_activities(self): + activity_string = ', '.join(a.name for a in self.activity.all()) + return activity_string + + get_activities.short_description = _('Activities') + class Meta(CommonModel.Meta): verbose_name = _('Training') verbose_name_plural = _('Trainings')