From 2ac5d05e1bc78cba212c224445aee63fcf924249 Mon Sep 17 00:00:00 2001 From: mariusrklein <47218379+mariusrklein@users.noreply.github.com> Date: Mon, 24 Feb 2025 23:25:41 +0100 Subject: [PATCH 1/2] feat(members/trainings): added certificate field and slight changes to admin form --- jdav_web/members/admin.py | 4 ++-- .../members/locale/de/LC_MESSAGES/django.po | 14 +++++++++----- .../0039_membertraining_certificate.py | 19 +++++++++++++++++++ .../0040_alter_membertraining_certificate.py | 19 +++++++++++++++++++ jdav_web/members/models.py | 10 +++++++++- 5 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 jdav_web/members/migrations/0039_membertraining_certificate.py create mode 100644 jdav_web/members/migrations/0040_alter_membertraining_certificate.py diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py index dec6b1a..71ee88d 100644 --- a/jdav_web/members/admin.py +++ b/jdav_web/members/admin.py @@ -108,10 +108,10 @@ class PermissionOnMemberInline(admin.StackedInline): class TrainingOnMemberInline(CommonAdminInlineMixin, admin.TabularInline): model = MemberTraining formfield_overrides = { - TextField: {'widget': Textarea(attrs={'rows': 1, 'cols': 40})} + TextField: {'widget': Textarea(attrs={'rows': 1, 'cols': 25})} } ordering = ("date",) - extra = 0 + extra = 1 class EmergencyContactInline(CommonAdminInlineMixin, admin.TabularInline): diff --git a/jdav_web/members/locale/de/LC_MESSAGES/django.po b/jdav_web/members/locale/de/LC_MESSAGES/django.po index 6448d4d..7f2b0b5 100644 --- a/jdav_web/members/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/members/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\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" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1138,6 +1138,10 @@ msgstr "Teilgenommmen" msgid "Passed" msgstr "Bestanden" +#: members/models.py +msgid "certificate of attendance" +msgstr "Teilnahmebestätigung" + #: members/models.py msgid "Training" msgstr "Fortbildung" @@ -1713,7 +1717,7 @@ msgstr "Registrierung fehlgeschlagen" msgid "Registration" msgstr "Registrierung" -#: members/templates/members/leave_waitinglist.html +#: members/templates/members/leave_waitinglist.html members/tests.py msgid "Leave waitinglist" msgstr "Warteliste verlassen" @@ -1723,14 +1727,14 @@ msgid "" "you need to requeue if you change your mind later." msgstr "" "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, " -"musst du dich neu registrieren." +"rückgängig gemacht werden. Falls du später wieder der Warteliste beitreten " +"möchtest, musst du dich neu registrieren." #: members/templates/members/leave_waitinglist.html msgid "Yes, leave the waitinglist" msgstr "Ja, Warteliste verlassen" -#: members/templates/members/leave_waitinglist_success.html +#: members/templates/members/leave_waitinglist_success.html members/tests.py msgid "Left waitinglist" msgstr "Warteliste verlassen" diff --git a/jdav_web/members/migrations/0039_membertraining_certificate.py b/jdav_web/members/migrations/0039_membertraining_certificate.py new file mode 100644 index 0000000..c19810d --- /dev/null +++ b/jdav_web/members/migrations/0039_membertraining_certificate.py @@ -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'), + ), + ] diff --git a/jdav_web/members/migrations/0040_alter_membertraining_certificate.py b/jdav_web/members/migrations/0040_alter_membertraining_certificate.py new file mode 100644 index 0000000..0400624 --- /dev/null +++ b/jdav_web/members/migrations/0040_alter_membertraining_certificate.py @@ -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'), + ), + ] diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index c82cfe5..6166321 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -1785,7 +1785,15 @@ class MemberTraining(CommonModel): comments = models.TextField(verbose_name=_('Comments'), blank=True) participated = models.BooleanField(verbose_name=_('Participated')) 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): verbose_name = _('Training') verbose_name_plural = _('Trainings') -- 2.38.4 From 96c39e19c7d226690cef4a2c14b16195555ed31c Mon Sep 17 00:00:00 2001 From: mariusrklein <47218379+mariusrklein@users.noreply.github.com> Date: Tue, 25 Feb 2025 07:36:46 +0100 Subject: [PATCH 2/2] squashed migrations --- ..._membertraining_certificate_attendance.py} | 5 +++-- .../0040_alter_membertraining_certificate.py | 19 ------------------- 2 files changed, 3 insertions(+), 21 deletions(-) rename jdav_web/members/migrations/{0039_membertraining_certificate.py => 0039_membertraining_certificate_attendance.py} (78%) delete mode 100644 jdav_web/members/migrations/0040_alter_membertraining_certificate.py diff --git a/jdav_web/members/migrations/0039_membertraining_certificate.py b/jdav_web/members/migrations/0039_membertraining_certificate_attendance.py similarity index 78% rename from jdav_web/members/migrations/0039_membertraining_certificate.py rename to jdav_web/members/migrations/0039_membertraining_certificate_attendance.py index c19810d..f19da3d 100644 --- a/jdav_web/members/migrations/0039_membertraining_certificate.py +++ b/jdav_web/members/migrations/0039_membertraining_certificate_attendance.py @@ -1,4 +1,4 @@ -# Generated by Django 4.0.1 on 2025-02-24 22:15 +# Generated by Django 4.0.1 on 2025-02-25 06:34 from django.db import migrations import utils @@ -6,6 +6,7 @@ import utils class Migration(migrations.Migration): + dependencies = [ ('members', '0038_alter_invitationtogroup_date_alter_member_created_and_more'), ] @@ -14,6 +15,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='membertraining', name='certificate', - field=utils.RestrictedFileField(blank=True, upload_to='training_forms', verbose_name='registration form'), + field=utils.RestrictedFileField(blank=True, upload_to='training_forms', verbose_name='certificate of attendance'), ), ] diff --git a/jdav_web/members/migrations/0040_alter_membertraining_certificate.py b/jdav_web/members/migrations/0040_alter_membertraining_certificate.py deleted file mode 100644 index 0400624..0000000 --- a/jdav_web/members/migrations/0040_alter_membertraining_certificate.py +++ /dev/null @@ -1,19 +0,0 @@ -# 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'), - ), - ] -- 2.38.4