feat(members/trainings): added certificate field and slight changes to admin form

pull/137/head
mariusrklein 10 months ago
parent 84f28b0786
commit 2ac5d05e1b

@ -108,10 +108,10 @@ class PermissionOnMemberInline(admin.StackedInline):
class TrainingOnMemberInline(CommonAdminInlineMixin, admin.TabularInline): class TrainingOnMemberInline(CommonAdminInlineMixin, admin.TabularInline):
model = MemberTraining model = MemberTraining
formfield_overrides = { formfield_overrides = {
TextField: {'widget': Textarea(attrs={'rows': 1, 'cols': 40})} TextField: {'widget': Textarea(attrs={'rows': 1, 'cols': 25})}
} }
ordering = ("date",) ordering = ("date",)
extra = 0 extra = 1
class EmergencyContactInline(CommonAdminInlineMixin, admin.TabularInline): class EmergencyContactInline(CommonAdminInlineMixin, admin.TabularInline):

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-11 23:51+0100\n" "POT-Creation-Date: 2025-02-24 23:22+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -1138,6 +1138,10 @@ msgstr "Teilgenommmen"
msgid "Passed" msgid "Passed"
msgstr "Bestanden" msgstr "Bestanden"
#: members/models.py
msgid "certificate of attendance"
msgstr "Teilnahmebestätigung"
#: members/models.py #: members/models.py
msgid "Training" msgid "Training"
msgstr "Fortbildung" msgstr "Fortbildung"
@ -1713,7 +1717,7 @@ msgstr "Registrierung fehlgeschlagen"
msgid "Registration" msgid "Registration"
msgstr "Registrierung" msgstr "Registrierung"
#: members/templates/members/leave_waitinglist.html #: members/templates/members/leave_waitinglist.html members/tests.py
msgid "Leave waitinglist" msgid "Leave waitinglist"
msgstr "Warteliste verlassen" msgstr "Warteliste verlassen"
@ -1723,14 +1727,14 @@ msgid ""
"you need to requeue if you change your mind later." "you need to requeue if you change your mind later."
msgstr "" msgstr ""
"Bist du sicher, dass du die Warteliste verlassen möchtest? Dies kann nicht " "Bist du sicher, dass du die Warteliste verlassen möchtest? Dies kann nicht "
"rückgängig gemacht werden. Falls du später wieder der Warteliste beitreten möchtest, " "rückgängig gemacht werden. Falls du später wieder der Warteliste beitreten "
"musst du dich neu registrieren." "möchtest, musst du dich neu registrieren."
#: members/templates/members/leave_waitinglist.html #: members/templates/members/leave_waitinglist.html
msgid "Yes, leave the waitinglist" msgid "Yes, leave the waitinglist"
msgstr "Ja, Warteliste verlassen" msgstr "Ja, Warteliste verlassen"
#: members/templates/members/leave_waitinglist_success.html #: members/templates/members/leave_waitinglist_success.html members/tests.py
msgid "Left waitinglist" msgid "Left waitinglist"
msgstr "Warteliste verlassen" msgstr "Warteliste verlassen"

@ -0,0 +1,19 @@
# Generated by Django 4.0.1 on 2025-02-24 22:15
from django.db import migrations
import utils
class Migration(migrations.Migration):
dependencies = [
('members', '0038_alter_invitationtogroup_date_alter_member_created_and_more'),
]
operations = [
migrations.AddField(
model_name='membertraining',
name='certificate',
field=utils.RestrictedFileField(blank=True, upload_to='training_forms', verbose_name='registration form'),
),
]

@ -0,0 +1,19 @@
# Generated by Django 4.0.1 on 2025-02-24 22:23
from django.db import migrations
import utils
class Migration(migrations.Migration):
dependencies = [
('members', '0039_membertraining_certificate'),
]
operations = [
migrations.AlterField(
model_name='membertraining',
name='certificate',
field=utils.RestrictedFileField(blank=True, upload_to='training_forms', verbose_name='certificate of attendance'),
),
]

@ -1785,7 +1785,15 @@ class MemberTraining(CommonModel):
comments = models.TextField(verbose_name=_('Comments'), blank=True) comments = models.TextField(verbose_name=_('Comments'), blank=True)
participated = models.BooleanField(verbose_name=_('Participated')) participated = models.BooleanField(verbose_name=_('Participated'))
passed = models.BooleanField(verbose_name=_('Passed')) passed = models.BooleanField(verbose_name=_('Passed'))
certificate = RestrictedFileField(verbose_name=_('certificate of attendance'),
upload_to='training_forms',
blank=True,
max_upload_size=5,
content_types=['application/pdf',
'image/jpeg',
'image/png',
'image/gif'])
class Meta(CommonModel.Meta): class Meta(CommonModel.Meta):
verbose_name = _('Training') verbose_name = _('Training')
verbose_name_plural = _('Trainings') verbose_name_plural = _('Trainings')

Loading…
Cancel
Save