From 6cf9bdd66d974634a13d0316e787683e4f076a66 Mon Sep 17 00:00:00 2001
From: philipp lang <philipp@aweos.de>
Date: Sun, 11 Apr 2021 11:44:51 +0200
Subject: [PATCH] Add sonstiges

---
 app/Member/MemberController.php    |  8 ++++++++
 app/Member/MemberResource.php      |  5 +++++
 resources/js/views/member/Edit.vue | 26 ++++++++++++++++++++++++--
 3 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/app/Member/MemberController.php b/app/Member/MemberController.php
index b70381bb..afd3d579 100644
--- a/app/Member/MemberController.php
+++ b/app/Member/MemberController.php
@@ -6,6 +6,10 @@ use App\Http\Controllers\Controller;
 use Illuminate\Http\Request;
 use App\Gender;
 use App\Fee;
+use App\Region;
+use App\Country;
+use App\Nationality;
+use App\Confession;
 
 class MemberController extends Controller
 {
@@ -24,6 +28,10 @@ class MemberController extends Controller
 
         return \Inertia::render('member/Edit', [
             'genders' => Gender::where('is_null', false)->get()->pluck('name', 'id'),
+            'countries' => Country::get()->pluck('name', 'id'),
+            'regions' => Region::where('is_null', false)->get()->pluck('name', 'id'),
+            'nationalities' => Nationality::get()->pluck('name', 'id'),
+            'confessions' => Confession::where('is_null', false)->get()->pluck('name', 'id'),
             'fees' => Fee::get()->pluck('name', 'id'),
             'data' => new MemberResource($member)
         ]);
diff --git a/app/Member/MemberResource.php b/app/Member/MemberResource.php
index ffd78011..64f12398 100644
--- a/app/Member/MemberResource.php
+++ b/app/Member/MemberResource.php
@@ -33,6 +33,11 @@ class MemberResource extends JsonResource
             'email_parents' => $this->email_parents,
             'fax' => $this->fax,
             'nami_id' => $this->nami_id,
+            'country_id' => $this->country_id,
+            'region_id' => $this->region_id,
+            'nationality_id' => $this->nationality_id,
+            'other_country' => $this->other_country,
+            'confession_id' => $this->confession_id,
         ];
     }
 }
diff --git a/resources/js/views/member/Edit.vue b/resources/js/views/member/Edit.vue
index a5bbd484..2606161a 100644
--- a/resources/js/views/member/Edit.vue
+++ b/resources/js/views/member/Edit.vue
@@ -33,6 +33,15 @@
                 <div>
                     <f-text id="location" v-model="inner.location" label="Ort"></f-text>
                 </div>
+                <div>
+                    <f-select :options="regions" id="region_id" v-model="inner.region_id" label="Bundesland"></f-select>
+                </div>
+                <div>
+                    <f-select :options="countries" id="country_id" v-model="inner.country_id" label="Land"></f-select>
+                </div>
+                <div>
+                    <f-select :options="nationalities" id="nationality_id" v-model="inner.nationality_id" label="Staatsangehörigkeit"></f-select>
+                </div>
             </div>
             <div class="grid grid-cols-2 gap-3 p-4" v-if="menuTitle == 'Kontakt'">
                 <div>
@@ -54,6 +63,14 @@
                     <f-text id="fax" v-model="inner.fax" label="Fax"></f-text>
                 </div>
             </div>
+            <div class="grid grid-cols-2 gap-3 p-4" v-if="menuTitle == 'Sonstiges'">
+                <div>
+                    <f-text id="other_country" v-model="inner.other_country" label="Andere Staatsangehörigkeit"></f-text>
+                </div>
+                <div>
+                    <f-select :options="confessions" id="confession_id" v-model="inner.confession_id" label="Konfession"></f-select>
+                </div>
+            </div>
         </div>
     </form>
 </template>
@@ -63,10 +80,11 @@ export default {
     data: function() {
         return {
             inner: {},
-            active: 0,
+            active: 2,
             menu: [
                 { title: 'Stammdaten' },
                 { title: 'Kontakt' },
+                { title: 'Sonstiges' },
             ]
         };
     },
@@ -74,7 +92,11 @@ export default {
     props: {
         genders: {},
         fees: {},
-        data: {}
+        data: {},
+        regions: {},
+        countries: {},
+        nationalities: {},
+        confessions: {},
     },
 
     methods: {