feat(members/admin): add training overview (#174)
Add a new admin view for managing all trainings of members of the association. The subsections on training and activity categories are moved to a new trainings section. We also protect the `submitted` and `passed` fields of member trainings for the default permission set. Co-authored-by: marius.klein <marius.klein@alpenverein-heidelberg.de> Co-committed-by: marius.klein <marius.klein@alpenverein-heidelberg.de>testing
parent
5d3670b819
commit
ad33d5db17
@ -0,0 +1,42 @@
|
||||
# Generated by Django 4.2.20 on 2025-10-10 15:50
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('members', '0043_waitinglist_permissions'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='membertraining',
|
||||
name='activity',
|
||||
field=models.ManyToManyField(to='members.activitycategory', verbose_name='Activity'),
|
||||
),
|
||||
migrations.AlterModelOptions(
|
||||
name='membertraining',
|
||||
options={'default_permissions': ('add_global', 'change_global', 'view_global', 'delete_global', 'list_global', 'view'), 'permissions': (('manage_success_trainings', 'Can edit the success status of trainings.'),), 'verbose_name': 'Training', 'verbose_name_plural': 'Trainings'},
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='membertraining',
|
||||
name='title',
|
||||
field=models.CharField(max_length=150, verbose_name='Title'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='membertraining',
|
||||
name='member',
|
||||
field=models.ForeignKey(on_delete=models.deletion.CASCADE, related_name='traininigs', to='members.member', verbose_name='Member'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='membertraining',
|
||||
name='participated',
|
||||
field=models.BooleanField(null=True, verbose_name='Participated'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='membertraining',
|
||||
name='passed',
|
||||
field=models.BooleanField(null=True, verbose_name='Passed'),
|
||||
),
|
||||
]
|
||||
Loading…
Reference in New Issue