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

Merged
christian.merten merged 2 commits from MK/edu_cert_field into main 10 months ago

@ -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,20 @@
# Generated by Django 4.0.1 on 2025-02-25 06:34
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='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