remove member view
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
This commit is contained in:
parent
55ef4efe50
commit
3c64dee689
|
@ -1,43 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Views;
|
||||
|
||||
use App\Activity;
|
||||
use App\Course\Models\Course;
|
||||
use App\Member\FilterScope;
|
||||
use App\Member\Member;
|
||||
use App\Member\MemberResource;
|
||||
use App\Payment\Status;
|
||||
use App\Payment\Subscription;
|
||||
use App\Region;
|
||||
use App\Subactivity;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class MemberView
|
||||
{
|
||||
public function index(Request $request): array
|
||||
{
|
||||
$activities = Activity::with('subactivities')->get();
|
||||
$filter = FilterScope::fromRequest($request->input('filter', ''));
|
||||
|
||||
return [
|
||||
'data' => MemberResource::collection(Member::search($filter->search)->query(fn ($q) => $q->select('*')
|
||||
->withFilter($filter)
|
||||
->with('payments.subscription')->with(['memberships' => fn ($query) => $query->active()])->with('courses')->with('subscription')->with('leaderMemberships')->with('ageGroupMemberships')
|
||||
->withPendingPayment()
|
||||
->ordered()
|
||||
)->paginate(15)),
|
||||
'filterActivities' => Activity::where('is_filterable', true)->pluck('name', 'id'),
|
||||
'filterSubactivities' => Subactivity::where('is_filterable', true)->pluck('name', 'id'),
|
||||
'paymentDefaults' => ['nr' => date('Y')],
|
||||
'subscriptions' => Subscription::pluck('name', 'id'),
|
||||
'statuses' => Status::pluck('name', 'id'),
|
||||
'regions' => Region::forSelect(),
|
||||
'activities' => $activities->pluck('name', 'id'),
|
||||
'courses' => Course::pluck('name', 'id'),
|
||||
'subactivities' => $activities->map(function (Activity $activity) {
|
||||
return ['subactivities' => $activity->subactivities->pluck('name', 'id'), 'id' => $activity->id];
|
||||
})->pluck('subactivities', 'id'),
|
||||
];
|
||||
}
|
||||
}
|
|
@ -2,16 +2,8 @@
|
|||
|
||||
namespace App\Member;
|
||||
|
||||
use App\Activity;
|
||||
use App\Confession;
|
||||
use App\Country;
|
||||
use App\Gender;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Views\MemberView;
|
||||
use App\Invoice\BillKind;
|
||||
use App\Nationality;
|
||||
use App\Payment\Subscription;
|
||||
use App\Region;
|
||||
use App\Setting\GeneralSettings;
|
||||
use App\Setting\NamiSettings;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
|
@ -25,11 +17,16 @@ class MemberController extends Controller
|
|||
{
|
||||
session()->put('menu', 'member');
|
||||
session()->put('title', 'Mitglieder');
|
||||
$filter = FilterScope::fromRequest($request->input('filter', ''));
|
||||
|
||||
$payload = app(MemberView::class)->index($request);
|
||||
$payload['billKinds'] = BillKind::forSelect();
|
||||
|
||||
return \Inertia::render('member/VIndex', $payload);
|
||||
return \Inertia::render('member/VIndex', [
|
||||
'data' => MemberResource::collection(Member::search($filter->search)->query(fn ($q) => $q->select('*')
|
||||
->withFilter($filter)
|
||||
->with('payments.subscription')->with(['memberships' => fn ($query) => $query->active()])->with('courses')->with('subscription')->with('leaderMemberships')->with('ageGroupMemberships')
|
||||
->withPendingPayment()
|
||||
->ordered()
|
||||
)->paginate(15)),
|
||||
]);
|
||||
}
|
||||
|
||||
public function create(): Response
|
||||
|
@ -37,20 +34,7 @@ class MemberController extends Controller
|
|||
session()->put('menu', 'member');
|
||||
session()->put('title', 'Mitglied erstellen');
|
||||
|
||||
$activities = Activity::remote()->with(['subactivities' => fn ($q) => $q->remote()])->get();
|
||||
|
||||
return \Inertia::render('member/VForm', [
|
||||
'activities' => $activities->pluck('name', 'id'),
|
||||
'subactivities' => $activities->map(function (Activity $activity) {
|
||||
return ['subactivities' => $activity->subactivities()->pluck('name', 'id'), 'id' => $activity->id];
|
||||
})->pluck('subactivities', 'id'),
|
||||
'billKinds' => BillKind::forSelect(),
|
||||
'genders' => Gender::pluck('name', 'id'),
|
||||
'countries' => Country::pluck('name', 'id'),
|
||||
'regions' => Region::where('is_null', false)->pluck('name', 'id'),
|
||||
'nationalities' => Nationality::pluck('name', 'id'),
|
||||
'confessions' => Confession::where('is_null', false)->pluck('name', 'id'),
|
||||
'subscriptions' => Subscription::pluck('name', 'id'),
|
||||
'data' => [
|
||||
'country_id' => Country::default(),
|
||||
'efz' => null,
|
||||
|
@ -76,20 +60,7 @@ class MemberController extends Controller
|
|||
session()->put('menu', 'member');
|
||||
session()->put('title', "Mitglied {$member->firstname} {$member->lastname} bearbeiten");
|
||||
|
||||
$activities = Activity::remote()->with(['subactivities' => fn ($q) => $q->remote()])->get();
|
||||
|
||||
return \Inertia::render('member/VForm', [
|
||||
'activities' => $activities->pluck('name', 'id'),
|
||||
'subactivities' => $activities->map(function ($activity) {
|
||||
return ['subactivities' => $activity->subactivities->pluck('name', 'id'), 'id' => $activity->id];
|
||||
})->pluck('subactivities', 'id'),
|
||||
'billKinds' => BillKind::forSelect(),
|
||||
'genders' => Gender::pluck('name', 'id'),
|
||||
'countries' => Country::pluck('name', 'id'),
|
||||
'regions' => Region::where('is_null', false)->pluck('name', 'id'),
|
||||
'nationalities' => Nationality::pluck('name', 'id'),
|
||||
'confessions' => Confession::where('is_null', false)->pluck('name', 'id'),
|
||||
'subscriptions' => Subscription::select('name', 'id')->get(),
|
||||
'data' => new MemberResource($member),
|
||||
'mode' => 'edit',
|
||||
'conflict' => '1' === $request->query('conflict', '0'),
|
||||
|
|
|
@ -2,14 +2,24 @@
|
|||
|
||||
namespace App\Member;
|
||||
|
||||
use App\Activity;
|
||||
use App\Country;
|
||||
use App\Course\Models\Course;
|
||||
use App\Course\Resources\CourseMemberResource;
|
||||
use App\Gender;
|
||||
use App\Invoice\BillKind;
|
||||
use App\Lib\HasMeta;
|
||||
use App\Member\Data\NestedGroup;
|
||||
use App\Member\Resources\NationalityResource;
|
||||
use App\Member\Resources\RegionResource;
|
||||
use App\Membership\MembershipResource;
|
||||
use App\Nationality;
|
||||
use App\Payment\PaymentResource;
|
||||
use App\Payment\Status;
|
||||
use App\Payment\Subscription;
|
||||
use App\Payment\SubscriptionResource;
|
||||
use App\Region;
|
||||
use App\Subactivity;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
/**
|
||||
|
@ -103,9 +113,25 @@ class MemberResource extends JsonResource
|
|||
*/
|
||||
public static function meta(): array
|
||||
{
|
||||
$activities = Activity::remote()->with(['subactivities' => fn ($q) => $q->remote()])->get();
|
||||
|
||||
return [
|
||||
'filterActivities' => Activity::where('is_filterable', true)->pluck('name', 'id'),
|
||||
'filterSubactivities' => Subactivity::where('is_filterable', true)->pluck('name', 'id'),
|
||||
'formActivities' => $activities->pluck('name', 'id'),
|
||||
'formSubactivities' => $activities->map(function (Activity $activity) {
|
||||
return ['subactivities' => $activity->subactivities()->pluck('name', 'id'), 'id' => $activity->id];
|
||||
})->pluck('subactivities', 'id'),
|
||||
'groups' => NestedGroup::cacheForSelect(),
|
||||
'filter' => FilterScope::fromRequest(request()->input('filter', '')),
|
||||
'courses' => Course::pluck('name', 'id'),
|
||||
'regions' => Region::forSelect(),
|
||||
'statuses' => Status::pluck('name', 'id'),
|
||||
'subscriptions' => Subscription::pluck('name', 'id'),
|
||||
'countries' => Country::pluck('name', 'id'),
|
||||
'genders' => Gender::pluck('name', 'id'),
|
||||
'billKinds' => BillKind::forSelect(),
|
||||
'nationalities' => Nationality::pluck('name', 'id'),
|
||||
'links' => [
|
||||
'index' => route('member.index'),
|
||||
'create' => route('member.create'),
|
||||
|
|
|
@ -21,10 +21,10 @@
|
|||
<box heading="Stammdaten">
|
||||
<div class="grid sm:grid-cols-2 gap-3">
|
||||
<div class="grid grid-cols-2 gap-3">
|
||||
<f-select id="gender_id" name="gender_id" :options="genders" v-model="inner.gender_id" label="Geschlecht" size="sm"></f-select>
|
||||
<f-select id="gender_id" name="gender_id" :options="meta.genders" v-model="inner.gender_id" label="Geschlecht" size="sm"></f-select>
|
||||
<f-text id="salutation" v-model="inner.salutation" size="sm" label="Anrede"></f-text>
|
||||
</div>
|
||||
<f-select :options="nationalities" id="nationality_id" v-model="inner.nationality_id" label="Staatsangehörigkeit" name="nationality_id" size="sm" required></f-select>
|
||||
<f-select :options="meta.nationalities" id="nationality_id" v-model="inner.nationality_id" label="Staatsangehörigkeit" name="nationality_id" size="sm" required></f-select>
|
||||
<f-text id="firstname" v-model="inner.firstname" size="sm" label="Vorname" required></f-text>
|
||||
<f-text id="lastname" v-model="inner.lastname" size="sm" label="Nachname" required></f-text>
|
||||
<f-text id="address" v-model="inner.address" size="sm" label="Adresse" required></f-text>
|
||||
|
@ -32,8 +32,8 @@
|
|||
<f-text id="zip" v-model="inner.zip" size="sm" label="PLZ" required></f-text>
|
||||
<f-text id="location" v-model="inner.location" size="sm" label="Ort" required></f-text>
|
||||
<f-text type="date" id="birthday" v-model="inner.birthday" size="sm" label="Geburtsdatum" required></f-text>
|
||||
<f-select :options="regions" name="region_id" id="region_id" v-model="inner.region_id" label="Bundesland" size="sm"></f-select>
|
||||
<f-select :options="countries" id="country_id" v-model="inner.country_id" label="Land" name="country_id" size="sm" required></f-select>
|
||||
<f-select :options="meta.regions" name="region_id" id="region_id" v-model="inner.region_id" label="Bundesland" size="sm"></f-select>
|
||||
<f-select :options="meta.countries" id="country_id" v-model="inner.country_id" label="Land" name="country_id" size="sm" required></f-select>
|
||||
<f-text id="other_country" v-model="inner.other_country" label="Andere Staatsangehörigkeit" size="sm"></f-text>
|
||||
</div>
|
||||
</box>
|
||||
|
@ -51,17 +51,25 @@
|
|||
</box>
|
||||
<box heading="System">
|
||||
<div class="grid gap-3">
|
||||
<f-select :options="billKinds" id="bill_kind" v-model="inner.bill_kind" label="Rechnung versenden über" name="bill_kind" size="sm"></f-select>
|
||||
<f-select :options="subscriptions" id="subscription_id" v-model="inner.subscription_id" label="Beitrag" name="subscription_id" size="sm"></f-select>
|
||||
<f-select :options="meta.billKinds" id="bill_kind" v-model="inner.bill_kind" label="Rechnung versenden über" name="bill_kind" size="sm"></f-select>
|
||||
<f-select :options="meta.subscriptions" id="subscription_id" v-model="inner.subscription_id" label="Beitrag" name="subscription_id" size="sm"></f-select>
|
||||
<f-switch id="has_nami" size="sm" v-model="inner.has_nami" label="In Nami eintragen"></f-switch>
|
||||
<f-switch id="send_newspaper" v-model="inner.send_newspaper" label="Mittendrin versenden" size="sm"></f-switch>
|
||||
<f-text class="sm:col-span-2" type="date" id="joined_at" v-model="inner.joined_at" label="Eintrittsdatum" size="sm"></f-text>
|
||||
<f-textarea rows="3" id="comment" class="col-span-2" v-model="inner.comment" label="Kommentar" size="sm"></f-textarea>
|
||||
<div class="contents" v-if="mode === 'create'">
|
||||
<f-select :options="activities" id="first_activity_id" v-model="inner.first_activity_id" label="Erste Tätigkeit" name="first_activity_id" size="sm" required></f-select>
|
||||
<f-select
|
||||
:options="meta.formActivities"
|
||||
id="first_activity_id"
|
||||
v-model="inner.first_activity_id"
|
||||
label="Erste Tätigkeit"
|
||||
name="first_activity_id"
|
||||
size="sm"
|
||||
required
|
||||
></f-select>
|
||||
<f-select
|
||||
v-if="inner.first_activity_id"
|
||||
:options="subactivities[inner.first_activity_id]"
|
||||
:options="meta.formSubactivities[inner.first_activity_id]"
|
||||
id="first_subactivity_id"
|
||||
v-model="inner.first_subactivity_id"
|
||||
label="Erste Untertätigkeit"
|
||||
|
@ -130,17 +138,8 @@ export default {
|
|||
},
|
||||
|
||||
props: {
|
||||
subactivities: {},
|
||||
activities: {},
|
||||
mode: {},
|
||||
genders: {},
|
||||
subscriptions: {},
|
||||
data: {},
|
||||
regions: {},
|
||||
countries: {},
|
||||
nationalities: {},
|
||||
confessions: {},
|
||||
billKinds: {},
|
||||
conflict: {},
|
||||
meta: {},
|
||||
},
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
name="billKinds"
|
||||
id="billKinds"
|
||||
@input="setFilter('bill_kind', $event)"
|
||||
:options="billKinds"
|
||||
:options="data.meta.billKinds"
|
||||
:value="getFilter('bill_kind')"
|
||||
label="Rechnung"
|
||||
size="sm"
|
||||
|
@ -22,7 +22,7 @@
|
|||
<f-select
|
||||
id="activity_id"
|
||||
@input="setFilter('activity_id', $event)"
|
||||
:options="filterActivities"
|
||||
:options="data.meta.filterActivities"
|
||||
:value="getFilter('activity_id')"
|
||||
label="Tätigkeit"
|
||||
size="sm"
|
||||
|
@ -31,7 +31,7 @@
|
|||
<f-select
|
||||
id="subactivity_id"
|
||||
@input="setFilter('subactivity_id', $event)"
|
||||
:options="filterSubactivities"
|
||||
:options="data.meta.filterSubactivities"
|
||||
:value="getFilter('subactivity_id')"
|
||||
label="Untertätigkeit"
|
||||
size="sm"
|
||||
|
@ -100,19 +100,19 @@
|
|||
<member-payments
|
||||
v-if="single !== null && sidebar === 'payment.index'"
|
||||
@close="closeSidebar"
|
||||
:subscriptions="subscriptions"
|
||||
:statuses="statuses"
|
||||
:subscriptions="data.meta.subscriptions"
|
||||
:statuses="data.meta.statuses"
|
||||
:value="data.data[single]"
|
||||
></member-payments>
|
||||
<member-memberships
|
||||
v-if="single !== null && sidebar === 'membership.index'"
|
||||
@close="closeSidebar"
|
||||
:groups="data.meta.groups"
|
||||
:activities="activities"
|
||||
:subactivities="subactivities"
|
||||
:activities="data.meta.formActivities"
|
||||
:subactivities="data.meta.formSubactivities"
|
||||
:value="data.data[single]"
|
||||
></member-memberships>
|
||||
<member-courses v-if="single !== null && sidebar === 'courses.index'" @close="closeSidebar" :courses="courses" :value="data.data[single]"></member-courses>
|
||||
<member-courses v-if="single !== null && sidebar === 'courses.index'" @close="closeSidebar" :courses="data.meta.courses" :value="data.data[single]"></member-courses>
|
||||
</transition>
|
||||
</page-layout>
|
||||
</template>
|
||||
|
@ -163,16 +163,7 @@ export default {
|
|||
},
|
||||
|
||||
props: {
|
||||
subscriptions: {},
|
||||
statuses: {},
|
||||
paymentDefaults: {},
|
||||
query: {},
|
||||
billKinds: {},
|
||||
activities: {},
|
||||
subactivities: {},
|
||||
filterActivities: {},
|
||||
filterSubactivities: {},
|
||||
courses: {},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
Loading…
Reference in New Issue