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')