From b0fd584397ea09806ee9abcefdf09b991d540bc8 Mon Sep 17 00:00:00 2001 From: philipp lang Date: Mon, 23 Jun 2025 22:29:53 +0200 Subject: [PATCH] Add Special types requirement to contribution documents --- app/Contribution/Documents/BdkjHesse.php | 12 ++++++++++++ .../Documents/CityFrankfurtMainDocument.php | 12 ++++++++++++ .../Documents/CityRemscheidDocument.php | 13 +++++++++++++ .../Documents/CitySolingenDocument.php | 12 ++++++++++++ .../Documents/ContributionDocument.php | 6 ++++++ app/Contribution/Documents/RdpNrwDocument.php | 12 ++++++++++++ app/Contribution/Documents/WuppertalDocument.php | 14 ++++++++++++++ 7 files changed, 81 insertions(+) diff --git a/app/Contribution/Documents/BdkjHesse.php b/app/Contribution/Documents/BdkjHesse.php index 028d087b..f56417bb 100644 --- a/app/Contribution/Documents/BdkjHesse.php +++ b/app/Contribution/Documents/BdkjHesse.php @@ -6,6 +6,7 @@ use App\Contribution\Contracts\HasContributionData; use App\Contribution\Data\MemberData; use App\Contribution\Traits\HasPdfBackground; use App\Country; +use App\Form\Enums\SpecialType; use Carbon\Carbon; use Illuminate\Support\Collection; @@ -116,4 +117,15 @@ class BdkjHesse extends ContributionDocument 'zipLocation' => 'required|string', ]; } + + public static function requiredFormSpecialTypes(): array { + return [ + SpecialType::FIRSTNAME, + SpecialType::LASTNAME, + SpecialType::BIRTHDAY, + SpecialType::ZIP, + SpecialType::LOCATION, + SpecialType::GENDER, + ]; + } } diff --git a/app/Contribution/Documents/CityFrankfurtMainDocument.php b/app/Contribution/Documents/CityFrankfurtMainDocument.php index 04adf115..70b18655 100644 --- a/app/Contribution/Documents/CityFrankfurtMainDocument.php +++ b/app/Contribution/Documents/CityFrankfurtMainDocument.php @@ -7,6 +7,7 @@ use App\Contribution\Data\MemberData; use App\Contribution\Traits\FormatsDates; use App\Contribution\Traits\HasPdfBackground; use App\Country; +use App\Form\Enums\SpecialType; use App\Invoice\InvoiceSettings; use Illuminate\Support\Collection; use Carbon\Carbon; @@ -74,4 +75,15 @@ class CityFrankfurtMainDocument extends ContributionDocument 'zipLocation' => 'required|string', ]; } + + public static function requiredFormSpecialTypes(): array { + return [ + SpecialType::FIRSTNAME, + SpecialType::LASTNAME, + SpecialType::BIRTHDAY, + SpecialType::ZIP, + SpecialType::LOCATION, + SpecialType::ADDRESS, + ]; + } } diff --git a/app/Contribution/Documents/CityRemscheidDocument.php b/app/Contribution/Documents/CityRemscheidDocument.php index df1f2ff2..ee117b2a 100644 --- a/app/Contribution/Documents/CityRemscheidDocument.php +++ b/app/Contribution/Documents/CityRemscheidDocument.php @@ -6,6 +6,7 @@ use App\Contribution\Contracts\HasContributionData; use App\Contribution\Traits\FormatsDates; use App\Contribution\Traits\HasPdfBackground; use App\Country; +use App\Form\Enums\SpecialType; use App\Member\Member; use Illuminate\Support\Collection; use Carbon\Carbon; @@ -65,4 +66,16 @@ class CityRemscheidDocument extends ContributionDocument 'country' => 'required|integer|exists:countries,id', ]; } + + public static function requiredFormSpecialTypes(): array { + return [ + SpecialType::FIRSTNAME, + SpecialType::LASTNAME, + SpecialType::ADDRESS, + SpecialType::BIRTHDAY, + SpecialType::ZIP, + SpecialType::LOCATION, + SpecialType::LEADER + ]; + } } diff --git a/app/Contribution/Documents/CitySolingenDocument.php b/app/Contribution/Documents/CitySolingenDocument.php index 0ac410c2..2ba25b72 100644 --- a/app/Contribution/Documents/CitySolingenDocument.php +++ b/app/Contribution/Documents/CitySolingenDocument.php @@ -4,6 +4,7 @@ namespace App\Contribution\Documents; use App\Contribution\Contracts\HasContributionData; use App\Contribution\Data\MemberData; +use App\Form\Enums\SpecialType; use App\Invoice\InvoiceSettings; use Carbon\Carbon; use Illuminate\Support\Collection; @@ -94,4 +95,15 @@ class CitySolingenDocument extends ContributionDocument 'zipLocation' => 'required|string', ]; } + + public static function requiredFormSpecialTypes(): array { + return [ + SpecialType::FIRSTNAME, + SpecialType::LASTNAME, + SpecialType::BIRTHDAY, + SpecialType::ZIP, + SpecialType::LOCATION, + SpecialType::ADDRESS, + ]; + } } diff --git a/app/Contribution/Documents/ContributionDocument.php b/app/Contribution/Documents/ContributionDocument.php index 989e72bd..310ea5c5 100644 --- a/app/Contribution/Documents/ContributionDocument.php +++ b/app/Contribution/Documents/ContributionDocument.php @@ -3,6 +3,7 @@ namespace App\Contribution\Documents; use App\Contribution\Contracts\HasContributionData; +use App\Form\Enums\SpecialType; use Zoomyboy\Tex\Document; use Zoomyboy\Tex\Template; @@ -14,6 +15,11 @@ abstract class ContributionDocument extends Document abstract public static function fromPayload(HasContributionData $request): self; + /** + * @return array + */ + abstract public static function requiredFormSpecialTypes(): array; + /** * @return array */ diff --git a/app/Contribution/Documents/RdpNrwDocument.php b/app/Contribution/Documents/RdpNrwDocument.php index 59a9d013..6f190f0f 100644 --- a/app/Contribution/Documents/RdpNrwDocument.php +++ b/app/Contribution/Documents/RdpNrwDocument.php @@ -7,6 +7,7 @@ use App\Contribution\Data\MemberData; use App\Contribution\Traits\FormatsDates; use App\Contribution\Traits\HasPdfBackground; use App\Country; +use App\Form\Enums\SpecialType; use Illuminate\Support\Collection; use Carbon\Carbon; @@ -65,4 +66,15 @@ class RdpNrwDocument extends ContributionDocument 'zipLocation' => 'required|string', ]; } + + public static function requiredFormSpecialTypes(): array { + return [ + SpecialType::FIRSTNAME, + SpecialType::LASTNAME, + SpecialType::BIRTHDAY, + SpecialType::ZIP, + SpecialType::LOCATION, + SpecialType::GENDER, + ]; + } } diff --git a/app/Contribution/Documents/WuppertalDocument.php b/app/Contribution/Documents/WuppertalDocument.php index 441de35c..c5f23920 100644 --- a/app/Contribution/Documents/WuppertalDocument.php +++ b/app/Contribution/Documents/WuppertalDocument.php @@ -7,6 +7,7 @@ use App\Contribution\Data\MemberData; use App\Contribution\Traits\FormatsDates; use App\Contribution\Traits\HasPdfBackground; use App\Country; +use App\Form\Enums\SpecialType; use Illuminate\Support\Collection; use Carbon\Carbon; @@ -60,4 +61,17 @@ class WuppertalDocument extends ContributionDocument 'zipLocation' => 'required|string', ]; } + + public static function requiredFormSpecialTypes(): array { + return [ + SpecialType::FIRSTNAME, + SpecialType::LASTNAME, + SpecialType::ADDRESS, + SpecialType::BIRTHDAY, + SpecialType::ZIP, + SpecialType::LOCATION, + SpecialType::GENDER, + SpecialType::LEADER, + ]; + } }