PHP Cs Fixer

This commit is contained in:
Philipp Lang 2022-03-11 20:19:17 +01:00
parent f0256f39e7
commit d0c18fb78c
121 changed files with 312 additions and 447 deletions

View File

@ -10,7 +10,6 @@ use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class Activity extends Model class Activity extends Model
{ {
use HasFactory; use HasFactory;
use HasNamiField; use HasNamiField;
use Sluggable; use Sluggable;
@ -19,7 +18,7 @@ class Activity extends Model
public $timestamps = false; public $timestamps = false;
public $casts = [ public $casts = [
'nami_id' => 'integer' 'nami_id' => 'integer',
]; ];
public function sluggable(): array public function sluggable(): array
@ -31,8 +30,8 @@ class Activity extends Model
]; ];
} }
public function subactivities(): BelongsToMany { public function subactivities(): BelongsToMany
{
return $this->belongsToMany(Subactivity::class); return $this->belongsToMany(Subactivity::class);
} }
} }

View File

@ -7,7 +7,6 @@ use Illuminate\Database\Eloquent\Model;
class Confession extends Model class Confession extends Model
{ {
use HasFactory; use HasFactory;
public $fillable = ['name', 'nami_id', 'is_null']; public $fillable = ['name', 'nami_id', 'is_null'];

View File

@ -4,7 +4,6 @@ namespace App\Console\Commands;
use App\Initialize\Initializer; use App\Initialize\Initializer;
use Illuminate\Console\Command; use Illuminate\Console\Command;
use Zoomyboy\LaravelNami\Nami;
use Zoomyboy\LaravelNami\NamiException; use Zoomyboy\LaravelNami\NamiException;
class NamiInitializeCommand extends Command class NamiInitializeCommand extends Command
@ -44,6 +43,7 @@ class NamiInitializeCommand extends Command
app(Initializer::class)->run(); app(Initializer::class)->run();
} catch (NamiException $e) { } catch (NamiException $e) {
$e->outputToConsole($this); $e->outputToConsole($this);
return 1; return 1;
} }

View File

@ -13,14 +13,13 @@ class Kernel extends ConsoleKernel
* *
* @var array * @var array
*/ */
protected $commands = [ protected $commands = [
PaymentSendCommand::class, PaymentSendCommand::class,
]; ];
/** /**
* Define the application's command schedule. * Define the application's command schedule.
* *
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void * @return void
*/ */
protected function schedule(Schedule $schedule) protected function schedule(Schedule $schedule)

View File

@ -13,7 +13,8 @@ class Country extends Model
public $fillable = ['name', 'nami_id']; public $fillable = ['name', 'nami_id'];
public static function default(): int { public static function default(): int
{
return self::whereName('Deutschland')->firstOrFail()->id; return self::whereName('Deutschland')->firstOrFail()->id;
} }

View File

@ -10,7 +10,6 @@ use App\Http\Controllers\Controller;
use App\Member\Member; use App\Member\Member;
use App\Setting\NamiSettings; use App\Setting\NamiSettings;
use Illuminate\Http\RedirectResponse; use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
class CourseController extends Controller class CourseController extends Controller
{ {

View File

@ -2,14 +2,10 @@
namespace App\Course\Requests; namespace App\Course\Requests;
use App\Course\Models\Course;
use App\Course\Models\CourseMember; use App\Course\Models\CourseMember;
use App\Member\Member; use App\Member\Member;
use App\Setting\NamiSettings; use App\Setting\NamiSettings;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Arr;
use Illuminate\Validation\ValidationException;
use Zoomyboy\LaravelNami\NamiException;
class DestroyRequest extends FormRequest class DestroyRequest extends FormRequest
{ {

View File

@ -6,14 +6,9 @@ use App\Course\Models\Course;
use App\Member\Member; use App\Member\Member;
use App\Setting\NamiSettings; use App\Setting\NamiSettings;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Arr;
use Illuminate\Validation\ValidationException;
use Zoomyboy\LaravelNami\Nami;
use Zoomyboy\LaravelNami\NamiException;
class StoreRequest extends FormRequest class StoreRequest extends FormRequest
{ {
/** /**
* Determine if the user is authorized to make this request. * Determine if the user is authorized to make this request.
* *
@ -51,5 +46,4 @@ class StoreRequest extends FormRequest
$member->courses()->create($this->safe()->collect()->put('nami_id', $namiId)->toArray()); $member->courses()->create($this->safe()->collect()->put('nami_id', $namiId)->toArray());
} }
} }

View File

@ -7,9 +7,6 @@ use App\Course\Models\CourseMember;
use App\Member\Member; use App\Member\Member;
use App\Setting\NamiSettings; use App\Setting\NamiSettings;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Arr;
use Illuminate\Validation\ValidationException;
use Zoomyboy\LaravelNami\NamiException;
class UpdateRequest extends FormRequest class UpdateRequest extends FormRequest
{ {

View File

@ -13,7 +13,8 @@ class CourseResource extends JsonResource
/** /**
* Transform the resource into an array. * Transform the resource into an array.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
*
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable * @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
*/ */
public function toArray($request) public function toArray($request)

View File

@ -6,7 +6,6 @@ use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Illuminate\Validation\ValidationException; use Illuminate\Validation\ValidationException;
use Throwable; use Throwable;
use Zoomyboy\LaravelNami\LoginException; use Zoomyboy\LaravelNami\LoginException;
use Zoomyboy\LaravelNami\NamiException;
class Handler extends ExceptionHandler class Handler extends ExceptionHandler
{ {
@ -16,7 +15,6 @@ class Handler extends ExceptionHandler
* @var string[] * @var string[]
*/ */
protected $dontReport = [ protected $dontReport = [
//
]; ];
/** /**
@ -32,7 +30,6 @@ class Handler extends ExceptionHandler
/** /**
* Report or log an exception. * Report or log an exception.
* *
* @param \Throwable $exception
* @return void * @return void
* *
* @throws \Exception * @throws \Exception
@ -45,8 +42,8 @@ class Handler extends ExceptionHandler
/** /**
* Render an exception into an HTTP response. * Render an exception into an HTTP response.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @param \Throwable $exception *
* @return \Symfony\Component\HttpFoundation\Response * @return \Symfony\Component\HttpFoundation\Response
* *
* @throws \Throwable * @throws \Throwable

View File

@ -2,7 +2,6 @@
namespace App; namespace App;
use App\Member\Member;
use App\Payment\Subscription; use App\Payment\Subscription;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;

View File

@ -7,7 +7,6 @@ use Illuminate\Database\Eloquent\Model;
class Gender extends Model class Gender extends Model
{ {
use HasNamiField; use HasNamiField;
public $fillable = ['name', 'nami_id']; public $fillable = ['name', 'nami_id'];

View File

@ -39,8 +39,8 @@ class LoginController extends Controller
$this->middleware('guest')->except('logout'); $this->middleware('guest')->except('logout');
} }
public function showLoginForm(): Response { public function showLoginForm(): Response
{
return \Inertia::render('VLogin'); return \Inertia::render('VLogin');
} }
} }

View File

@ -44,7 +44,6 @@ class RegisterController extends Controller
/** /**
* Get a validator for an incoming registration request. * Get a validator for an incoming registration request.
* *
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator * @return \Illuminate\Contracts\Validation\Validator
*/ */
protected function validator(array $data) protected function validator(array $data)
@ -59,7 +58,6 @@ class RegisterController extends Controller
/** /**
* Create a new user instance after a valid registration. * Create a new user instance after a valid registration.
* *
* @param array $data
* @return \App\User * @return \App\User
*/ */
protected function create(array $data) protected function create(array $data)

View File

@ -9,5 +9,7 @@ use Illuminate\Routing\Controller as BaseController;
abstract class Controller extends BaseController abstract class Controller extends BaseController
{ {
use AuthorizesRequests, DispatchesJobs, ValidatesRequests; use AuthorizesRequests;
use DispatchesJobs;
use ValidatesRequests;
} }

View File

@ -37,7 +37,7 @@ class Kernel extends HttpKernel
\App\Http\Middleware\VerifyCsrfToken::class, \App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class, \Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\InertiaShareMiddleware::class, \App\Http\Middleware\InertiaShareMiddleware::class,
\App\Http\Middleware\RedirectIfNotInitializedMiddleware::class \App\Http\Middleware\RedirectIfNotInitializedMiddleware::class,
], ],
'api' => [ 'api' => [

View File

@ -9,12 +9,13 @@ class Authenticate extends Middleware
/** /**
* Get the path the user should be redirected to when they are not authenticated. * Get the path the user should be redirected to when they are not authenticated.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
*
* @return string|null * @return string|null
*/ */
protected function redirectTo($request) protected function redirectTo($request)
{ {
if (! $request->expectsJson()) { if (!$request->expectsJson()) {
return route('login'); return route('login');
} }
} }

View File

@ -12,6 +12,5 @@ class CheckForMaintenanceMode extends Middleware
* @var array * @var array
*/ */
protected $except = [ protected $except = [
//
]; ];
} }

View File

@ -12,6 +12,5 @@ class EncryptCookies extends Middleware
* @var array * @var array
*/ */
protected $except = [ protected $except = [
//
]; ];
} }

View File

@ -9,12 +9,11 @@ use Session;
class InertiaShareMiddleware class InertiaShareMiddleware
{ {
/** /**
* Handle an incoming request. * Handle an incoming request.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @param \Closure $next *
* @return mixed * @return mixed
*/ */
public function handle($request, Closure $next) public function handle($request, Closure $next)
@ -23,7 +22,7 @@ class InertiaShareMiddleware
'auth' => ['user' => auth()->check() ? new UserResource(auth()->user()) : null], 'auth' => ['user' => auth()->check() ? new UserResource(auth()->user()) : null],
'search' => $request->query('search', ''), 'search' => $request->query('search', ''),
'flash' => session()->get('flash'), 'flash' => session()->get('flash'),
'menu' => function() { 'menu' => function () {
return session()->get('menu'); return session()->get('menu');
}, },
'errors' => function () { 'errors' => function () {
@ -31,12 +30,12 @@ class InertiaShareMiddleware
? Session::get('errors')->getBag('default')->getMessages() ? Session::get('errors')->getBag('default')->getMessages()
: (object) []; : (object) [];
}, },
'title' => function() { 'title' => function () {
return session()->get('title', ''); return session()->get('title', '');
}, },
'settings' => [ 'settings' => [
'modules' => app(GeneralSettings::class)->modules, 'modules' => app(GeneralSettings::class)->modules,
] ],
]); ]);
$response = $next($request); $response = $next($request);

View File

@ -11,9 +11,9 @@ class RedirectIfAuthenticated
/** /**
* Handle an incoming request. * Handle an incoming request.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @param \Closure $next * @param string|null $guard
* @param string|null $guard *
* @return mixed * @return mixed
*/ */
public function handle($request, Closure $next, $guard = null) public function handle($request, Closure $next, $guard = null)

View File

@ -6,19 +6,18 @@ use Closure;
class RedirectIfNotInitializedMiddleware class RedirectIfNotInitializedMiddleware
{ {
public array $dontRedirect = ['initialize.index', 'initialize.store']; public array $dontRedirect = ['initialize.index', 'initialize.store'];
/** /**
* Handle an incoming request. * Handle an incoming request.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @param \Closure $next *
* @return mixed * @return mixed
*/ */
public function handle($request, Closure $next) public function handle($request, Closure $next)
{ {
if(!$this->shouldRedirect()) { if (!$this->shouldRedirect()) {
return $next($request); return $next($request);
} }

View File

@ -12,6 +12,5 @@ class VerifyCsrfToken extends Middleware
* @var array * @var array
*/ */
protected $except = [ protected $except = [
//
]; ];
} }

View File

@ -13,7 +13,8 @@ class UserResource extends JsonResource
/** /**
* Transform the resource into an array. * Transform the resource into an array.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
*
* @return array * @return array
*/ */
public function toArray($request) public function toArray($request)
@ -22,8 +23,8 @@ class UserResource extends JsonResource
'name' => $this->name, 'name' => $this->name,
'email' => $this->email, 'email' => $this->email,
'avatar' => [ 'avatar' => [
'src' => Storage::url('avatar.png') 'src' => Storage::url('avatar.png'),
] ],
]; ];
} }
} }

View File

@ -3,14 +3,11 @@
namespace App\Http\Views; namespace App\Http\Views;
use App\Member\Member; use App\Member\Member;
use App\Member\MemberResource;
use App\Payment\Payment; use App\Payment\Payment;
use App\Payment\PaymentResource;
use App\Payment\Status;
use App\Payment\Subscription;
use Illuminate\Http\Request; use Illuminate\Http\Request;
class HomeView { class HomeView
{
public function index(Request $request): array public function index(Request $request): array
{ {
/** @var object{a: string} */ /** @var object{a: string} */
@ -22,7 +19,7 @@ class HomeView {
'payments' => [ 'payments' => [
'users' => $members, 'users' => $members,
'all_users' => Member::count(), 'all_users' => Member::count(),
'amount' => number_format($amount->a / 100, 2, ',', '.').' €' 'amount' => number_format($amount->a / 100, 2, ',', '.').' €',
], ],
'groups' => Member::select('subactivities.slug', 'subactivities.name')->selectRaw('COUNT(members.id) AS count')->join('memberships', 'memberships.member_id', 'members.id') 'groups' => Member::select('subactivities.slug', 'subactivities.name')->selectRaw('COUNT(members.id) AS count')->join('memberships', 'memberships.member_id', 'members.id')
->join('activities', 'memberships.activity_id', 'activities.id') ->join('activities', 'memberships.activity_id', 'activities.id')
@ -33,8 +30,7 @@ class HomeView {
->orderBy('subactivities.id') ->orderBy('subactivities.id')
->get(), ->get(),
'ending_tries' => MemberTriesResource::collection(Member::endingTries()->get()), 'ending_tries' => MemberTriesResource::collection(Member::endingTries()->get()),
] ],
]; ];
} }
} }

View File

@ -3,7 +3,6 @@
namespace App\Http\Views; namespace App\Http\Views;
use App\Member\MemberResource; use App\Member\MemberResource;
use Illuminate\Http\Resources\Json\JsonResource;
/** /**
* @mixin \App\Member\Member * @mixin \App\Member\Member
@ -13,7 +12,8 @@ class MemberTriesResource extends MemberResource
/** /**
* Transform the resource into an array. * Transform the resource into an array.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
*
* @return array * @return array
*/ */
public function toArray($request) public function toArray($request)

View File

@ -14,7 +14,8 @@ use App\Payment\Subscription;
use App\Subactivity; use App\Subactivity;
use Illuminate\Http\Request; use Illuminate\Http\Request;
class MemberView { class MemberView
{
public function index(Request $request, array $filter): array public function index(Request $request, array $filter): array
{ {
$activities = Activity::with('subactivities')->get(); $activities = Activity::with('subactivities')->get();
@ -29,13 +30,13 @@ class MemberView {
), ),
'filterActivities' => Activity::where('is_filterable', true)->pluck('name', 'id'), 'filterActivities' => Activity::where('is_filterable', true)->pluck('name', 'id'),
'filterSubactivities' => Subactivity::where('is_filterable', true)->pluck('name', 'id'), 'filterSubactivities' => Subactivity::where('is_filterable', true)->pluck('name', 'id'),
'toolbar' => [ ['href' => route('member.index'), 'label' => 'Zurück', 'color' => 'primary', 'icon' => 'plus'] ], 'toolbar' => [['href' => route('member.index'), 'label' => 'Zurück', 'color' => 'primary', 'icon' => 'plus']],
'paymentDefaults' => ['nr' => date('Y')], 'paymentDefaults' => ['nr' => date('Y')],
'subscriptions' => Subscription::pluck('name', 'id'), 'subscriptions' => Subscription::pluck('name', 'id'),
'statuses' => Status::pluck('name', 'id'), 'statuses' => Status::pluck('name', 'id'),
'activities' => $activities->pluck('name', 'id'), 'activities' => $activities->pluck('name', 'id'),
'courses' => Course::pluck('name', 'id'), 'courses' => Course::pluck('name', 'id'),
'subactivities' => $activities->map(function(Activity $activity) { 'subactivities' => $activities->map(function (Activity $activity) {
return ['subactivities' => $activity->subactivities->pluck('name', 'id'), 'id' => $activity->id]; return ['subactivities' => $activity->subactivities->pluck('name', 'id'), 'id' => $activity->id];
})->pluck('subactivities', 'id'), })->pluck('subactivities', 'id'),
]; ];
@ -45,7 +46,7 @@ class MemberView {
{ {
return $this->additional($member, [ return $this->additional($member, [
'model' => new PaymentResource($payment), 'model' => new PaymentResource($payment),
'links' => [ ['label' => 'Zurück', 'href' => route('member.payment.index', ['member' => $member]) ] ], 'links' => [['label' => 'Zurück', 'href' => route('member.payment.index', ['member' => $member])]],
'mode' => 'edit', 'mode' => 'edit',
]); ]);
} }
@ -55,7 +56,7 @@ class MemberView {
return $this->additional($member, [ return $this->additional($member, [
'model' => null, 'model' => null,
'links' => [ 'links' => [
['icon' => 'plus', 'href' => route('member.payment.create', ['member' => $member]) ], ['icon' => 'plus', 'href' => route('member.payment.create', ['member' => $member])],
], ],
'payment_links' => app(ActionFactory::class)->forMember($member), 'payment_links' => app(ActionFactory::class)->forMember($member),
'mode' => 'index', 'mode' => 'index',
@ -70,5 +71,4 @@ class MemberView {
'statuses' => Status::pluck('name', 'id'), 'statuses' => Status::pluck('name', 'id'),
], $overwrites)); ], $overwrites));
} }
} }

View File

@ -4,8 +4,8 @@ namespace App\Initialize;
use Zoomyboy\LaravelNami\Api; use Zoomyboy\LaravelNami\Api;
class ActivityCreator { class ActivityCreator
{
private array $tries = [ private array $tries = [
'Schnuppermitgliedschaft', 'Schnuppermitgliedschaft',
]; ];
@ -17,8 +17,8 @@ class ActivityCreator {
public function createFor(Api $api, int $groupId): void public function createFor(Api $api, int $groupId): void
{ {
$api->activities($groupId)->each(function($activity) use ($api) { $api->activities($groupId)->each(function ($activity) use ($api) {
$activity = \App\Activity::updateOrCreate(['nami_id' => $activity->id], [ $activity = \App\Activity::updateOrCreate(['nami_id' => $activity->id], [
'nami_id' => $activity->id, 'nami_id' => $activity->id,
'name' => $activity->name, 'name' => $activity->name,
'is_try' => in_array($activity->name, $this->tries), 'is_try' => in_array($activity->name, $this->tries),
@ -26,7 +26,7 @@ class ActivityCreator {
]); ]);
$groups = []; $groups = [];
$api->subactivitiesOf($activity->nami_id)->each(function($group) use (&$groups) { $api->subactivitiesOf($activity->nami_id)->each(function ($group) use (&$groups) {
$group = \App\Subactivity::updateOrCreate(['nami_id' => $group->id], [ $group = \App\Subactivity::updateOrCreate(['nami_id' => $group->id], [
'nami_id' => $group->id, 'nami_id' => $group->id,
'name' => $group->name, 'name' => $group->name,
@ -36,6 +36,4 @@ class ActivityCreator {
$activity->subactivities()->sync($groups); $activity->subactivities()->sync($groups);
}); });
} }
} }

View File

@ -4,11 +4,12 @@ namespace App\Initialize;
use Zoomyboy\LaravelNami\Api; use Zoomyboy\LaravelNami\Api;
class InitializeActivities { class InitializeActivities
{
private Api $api; private Api $api;
public function __construct(Api $api) { public function __construct(Api $api)
{
$this->api = $api; $this->api = $api;
} }

View File

@ -1,22 +1,23 @@
<?php <?php
namespace App\Initialize; namespace App\Initialize;
use App\Confession; use App\Confession;
use Zoomyboy\LaravelNami\Api; use Zoomyboy\LaravelNami\Api;
class InitializeConfessions { class InitializeConfessions
{
private Api $api; private Api $api;
public string $nullName = 'ohne Konfession'; public string $nullName = 'ohne Konfession';
public function __construct(Api $api) { public function __construct(Api $api)
{
$this->api = $api; $this->api = $api;
} }
public function handle(): void public function handle(): void
{ {
$this->api->confessions()->each(function($confession) { $this->api->confessions()->each(function ($confession) {
Confession::create(['nami_id' => $confession->id, 'name' => $confession->name, 'is_null' => $this->nullName === $confession->name]); Confession::create(['nami_id' => $confession->id, 'name' => $confession->name, 'is_null' => $this->nullName === $confession->name]);
}); });
} }

View File

@ -4,7 +4,6 @@ namespace App\Initialize;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Http\RedirectResponse; use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Inertia\Response; use Inertia\Response;
class InitializeController extends Controller class InitializeController extends Controller

View File

@ -4,17 +4,18 @@ namespace App\Initialize;
use Zoomyboy\LaravelNami\Api; use Zoomyboy\LaravelNami\Api;
class InitializeCountries { class InitializeCountries
{
private Api $api; private Api $api;
public function __construct(Api $api) { public function __construct(Api $api)
{
$this->api = $api; $this->api = $api;
} }
public function handle(): void public function handle(): void
{ {
$this->api->countries()->each(function($country) { $this->api->countries()->each(function ($country) {
\App\Country::create(['nami_id' => $country->id, 'name' => $country->name]); \App\Country::create(['nami_id' => $country->id, 'name' => $country->name]);
}); });
} }

View File

@ -5,17 +5,18 @@ namespace App\Initialize;
use App\Course\Models\Course; use App\Course\Models\Course;
use Zoomyboy\LaravelNami\Api; use Zoomyboy\LaravelNami\Api;
class InitializeCourses { class InitializeCourses
{
private Api $api; private Api $api;
public function __construct(Api $api) { public function __construct(Api $api)
{
$this->api = $api; $this->api = $api;
} }
public function handle(): void public function handle(): void
{ {
$this->api->courses()->each(function($course) { $this->api->courses()->each(function ($course) {
Course::create(['nami_id' => $course->id, 'name' => $course->name]); Course::create(['nami_id' => $course->id, 'name' => $course->name]);
}); });
} }

View File

@ -1,22 +1,23 @@
<?php <?php
namespace App\Initialize; namespace App\Initialize;
use App\Fee; use App\Fee;
use Zoomyboy\LaravelNami\Api; use Zoomyboy\LaravelNami\Api;
class InitializeFees { class InitializeFees
{
private Api $api; private Api $api;
public function __construct(Api $api) { public function __construct(Api $api)
{
$this->api = $api; $this->api = $api;
} }
public function handle(): void public function handle(): void
{ {
$group = $this->api->groups()->first()->id; $group = $this->api->groups()->first()->id;
$this->api->feesOf($group)->each(function($fee) { $this->api->feesOf($group)->each(function ($fee) {
Fee::create(['nami_id' => $fee->id, 'name' => $fee->name]) Fee::create(['nami_id' => $fee->id, 'name' => $fee->name])
->subscriptions()->create([ ->subscriptions()->create([
'name' => $fee->name, 'name' => $fee->name,

View File

@ -1,20 +1,21 @@
<?php <?php
namespace App\Initialize; namespace App\Initialize;
use Zoomyboy\LaravelNami\Api; use Zoomyboy\LaravelNami\Api;
class InitializeGenders { class InitializeGenders
{
private Api $api; private Api $api;
public function __construct(Api $api) { public function __construct(Api $api)
{
$this->api = $api; $this->api = $api;
} }
public function handle(): void public function handle(): void
{ {
$this->api->genders()->each(function($gender) { $this->api->genders()->each(function ($gender) {
\App\Gender::create(['nami_id' => $gender->id, 'name' => $gender->name]); \App\Gender::create(['nami_id' => $gender->id, 'name' => $gender->name]);
}); });
} }

View File

@ -1,21 +1,22 @@
<?php <?php
namespace App\Initialize; namespace App\Initialize;
use App\Group; use App\Group;
use Zoomyboy\LaravelNami\Api; use Zoomyboy\LaravelNami\Api;
class InitializeGroups { class InitializeGroups
{
private Api $api; private Api $api;
public function __construct(Api $api) { public function __construct(Api $api)
{
$this->api = $api; $this->api = $api;
} }
public function handle(): void public function handle(): void
{ {
$this->api->groups()->each(function($group) { $this->api->groups()->each(function ($group) {
$parent = Group::updateOrCreate(['nami_id' => $group->id], ['nami_id' => $group->id, 'name' => $group->name]); $parent = Group::updateOrCreate(['nami_id' => $group->id], ['nami_id' => $group->id, 'name' => $group->name]);
$this->api->subgroupsOf($group->id)->each(function ($subgroup) use ($parent) { $this->api->subgroupsOf($group->id)->each(function ($subgroup) use ($parent) {

View File

@ -2,7 +2,6 @@
namespace App\Initialize; namespace App\Initialize;
use App\Member;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
@ -11,7 +10,10 @@ use Illuminate\Queue\SerializesModels;
class InitializeJob implements ShouldQueue class InitializeJob implements ShouldQueue
{ {
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Dispatchable;
use InteractsWithQueue;
use Queueable;
use SerializesModels;
/** /**
* Execute the job. * Execute the job.

View File

@ -13,20 +13,19 @@ use App\Member\Member;
use App\Nationality; use App\Nationality;
use App\Region; use App\Region;
use App\Subactivity; use App\Subactivity;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Database\Eloquent\ModelNotFoundException;
use Zoomyboy\LaravelNami\Api; use Zoomyboy\LaravelNami\Api;
use Zoomyboy\LaravelNami\Data\MembershipEntry; use Zoomyboy\LaravelNami\Data\MembershipEntry;
use Zoomyboy\LaravelNami\Exceptions\RightException; use Zoomyboy\LaravelNami\Exceptions\RightException;
use Zoomyboy\LaravelNami\Member as NamiMember; use Zoomyboy\LaravelNami\Member as NamiMember;
use Zoomyboy\LaravelNami\Membership as NamiMembership;
use Zoomyboy\LaravelNami\NamiException; use Zoomyboy\LaravelNami\NamiException;
class InitializeMembers { class InitializeMembers
{
private Api $api; private Api $api;
public function __construct(Api $api) { public function __construct(Api $api)
{
$this->api = $api; $this->api = $api;
} }
@ -44,7 +43,7 @@ class InitializeMembers {
{ {
$allMembers = collect([]); $allMembers = collect([]);
$this->api->search([])->each(function(NamiMember $member): void { $this->api->search([])->each(function (NamiMember $member): void {
$member = NamiMember::fromNami($this->api->member($member->group_id, $member->id)); $member = NamiMember::fromNami($this->api->member($member->group_id, $member->id));
if (!$member->joined_at) { if (!$member->joined_at) {
return; return;
@ -90,12 +89,11 @@ class InitializeMembers {
]); ]);
} }
} catch (RightException $e) { } catch (RightException $e) {
} }
try { try {
foreach ($this->api->membershipsOf($member->id) as $membership) { foreach ($this->api->membershipsOf($member->id) as $membership) {
if ($membership->endsAt !== null) { if (null !== $membership->endsAt) {
continue; continue;
} }
try { try {
@ -115,7 +113,6 @@ class InitializeMembers {
]); ]);
} }
} catch (RightException $e) { } catch (RightException $e) {
} }
} catch (ModelNotFoundException $e) { } catch (ModelNotFoundException $e) {
dd($e->getMessage(), $member); dd($e->getMessage(), $member);
@ -137,13 +134,14 @@ class InitializeMembers {
$subactivityId = $membership->subactivityId $subactivityId = $membership->subactivityId
? Subactivity::where('nami_id', $membership->subactivityId)->firstOrFail()->id ? Subactivity::where('nami_id', $membership->subactivityId)->firstOrFail()->id
: null; : null;
return [$activityId, $subactivityId, $group->id]; return [$activityId, $subactivityId, $group->id];
} catch (ModelNotFoundException $e) { } catch (ModelNotFoundException $e) {
return [null, null, null]; return [null, null, null];
} }
} }
if ($membershipEntry->subactivity === null) { if (null === $membershipEntry->subactivity) {
$subactivityId = null; $subactivityId = null;
} else { } else {
$subactivityId = Subactivity::where('name', $membershipEntry->subactivity)->firstOrFail()->id; $subactivityId = Subactivity::where('name', $membershipEntry->subactivity)->firstOrFail()->id;
@ -160,7 +158,7 @@ class InitializeMembers {
if (!Group::where('name', $membershipEntry->group)->exists()) { if (!Group::where('name', $membershipEntry->group)->exists()) {
return true; return true;
} }
if (preg_match('/\(([0-9]+)\)/', $membershipEntry->activity, $activityMatches) !== 1) { if (1 !== preg_match('/\(([0-9]+)\)/', $membershipEntry->activity, $activityMatches)) {
throw new NamiException("ID in taetigkeit string not found: {$membershipEntry->activity}"); throw new NamiException("ID in taetigkeit string not found: {$membershipEntry->activity}");
} }
@ -168,7 +166,7 @@ class InitializeMembers {
return true; return true;
} }
if ($membershipEntry->subactivity === null) { if (null === $membershipEntry->subactivity) {
return false; return false;
} }

View File

@ -5,17 +5,18 @@ namespace App\Initialize;
use App\Nationality; use App\Nationality;
use Zoomyboy\LaravelNami\Api; use Zoomyboy\LaravelNami\Api;
class InitializeNationalities { class InitializeNationalities
{
private Api $api; private Api $api;
public function __construct(Api $api) { public function __construct(Api $api)
{
$this->api = $api; $this->api = $api;
} }
public function handle(Api $api): void public function handle(Api $api): void
{ {
$this->api->nationalities()->each(function($nationality) { $this->api->nationalities()->each(function ($nationality) {
Nationality::create(['nami_id' => $nationality->id, 'name' => $nationality->name]); Nationality::create(['nami_id' => $nationality->id, 'name' => $nationality->name]);
}); });
} }

View File

@ -1,21 +1,22 @@
<?php <?php
namespace App\Initialize; namespace App\Initialize;
use Zoomyboy\LaravelNami\Api; use Zoomyboy\LaravelNami\Api;
class InitializeRegions { class InitializeRegions
{
private Api $api; private Api $api;
private string $nullName = 'Nicht-DE'; private string $nullName = 'Nicht-DE';
public function __construct(Api $api) { public function __construct(Api $api)
{
$this->api = $api; $this->api = $api;
} }
public function handle(): void public function handle(): void
{ {
$this->api->regions()->each(function($region) { $this->api->regions()->each(function ($region) {
\App\Region::create(['nami_id' => $region->id, 'name' => $region->name, 'is_null' => $region->name == $this->nullName]); \App\Region::create(['nami_id' => $region->id, 'name' => $region->name, 'is_null' => $region->name == $this->nullName]);
}); });
} }

View File

@ -3,10 +3,9 @@
namespace App\Initialize; namespace App\Initialize;
use App\Setting\NamiSettings; use App\Setting\NamiSettings;
use Zoomyboy\LaravelNami\Api;
class Initializer {
class Initializer
{
public NamiSettings $settings; public NamiSettings $settings;
public array $initializers = [ public array $initializers = [
InitializeNationalities::class, InitializeNationalities::class,
@ -25,10 +24,10 @@ class Initializer {
$this->settings = $settings; $this->settings = $settings;
} }
public function run(): void { public function run(): void
{
foreach ($this->initializers as $initializer) { foreach ($this->initializers as $initializer) {
app($initializer)->handle($this->settings->login()); app($initializer)->handle($this->settings->login());
} }
} }
} }

View File

@ -15,7 +15,10 @@ use Zoomyboy\LaravelNami\Nami;
class CreateJob implements ShouldQueue class CreateJob implements ShouldQueue
{ {
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Dispatchable;
use InteractsWithQueue;
use Queueable;
use SerializesModels;
public int $memberId; public int $memberId;
public Member $member; public Member $member;
@ -67,7 +70,7 @@ class CreateJob implements ShouldQueue
'first_activity_id' => $this->member->firstActivity->nami_id, 'first_activity_id' => $this->member->firstActivity->nami_id,
'first_subactivity_id' => $this->member->firstSubactivity->nami_id, 'first_subactivity_id' => $this->member->firstSubactivity->nami_id,
]); ]);
Member::withoutEvents(function() use ($response) { Member::withoutEvents(function () use ($response) {
$version = Nami::login($this->user->mglnr)->member($this->member->group->nami_id, $response['id'])['version']; $version = Nami::login($this->user->mglnr)->member($this->member->group->nami_id, $response['id'])['version'];
$this->member->update(['version' => $version, 'nami_id' => $response['id']]); $this->member->update(['version' => $version, 'nami_id' => $response['id']]);
}); });
@ -84,6 +87,5 @@ class CreateJob implements ShouldQueue
'created_at' => $membership['starts_at'], 'created_at' => $membership['starts_at'],
]); ]);
} }
} }
} }

View File

@ -2,17 +2,18 @@
namespace App\Member; namespace App\Member;
use App\Confession;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use Zoomyboy\LaravelNami\Nami;
class DeleteJob implements ShouldQueue class DeleteJob implements ShouldQueue
{ {
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Dispatchable;
use InteractsWithQueue;
use Queueable;
use SerializesModels;
public int $memberId; public int $memberId;
public Member $member; public Member $member;
@ -38,7 +39,7 @@ class DeleteJob implements ShouldQueue
$setting->login()->deleteMember($this->member->nami_id); $setting->login()->deleteMember($this->member->nami_id);
Member::withoutEvents(function() { Member::withoutEvents(function () {
$this->member->update(['nami_id' => null]); $this->member->update(['nami_id' => null]);
}); });
} }

View File

@ -18,16 +18,15 @@ use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Notifications\Notifiable; use Illuminate\Notifications\Notifiable;
use Zoomyboy\LaravelNami\Api; use Zoomyboy\LaravelNami\Api;
/** /**
* @property string $subscription_name * @property string $subscription_name
* @property int $pending_payment * @property int $pending_payment
* @property bool $is_confirmed * @property bool $is_confirmed
* @property string $age_group_icon * @property string $age_group_icon
* @property \Carbon\Carbon $try_created_at * @property \Carbon\Carbon $try_created_at
*/ */
class Member extends Model class Member extends Model
@ -51,8 +50,12 @@ class Member extends Model
'is_confirmed' => 'boolean', 'is_confirmed' => 'boolean',
]; ];
public function scopeSearch(Builder $q, ?string $text): Builder { public function scopeSearch(Builder $q, ?string $text): Builder
if (is_null($text)) { return $q; } {
if (is_null($text)) {
return $q;
}
return $q->where('firstname', 'LIKE', '%'.$text.'%') return $q->where('firstname', 'LIKE', '%'.$text.'%')
->orWhere('lastname', 'LIKE', '%'.$text.'%') ->orWhere('lastname', 'LIKE', '%'.$text.'%')
->orWhere('address', 'LIKE', '%'.$text.'%') ->orWhere('address', 'LIKE', '%'.$text.'%')
@ -76,19 +79,23 @@ class Member extends Model
} }
//----------------------------------- Getters ----------------------------------- //----------------------------------- Getters -----------------------------------
public function getFullnameAttribute(): string { public function getFullnameAttribute(): string
{
return $this->firstname.' '.$this->lastname; return $this->firstname.' '.$this->lastname;
} }
public function getHasNamiAttribute(): bool { public function getHasNamiAttribute(): bool
return $this->nami_id !== null; {
return null !== $this->nami_id;
} }
public function getNamiMemberships(Api $api): array { public function getNamiMemberships(Api $api): array
{
return $api->group($this->group->nami_id)->member($this->nami_id)->memberships()->toArray(); return $api->group($this->group->nami_id)->member($this->nami_id)->memberships()->toArray();
} }
public function getNamiFeeId(): ?int { public function getNamiFeeId(): ?int
{
if (!$this->subscription) { if (!$this->subscription) {
return null; return null;
} }
@ -164,70 +171,79 @@ class Member extends Model
public static function booted() public static function booted()
{ {
static::deleting(function(self $model): void { static::deleting(function (self $model): void {
$model->payments->each->delete(); $model->payments->each->delete();
}); });
} }
// ---------------------------------- Scopes ----------------------------------- // ---------------------------------- Scopes -----------------------------------
public function scopeWithIsConfirmed(Builder $q): Builder { public function scopeWithIsConfirmed(Builder $q): Builder
{
return $q->selectSub('DATEDIFF(NOW(), IFNULL(confirmed_at, DATE_SUB(NOW(), INTERVAL 3 YEAR))) < 712', 'is_confirmed'); return $q->selectSub('DATEDIFF(NOW(), IFNULL(confirmed_at, DATE_SUB(NOW(), INTERVAL 3 YEAR))) < 712', 'is_confirmed');
} }
public function scopeWithSubscriptionName(Builder $q): Builder { public function scopeWithSubscriptionName(Builder $q): Builder
{
return $q->addSelect([ return $q->addSelect([
'subscription_name' => Subscription::select('name')->whereColumn('subscriptions.id', 'members.subscription_id')->limit(1) 'subscription_name' => Subscription::select('name')->whereColumn('subscriptions.id', 'members.subscription_id')->limit(1),
]); ]);
} }
public function scopeWithPendingPayment(Builder $q): Builder { public function scopeWithPendingPayment(Builder $q): Builder
{
return $q->addSelect([ return $q->addSelect([
'pending_payment' => Payment::selectRaw('SUM(subscriptions.amount)') 'pending_payment' => Payment::selectRaw('SUM(subscriptions.amount)')
->whereColumn('payments.member_id', 'members.id') ->whereColumn('payments.member_id', 'members.id')
->whereNeedsPayment() ->whereNeedsPayment()
->join('subscriptions', 'subscriptions.id', 'payments.subscription_id') ->join('subscriptions', 'subscriptions.id', 'payments.subscription_id'),
]); ]);
} }
public function scopeWithAgeGroup(Builder $q): Builder { public function scopeWithAgeGroup(Builder $q): Builder
{
return $q->addSelect([ return $q->addSelect([
'age_group_icon' => Subactivity::select('slug') 'age_group_icon' => Subactivity::select('slug')
->join('memberships', 'memberships.subactivity_id', 'subactivities.id') ->join('memberships', 'memberships.subactivity_id', 'subactivities.id')
->where('subactivities.is_age_group', true) ->where('subactivities.is_age_group', true)
->whereColumn('memberships.member_id', 'members.id') ->whereColumn('memberships.member_id', 'members.id')
->limit(1) ->limit(1),
]); ]);
} }
public function scopeWhereHasPendingPayment(Builder $q): Builder { public function scopeWhereHasPendingPayment(Builder $q): Builder
return $q->whereHas('payments', function(Builder $q): void { {
return $q->whereHas('payments', function (Builder $q): void {
$q->whereNeedsPayment(); $q->whereNeedsPayment();
}); });
} }
public function scopeWhereAusstand(Builder $q): Builder { public function scopeWhereAusstand(Builder $q): Builder
return $q->whereHas('payments', function($q) { {
return $q->whereHas('payments', function ($q) {
return $q->whereHas('status', fn ($q) => $q->where('is_remember', true)); return $q->whereHas('status', fn ($q) => $q->where('is_remember', true));
}); });
} }
public function scopePayable(Builder $q): Builder { public function scopePayable(Builder $q): Builder
{
return $q->where('bill_kind_id', '!=', null)->where('subscription_id', '!=', null); return $q->where('bill_kind_id', '!=', null)->where('subscription_id', '!=', null);
} }
public function scopeWhereNoPayment(Builder $q, int $year): Builder { public function scopeWhereNoPayment(Builder $q, int $year): Builder
return $q->whereDoesntHave('payments', function(Builder $q) use ($year) { {
return $q->whereDoesntHave('payments', function (Builder $q) use ($year) {
$q->where('nr', '=', $year); $q->where('nr', '=', $year);
}); });
} }
public function scopeForDashboard(Builder $q): Builder { public function scopeForDashboard(Builder $q): Builder
{
return $q->selectRaw('SUM(id)'); return $q->selectRaw('SUM(id)');
} }
public function scopeFilter(Builder $q, array $filter): Builder public function scopeFilter(Builder $q, array $filter): Builder
{ {
if (data_get($filter, 'ausstand', false) === true) { if (true === data_get($filter, 'ausstand', false)) {
$q->whereAusstand(); $q->whereAusstand();
} }
if (data_get($filter, 'bill_kind', false)) { if (data_get($filter, 'bill_kind', false)) {
@ -256,8 +272,7 @@ class Member extends Model
'try_created_at' => Membership::select('created_at') 'try_created_at' => Membership::select('created_at')
->whereColumn('memberships.member_id', 'members.id') ->whereColumn('memberships.member_id', 'members.id')
->join('activities', 'activities.id', 'memberships.activity_id') ->join('activities', 'activities.id', 'memberships.activity_id')
->where('activities.is_try', true) ->where('activities.is_try', true),
]); ]);
} }
} }

View File

@ -7,10 +7,8 @@ use App\Bill\BillKind;
use App\Confession; use App\Confession;
use App\Country; use App\Country;
use App\Gender; use App\Gender;
use App\Group;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Views\MemberView; use App\Http\Views\MemberView;
use App\Member\DeleteJob;
use App\Nationality; use App\Nationality;
use App\Payment\Subscription; use App\Payment\Subscription;
use App\Region; use App\Region;
@ -21,7 +19,6 @@ use Inertia\Response;
class MemberController extends Controller class MemberController extends Controller
{ {
public array $filter = [ public array $filter = [
'ausstand' => false, 'ausstand' => false,
'bill_kind' => null, 'bill_kind' => null,
@ -29,7 +26,8 @@ class MemberController extends Controller
'subactivity_id' => null, 'subactivity_id' => null,
]; ];
public function index(Request $request, GeneralSettings $settings): Response { public function index(Request $request, GeneralSettings $settings): Response
{
session()->put('menu', 'member'); session()->put('menu', 'member');
session()->put('title', 'Mitglieder'); session()->put('title', 'Mitglieder');
@ -61,7 +59,7 @@ class MemberController extends Controller
return \Inertia::render('member/VForm', [ return \Inertia::render('member/VForm', [
'activities' => $activities->pluck('name', 'id'), 'activities' => $activities->pluck('name', 'id'),
'subactivities' => $activities->map(function(Activity $activity) { 'subactivities' => $activities->map(function (Activity $activity) {
return ['subactivities' => $activity->subactivities()->pluck('name', 'id'), 'id' => $activity->id]; return ['subactivities' => $activity->subactivities()->pluck('name', 'id'), 'id' => $activity->id];
})->pluck('subactivities', 'id'), })->pluck('subactivities', 'id'),
'billKinds' => BillKind::pluck('name', 'id'), 'billKinds' => BillKind::pluck('name', 'id'),
@ -72,7 +70,7 @@ class MemberController extends Controller
'confessions' => Confession::where('is_null', false)->pluck('name', 'id'), 'confessions' => Confession::where('is_null', false)->pluck('name', 'id'),
'subscriptions' => Subscription::pluck('name', 'id'), 'subscriptions' => Subscription::pluck('name', 'id'),
'data' => [ 'data' => [
'country_id' => Country::default() 'country_id' => Country::default(),
], ],
'mode' => 'create', 'mode' => 'create',
]); ]);
@ -94,7 +92,7 @@ class MemberController extends Controller
return \Inertia::render('member/VForm', [ return \Inertia::render('member/VForm', [
'activities' => $activities->pluck('name', 'id'), 'activities' => $activities->pluck('name', 'id'),
'subactivities' => $activities->map(function($activity) { 'subactivities' => $activities->map(function ($activity) {
return ['subactivities' => $activity->subactivities->pluck('name', 'id'), 'id' => $activity->id]; return ['subactivities' => $activity->subactivities->pluck('name', 'id'), 'id' => $activity->id];
})->pluck('subactivities', 'id'), })->pluck('subactivities', 'id'),
'billKinds' => BillKind::pluck('name', 'id'), 'billKinds' => BillKind::pluck('name', 'id'),

View File

@ -5,7 +5,6 @@ namespace App\Member;
use App\Activity; use App\Activity;
use App\Group; use App\Group;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Illuminate\Validation\Rule; use Illuminate\Validation\Rule;
@ -30,14 +29,16 @@ class MemberRequest extends FormRequest
public function rules() public function rules()
{ {
return [ return [
'first_activity_id' => Rule::requiredIf(fn() => $this->method() == 'POST'), 'first_activity_id' => Rule::requiredIf(fn () => 'POST' == $this->method()),
'first_subactivity_id' => Rule::requiredIf(fn() => $this->method() == 'POST'), 'first_subactivity_id' => Rule::requiredIf(fn () => 'POST' == $this->method()),
'subscription_id' => Rule::requiredIf(function() { 'subscription_id' => Rule::requiredIf(function () {
if ($this->method() != 'POST') { if ('POST' != $this->method()) {
return false; return false;
} }
if (!$this->input('first_activity_id')) { return true; } if (!$this->input('first_activity_id')) {
return true;
}
return Str::contains(Activity::findOrFail($this->input('first_activity_id'))->name, '€'); return Str::contains(Activity::findOrFail($this->input('first_activity_id'))->name, '€');
}), }),
@ -58,10 +59,11 @@ class MemberRequest extends FormRequest
]; ];
} }
public function persistCreate(): void { public function persistCreate(): void
{
$this->merge(['group_id' => Group::where('nami_id', Auth::user()->getNamiGroupId())->firstOrFail()->id]); $this->merge(['group_id' => Group::where('nami_id', Auth::user()->getNamiGroupId())->firstOrFail()->id]);
$member = Member::create($this->input()); $member = Member::create($this->input());
if($this->input('has_nami')) { if ($this->input('has_nami')) {
CreateJob::dispatch($member, auth()->user()); CreateJob::dispatch($member, auth()->user());
} }
} }
@ -70,13 +72,13 @@ class MemberRequest extends FormRequest
{ {
$member->update($this->input()); $member->update($this->input());
if($this->input('has_nami') && $member->nami_id === null) { if ($this->input('has_nami') && null === $member->nami_id) {
CreateJob::dispatch($member, auth()->user()); CreateJob::dispatch($member, auth()->user());
} }
if($this->input('has_nami') && $member->nami_id !== null) { if ($this->input('has_nami') && null !== $member->nami_id) {
UpdateJob::dispatch($member, auth()->user()); UpdateJob::dispatch($member, auth()->user());
} }
if(!$this->input('has_nami') && $member->nami_id !== null) { if (!$this->input('has_nami') && null !== $member->nami_id) {
DeleteJob::dispatch($member, auth()->user()); DeleteJob::dispatch($member, auth()->user());
} }
} }

View File

@ -15,7 +15,8 @@ class MemberResource extends JsonResource
/** /**
* Transform the resource into an array. * Transform the resource into an array.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
*
* @return array * @return array
*/ */
public function toArray($request) public function toArray($request)
@ -50,7 +51,7 @@ class MemberResource extends JsonResource
'letter_address' => $this->letter_address, 'letter_address' => $this->letter_address,
'bill_kind_id' => $this->bill_kind_id, 'bill_kind_id' => $this->bill_kind_id,
'bill_kind_name' => optional($this->billKind)->name, 'bill_kind_name' => optional($this->billKind)->name,
'has_nami' => $this->nami_id !== null, 'has_nami' => null !== $this->nami_id,
'is_confirmed' => $this->is_confirmed, 'is_confirmed' => $this->is_confirmed,
'children_phone' => $this->children_phone, 'children_phone' => $this->children_phone,
'payments' => PaymentResource::collection($this->whenLoaded('payments')), 'payments' => PaymentResource::collection($this->whenLoaded('payments')),

View File

@ -23,5 +23,4 @@ class Membership extends Model
{ {
return $this->belongsTo(Subactivity::class); return $this->belongsTo(Subactivity::class);
} }
} }

View File

@ -4,17 +4,18 @@ namespace App\Member;
use App\Confession; use App\Confession;
use App\Setting\NamiSettings; use App\Setting\NamiSettings;
use App\User;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use Zoomyboy\LaravelNami\Nami;
class UpdateJob implements ShouldQueue class UpdateJob implements ShouldQueue
{ {
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Dispatchable;
use InteractsWithQueue;
use Queueable;
use SerializesModels;
public int $memberId; public int $memberId;
public Member $member; public Member $member;
@ -65,7 +66,7 @@ class UpdateJob implements ShouldQueue
'group_id' => $this->member->group->nami_id, 'group_id' => $this->member->group->nami_id,
'version' => $this->member->version, 'version' => $this->member->version,
]); ]);
Member::withoutEvents(function() use ($response) { Member::withoutEvents(function () use ($response) {
$this->member->update(['version' => $response['version']]); $this->member->update(['version' => $response['version']]);
}); });
} }

View File

@ -8,11 +8,9 @@ use App\Member\Membership;
use App\Membership\Requests\StoreRequest; use App\Membership\Requests\StoreRequest;
use App\Setting\NamiSettings; use App\Setting\NamiSettings;
use Illuminate\Http\RedirectResponse; use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
class MembershipController extends Controller class MembershipController extends Controller
{ {
public function store(Member $member, StoreRequest $request, NamiSettings $settings): RedirectResponse public function store(Member $member, StoreRequest $request, NamiSettings $settings): RedirectResponse
{ {
$request->persist($member, $settings); $request->persist($member, $settings);
@ -30,5 +28,4 @@ class MembershipController extends Controller
return redirect()->back(); return redirect()->back();
} }
} }

View File

@ -12,7 +12,8 @@ class MembershipResource extends JsonResource
/** /**
* Transform the resource into an array. * Transform the resource into an array.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
*
* @return array * @return array
*/ */
public function toArray($request) public function toArray($request)

View File

@ -11,7 +11,6 @@ use Zoomyboy\LaravelNami\Data\Membership;
class StoreRequest extends FormRequest class StoreRequest extends FormRequest
{ {
/** /**
* Determine if the user is authorized to make this request. * Determine if the user is authorized to make this request.
* *
@ -30,7 +29,6 @@ class StoreRequest extends FormRequest
public function rules() public function rules()
{ {
return [ return [
//
]; ];
} }
@ -51,5 +49,4 @@ class StoreRequest extends FormRequest
$member->syncVersion(); $member->syncVersion();
} }
} }

View File

@ -6,7 +6,6 @@ use Exception;
trait HasNamiField trait HasNamiField
{ {
public static function nami(int $id): self public static function nami(int $id): self
{ {
$model = static::firstWhere('nami_id', $id); $model = static::firstWhere('nami_id', $id);
@ -17,5 +16,4 @@ trait HasNamiField
return $model; return $model;
} }
} }

View File

@ -11,5 +11,5 @@ class Nationality extends Model
use HasFactory; use HasFactory;
use HasNamiField; use HasNamiField;
public $fillable = ['name','nami_id']; public $fillable = ['name', 'nami_id'];
} }

View File

@ -9,10 +9,9 @@ use Illuminate\Support\Collection;
class ActionFactory class ActionFactory
{ {
public function forMember(Member $member): Collection public function forMember(Member $member): Collection
{ {
return app(PdfRepositoryFactory::class)->getTypes()->map(function(PdfRepository $repo) use ($member): array { return app(PdfRepositoryFactory::class)->getTypes()->map(function (PdfRepository $repo) use ($member): array {
return [ return [
'href' => route('member.singlepdf', ['member' => $member, 'type' => get_class($repo)]), 'href' => route('member.singlepdf', ['member' => $member, 'type' => get_class($repo)]),
'label' => $repo->linkLabel(), 'label' => $repo->linkLabel(),
@ -23,7 +22,7 @@ class ActionFactory
public function allLinks(): Collection public function allLinks(): Collection
{ {
return app(PdfRepositoryFactory::class)->getTypes()->map(function(PdfRepository $repo) { return app(PdfRepositoryFactory::class)->getTypes()->map(function (PdfRepository $repo) {
return [ return [
'link' => [ 'link' => [
'href' => route('sendpayment.pdf', ['type' => get_class($repo)]), 'href' => route('sendpayment.pdf', ['type' => get_class($repo)]),
@ -33,5 +32,4 @@ class ActionFactory
]; ];
}); });
} }
} }

View File

@ -4,7 +4,6 @@ namespace App\Payment;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Member\Member; use App\Member\Member;
use App\Payment\Status;
use Illuminate\Http\RedirectResponse; use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Inertia\Response; use Inertia\Response;
@ -22,7 +21,7 @@ class AllpaymentController extends Controller
public function store(Request $request): RedirectResponse public function store(Request $request): RedirectResponse
{ {
$request->validate([ $request->validate([
'year' => 'required|numeric' 'year' => 'required|numeric',
]); ]);
foreach (Member::payable()->whereNoPayment($request->year)->get() as $member) { foreach (Member::payable()->whereNoPayment($request->year)->get() as $member) {

View File

@ -3,8 +3,6 @@
namespace App\Payment; namespace App\Payment;
use App\Member\Member; use App\Member\Member;
use App\Payment\Status;
use App\Payment\Subscription;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
@ -33,21 +31,21 @@ class Payment extends Model
public function scopeWhereNeedsPayment(Builder $q): Builder public function scopeWhereNeedsPayment(Builder $q): Builder
{ {
return $q->whereHas('status', function($q) { return $q->whereHas('status', function ($q) {
return $q->needsPayment(); return $q->needsPayment();
}); });
} }
public function scopeWhereNeedsBill(Builder $q): Builder public function scopeWhereNeedsBill(Builder $q): Builder
{ {
return $q->whereHas('status', function($q) { return $q->whereHas('status', function ($q) {
return $q->where('is_bill', true); return $q->where('is_bill', true);
}); });
} }
public function scopeWhereNeedsRemember(Builder $q): Builder public function scopeWhereNeedsRemember(Builder $q): Builder
{ {
return $q->whereHas('status', function($q) { return $q->whereHas('status', function ($q) {
return $q->where('is_remember', true); return $q->where('is_remember', true);
})->where(fn ($query) => $query->whereNull('last_remembered_at')->orWhere('last_remembered_at', '<=', now()->subMonths(3))); })->where(fn ($query) => $query->whereNull('last_remembered_at')->orWhere('last_remembered_at', '<=', now()->subMonths(3)));
} }

View File

@ -5,7 +5,6 @@ namespace App\Payment;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Views\MemberView; use App\Http\Views\MemberView;
use App\Member\Member; use App\Member\Member;
use App\Member\MemberResource;
use Illuminate\Http\RedirectResponse; use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Inertia\Response; use Inertia\Response;

View File

@ -4,15 +4,15 @@ namespace App\Payment;
use App\Pdf\PdfRepository; use App\Pdf\PdfRepository;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable; use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Str; use Illuminate\Support\Str;
class PaymentMail extends Mailable class PaymentMail extends Mailable
{ {
use Queueable, SerializesModels; use Queueable;
use SerializesModels;
public PdfRepository $repo; public PdfRepository $repo;
public string $filename; public string $filename;
@ -35,6 +35,7 @@ class PaymentMail extends Mailable
public function build() public function build()
{ {
$template = Str::snake(class_basename($this->repo)); $template = Str::snake(class_basename($this->repo));
return $this->markdown('mail.payment.'.$template) return $this->markdown('mail.payment.'.$template)
->attach($this->filename) ->attach($this->filename)
->replyTo('kasse@stamm-silva.de') ->replyTo('kasse@stamm-silva.de')

View File

@ -12,7 +12,8 @@ class PaymentResource extends JsonResource
/** /**
* Transform the resource into an array. * Transform the resource into an array.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
*
* @return array * @return array
*/ */
public function toArray($request) public function toArray($request)
@ -27,5 +28,4 @@ class PaymentResource extends JsonResource
'is_accepted' => $this->status->isAccepted(), 'is_accepted' => $this->status->isAccepted(),
]; ];
} }
} }

View File

@ -77,5 +77,4 @@ class PaymentSendCommand extends Command
app(PdfRepositoryFactory::class)->afterSingle($repo); app(PdfRepositoryFactory::class)->afterSingle($repo);
} }
} }
} }

View File

@ -4,7 +4,6 @@ namespace App\Payment;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Pdf\PdfGenerator; use App\Pdf\PdfGenerator;
use App\Pdf\PdfRepository;
use App\Pdf\PdfRepositoryFactory; use App\Pdf\PdfRepositoryFactory;
use Illuminate\Contracts\Support\Responsable; use Illuminate\Contracts\Support\Responsable;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@ -14,7 +13,6 @@ use Inertia\Response as InertiaResponse;
class SendpaymentController extends Controller class SendpaymentController extends Controller
{ {
public function create(): InertiaResponse public function create(): InertiaResponse
{ {
session()->put('menu', 'member'); session()->put('menu', 'member');
@ -35,9 +33,8 @@ class SendpaymentController extends Controller
$pdfFile = app(PdfGenerator::class)->setRepository($repo)->render(); $pdfFile = app(PdfGenerator::class)->setRepository($repo)->render();
app(PdfRepositoryFactory::class)->afterAll($request->type, 'Post'); app(PdfRepositoryFactory::class)->afterAll($request->type, 'Post');
return $repo === null return null === $repo
? response()->noContent() ? response()->noContent()
: $pdfFile; : $pdfFile;
} }
} }

View File

@ -17,7 +17,6 @@ class Status extends Model
'is_remember' => 'boolean', 'is_remember' => 'boolean',
]; ];
public static function default(): int public static function default(): int
{ {
return static::where('is_bill', true)->where('is_remember', true)->first()->id; return static::where('is_bill', true)->where('is_remember', true)->first()->id;
@ -25,13 +24,13 @@ class Status extends Model
public function isAccepted(): bool public function isAccepted(): bool
{ {
return $this->is_bill === false && $this->is_remember === false; return false === $this->is_bill && false === $this->is_remember;
} }
// ---------------------------------- Scopes ----------------------------------- // ---------------------------------- Scopes -----------------------------------
public function scopeNeedsPayment(Builder $query): Builder public function scopeNeedsPayment(Builder $query): Builder
{ {
return $query->where(function(Builder $query): Builder { return $query->where(function (Builder $query): Builder {
return $query->where('is_bill', true)->orWhere('is_remember', true); return $query->where('is_bill', true)->orWhere('is_remember', true);
}); });
} }

View File

@ -13,7 +13,8 @@ class Subscription extends Model
public $fillable = ['name', 'amount', 'fee_id']; public $fillable = ['name', 'amount', 'fee_id'];
public function fee(): BelongsTo { public function fee(): BelongsTo
{
return $this->belongsTo(Fee::class); return $this->belongsTo(Fee::class);
} }
} }

View File

@ -17,7 +17,7 @@ class SubscriptionController extends Controller
return \Inertia::render('subscription/SubscriptionIndex', [ return \Inertia::render('subscription/SubscriptionIndex', [
'data' => SubscriptionResource::collection(Subscription::get()), 'data' => SubscriptionResource::collection(Subscription::get()),
'toolbar' => [ ['href' => route('subscription.create'), 'label' => 'Beitrag anlegen', 'color' => 'primary', 'icon' => 'plus'] ], 'toolbar' => [['href' => route('subscription.create'), 'label' => 'Beitrag anlegen', 'color' => 'primary', 'icon' => 'plus']],
]); ]);
} }
@ -29,7 +29,7 @@ class SubscriptionController extends Controller
return \Inertia::render('subscription/SubscriptionForm', [ return \Inertia::render('subscription/SubscriptionForm', [
'fees' => Fee::pluck('name', 'id'), 'fees' => Fee::pluck('name', 'id'),
'mode' => 'create', 'mode' => 'create',
'data' => (object) [] 'data' => (object) [],
]); ]);
} }

View File

@ -12,7 +12,8 @@ class SubscriptionResource extends JsonResource
/** /**
* Transform the resource into an array. * Transform the resource into an array.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
*
* @return array * @return array
*/ */
public function toArray($request) public function toArray($request)

View File

@ -8,7 +8,6 @@ use Illuminate\Support\Collection;
class BillType extends Repository implements PdfRepository class BillType extends Repository implements PdfRepository
{ {
public string $filename; public string $filename;
public function getPayments(Member $member): Collection public function getPayments(Member $member): Collection
@ -97,7 +96,7 @@ class BillType extends Repository implements PdfRepository
} }
/** /**
* Get Descriptions for sendpayment page * Get Descriptions for sendpayment page.
* *
* @return array<int, string> * @return array<int, string>
*/ */
@ -118,5 +117,4 @@ class BillType extends Repository implements PdfRepository
{ {
return 'Jahresrechnung'; return 'Jahresrechnung';
} }
} }

View File

@ -10,7 +10,6 @@ use Illuminate\Http\Response;
class MemberPdfController extends Controller class MemberPdfController extends Controller
{ {
/** /**
* @return Response|Responsable * @return Response|Responsable
*/ */
@ -18,9 +17,8 @@ class MemberPdfController extends Controller
{ {
$repo = app(PdfRepositoryFactory::class)->fromSingleRequest($request->type, $member); $repo = app(PdfRepositoryFactory::class)->fromSingleRequest($request->type, $member);
return $repo === null return null === $repo
? response()->noContent() ? response()->noContent()
: app(PdfGenerator::class)->setRepository($repo)->render(); : app(PdfGenerator::class)->setRepository($repo)->render();
} }
} }

View File

@ -8,7 +8,6 @@ use Storage;
class PdfGenerator implements Responsable class PdfGenerator implements Responsable
{ {
private ?string $filename = null; private ?string $filename = null;
private PdfRepository $repo; private PdfRepository $repo;
private string $dir; private string $dir;
@ -62,5 +61,4 @@ class PdfGenerator implements Responsable
$templatePath = resource_path("views/tex/templates/{$this->repo->getTemplate()}"); $templatePath = resource_path("views/tex/templates/{$this->repo->getTemplate()}");
exec('cp '.$templatePath.'/* '.$destination); exec('cp '.$templatePath.'/* '.$destination);
} }
} }

View File

@ -10,7 +10,6 @@ use Illuminate\Support\Collection;
interface PdfRepository interface PdfRepository
{ {
public function getSubject(): string; public function getSubject(): string;
public function setFilename(string $filename): self; public function setFilename(string $filename): self;
@ -52,5 +51,4 @@ interface PdfRepository
public function getMailSubject(): string; public function getMailSubject(): string;
public function allPayments(): Generator; public function allPayments(): Generator;
} }

View File

@ -9,7 +9,6 @@ use Illuminate\Support\Str;
class PdfRepositoryFactory class PdfRepositoryFactory
{ {
/** /**
* @var array<int, class-string<PdfRepository>> * @var array<int, class-string<PdfRepository>>
*/ */
@ -23,7 +22,7 @@ class PdfRepositoryFactory
*/ */
public function getTypes(): Collection public function getTypes(): Collection
{ {
return collect(array_map(fn ($classString) => new $classString, $this->types)); return collect(array_map(fn ($classString) => new $classString(), $this->types));
} }
public function fromSingleRequest(string $type, Member $member): ?PdfRepository public function fromSingleRequest(string $type, Member $member): ?PdfRepository
@ -108,5 +107,4 @@ class PdfRepositoryFactory
), ),
); );
} }
} }

View File

@ -8,7 +8,6 @@ use Illuminate\Support\Collection;
class RememberType extends Repository implements PdfRepository class RememberType extends Repository implements PdfRepository
{ {
public string $filename; public string $filename;
public function getPayments(Member $member): Collection public function getPayments(Member $member): Collection
@ -97,11 +96,11 @@ class RememberType extends Repository implements PdfRepository
} }
/** /**
* Get Descriptions for sendpayment page * Get Descriptions for sendpayment page.
* *
* @return array<int, string> * @return array<int, string>
*/ */
public function getDescription(): array public function getDescription(): array
{ {
return [ return [
'Diese Funktion erstellt Erinnerungs-PDFs mit allen versendeten aber noch nich bezahlten Rechnungen bei den Mitgliedern die Post als Versandweg haben.', 'Diese Funktion erstellt Erinnerungs-PDFs mit allen versendeten aber noch nich bezahlten Rechnungen bei den Mitgliedern die Post als Versandweg haben.',
@ -118,5 +117,4 @@ class RememberType extends Repository implements PdfRepository
{ {
return 'Zahlungserinnerung'; return 'Zahlungserinnerung';
} }
} }

View File

@ -9,7 +9,6 @@ use Illuminate\Support\Collection;
abstract class Repository abstract class Repository
{ {
abstract public function getPayments(Member $member): Collection; abstract public function getPayments(Member $member): Collection;
public Collection $pages; public Collection $pages;
@ -31,7 +30,7 @@ abstract class Repository
public function createable(Member $member): bool public function createable(Member $member): bool
{ {
return $this->getPayments($member)->count() !== 0; return 0 !== $this->getPayments($member)->count();
} }
public function allPayments(): Generator public function allPayments(): Generator
@ -44,5 +43,4 @@ abstract class Repository
} }
} }
} }
} }

View File

@ -2,10 +2,8 @@
namespace App\Providers; namespace App\Providers;
use App\Setting\GeneralSettings;
use Illuminate\Http\RedirectResponse; use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Resources\Json\JsonResource; use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
use Laravel\Telescope\Telescope; use Laravel\Telescope\Telescope;
@ -23,7 +21,7 @@ class AppServiceProvider extends ServiceProvider
\Inertia::share('search', request()->query('search', '')); \Inertia::share('search', request()->query('search', ''));
RedirectResponse::macro('success', function($flash) { RedirectResponse::macro('success', function ($flash) {
session()->flash('flash', ['success' => $flash]); session()->flash('flash', ['success' => $flash]);
return $this; return $this;
@ -37,6 +35,5 @@ class AppServiceProvider extends ServiceProvider
*/ */
public function boot() public function boot()
{ {
//
} }
} }

View File

@ -3,7 +3,6 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Gate;
class AuthServiceProvider extends ServiceProvider class AuthServiceProvider extends ServiceProvider
{ {
@ -24,7 +23,5 @@ class AuthServiceProvider extends ServiceProvider
public function boot() public function boot()
{ {
$this->registerPolicies(); $this->registerPolicies();
//
} }
} }

View File

@ -28,7 +28,5 @@ class EventServiceProvider extends ServiceProvider
public function boot() public function boot()
{ {
parent::boot(); parent::boot();
//
} }
} }

View File

@ -35,7 +35,6 @@ class HorizonServiceProvider extends HorizonApplicationServiceProvider
{ {
Gate::define('viewHorizon', function ($user) { Gate::define('viewHorizon', function ($user) {
return in_array($user->email, [ return in_array($user->email, [
//
]); ]);
}); });
} }

View File

@ -30,8 +30,6 @@ class RouteServiceProvider extends ServiceProvider
*/ */
public function boot() public function boot()
{ {
//
parent::boot(); parent::boot();
} }

View File

@ -63,7 +63,7 @@ class TelescopeServiceProvider extends TelescopeApplicationServiceProvider
protected function gate() protected function gate()
{ {
Gate::define('viewTelescope', function ($user) { Gate::define('viewTelescope', function ($user) {
return $user->mglnr == 90166; return 90166 == $user->mglnr;
}); });
} }
} }

View File

@ -11,6 +11,6 @@ class Region extends Model
public $fillable = ['name', 'nami_id', 'is_null']; public $fillable = ['name', 'nami_id', 'is_null'];
public $casts = [ public $casts = [
'is_null' => 'boolean' 'is_null' => 'boolean',
]; ];
} }

View File

@ -4,13 +4,11 @@ namespace App\Setting\Controllers;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Setting\GeneralSettings; use App\Setting\GeneralSettings;
use Illuminate\Http\Request;
use Inertia\Inertia; use Inertia\Inertia;
use Inertia\Response; use Inertia\Response;
class SettingController extends Controller class SettingController extends Controller
{ {
/** /**
* @wip * @wip
*/ */
@ -18,12 +16,11 @@ class SettingController extends Controller
{ {
return Inertia::render('setting/Index', [ return Inertia::render('setting/Index', [
'options' => [ 'options' => [
'modules' => $generalSettings->moduleOptions() 'modules' => $generalSettings->moduleOptions(),
], ],
'general' => [ 'general' => [
'modules' => $generalSettings->modules 'modules' => $generalSettings->modules,
] ],
]); ]);
} }
} }

View File

@ -6,7 +6,6 @@ use Spatie\LaravelSettings\Settings;
class GeneralSettings extends Settings class GeneralSettings extends Settings
{ {
/** @var array<int, string> */ /** @var array<int, string> */
public array $modules; public array $modules;
@ -34,5 +33,4 @@ class GeneralSettings extends Settings
{ {
return in_array($module, $this->modules); return in_array($module, $this->modules);
} }
} }

View File

@ -8,7 +8,6 @@ use Zoomyboy\LaravelNami\Nami;
class NamiSettings extends Settings class NamiSettings extends Settings
{ {
public int $mglnr; public int $mglnr;
public string $password; public string $password;
@ -22,5 +21,4 @@ class NamiSettings extends Settings
{ {
return Nami::login($this->mglnr, $this->password); return Nami::login($this->mglnr, $this->password);
} }
} }

View File

@ -10,7 +10,6 @@ use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class Subactivity extends Model class Subactivity extends Model
{ {
use HasFactory; use HasFactory;
use HasNamiField; use HasNamiField;
use Sluggable; use Sluggable;
@ -36,5 +35,4 @@ class Subactivity extends Model
{ {
return $this->belongsToMany(Activity::class); return $this->belongsToMany(Activity::class);
} }
} }

View File

@ -6,7 +6,5 @@ use Illuminate\View\Compilers\BladeCompiler;
class TexCompiler extends BladeCompiler class TexCompiler extends BladeCompiler
{ {
protected $contentTags = ['<<<', '>>>']; protected $contentTags = ['<<<', '>>>'];
} }

View File

@ -3,8 +3,6 @@
namespace App\Tex; namespace App\Tex;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
use Illuminate\View\Compilers\BladeCompiler;
use Illuminate\View\DynamicComponent;
use Illuminate\View\Engines\CompilerEngine; use Illuminate\View\Engines\CompilerEngine;
class TexServiceProvider extends ServiceProvider class TexServiceProvider extends ServiceProvider
@ -16,7 +14,7 @@ class TexServiceProvider extends ServiceProvider
*/ */
public function register() public function register()
{ {
view()->addExtension('tex', 'tex', function() { view()->addExtension('tex', 'tex', function () {
$compiler = new TexCompiler(app('files'), config('view.compiled')); $compiler = new TexCompiler(app('files'), config('view.compiled'));
return new CompilerEngine($compiler, app('files')); return new CompilerEngine($compiler, app('files'));
@ -30,6 +28,5 @@ class TexServiceProvider extends ServiceProvider
*/ */
public function boot() public function boot()
{ {
//
} }
} }

View File

@ -2,15 +2,10 @@
namespace App; namespace App;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable class User extends Authenticatable
{ {
use HasFactory; use HasFactory;
} }

View File

@ -10,7 +10,6 @@ use Illuminate\Database\Eloquent\Factories\Factory;
*/ */
class ActivityFactory extends Factory class ActivityFactory extends Factory
{ {
protected $model = Activity::class; protected $model = Activity::class;
/** /**
@ -30,5 +29,4 @@ class ActivityFactory extends Factory
{ {
return $this->state(['nami_id' => $namiId]); return $this->state(['nami_id' => $namiId]);
} }
} }

View File

@ -7,7 +7,6 @@ use Illuminate\Database\Eloquent\Factories\Factory;
class ConfessionFactory extends Factory class ConfessionFactory extends Factory
{ {
protected $model = Confession::class; protected $model = Confession::class;
/** /**

View File

@ -7,7 +7,6 @@ use Illuminate\Database\Eloquent\Factories\Factory;
class CountryFactory extends Factory class CountryFactory extends Factory
{ {
protected $model = Country::class; protected $model = Country::class;
/** /**

View File

@ -10,7 +10,6 @@ use Illuminate\Database\Eloquent\Factories\Factory;
*/ */
class CourseFactory extends Factory class CourseFactory extends Factory
{ {
public $model = Course::class; public $model = Course::class;
/** /**

View File

@ -7,7 +7,6 @@ use Illuminate\Database\Eloquent\Factories\Factory;
class CourseMemberFactory extends Factory class CourseMemberFactory extends Factory
{ {
public $model = CourseMember::class; public $model = CourseMember::class;
/** /**

View File

@ -10,7 +10,6 @@ use Illuminate\Database\Eloquent\Factories\Factory;
*/ */
class FeeFactory extends Factory class FeeFactory extends Factory
{ {
protected $model = Fee::class; protected $model = Fee::class;
/** /**

View File

@ -7,7 +7,6 @@ use Illuminate\Database\Eloquent\Factories\Factory;
class GroupFactory extends Factory class GroupFactory extends Factory
{ {
protected $model = Group::class; protected $model = Group::class;
/** /**

View File

@ -7,7 +7,6 @@ use Illuminate\Database\Eloquent\Factories\Factory;
class NationalityFactory extends Factory class NationalityFactory extends Factory
{ {
protected $model = Nationality::class; protected $model = Nationality::class;
/** /**

View File

@ -10,7 +10,6 @@ use Illuminate\Database\Eloquent\Factories\Factory;
class PaymentFactory extends Factory class PaymentFactory extends Factory
{ {
protected $model = Payment::class; protected $model = Payment::class;
public function definition(): array public function definition(): array
@ -44,5 +43,4 @@ class PaymentFactory extends Factory
Subscription::factory()->state(['name' => $name, 'amount' => $amount])->for(Fee::first()), Subscription::factory()->state(['name' => $name, 'amount' => $amount])->for(Fee::first()),
); );
} }
} }

View File

@ -7,7 +7,6 @@ use Illuminate\Database\Eloquent\Factories\Factory;
class StatusFactory extends Factory class StatusFactory extends Factory
{ {
public $model = Status::class; public $model = Status::class;
/** /**

View File

@ -8,7 +8,6 @@ use Illuminate\Database\Eloquent\Factories\Factory;
class SubscriptionFactory extends Factory class SubscriptionFactory extends Factory
{ {
protected $model = Subscription::class; protected $model = Subscription::class;
public function definition(): array public function definition(): array
@ -19,5 +18,4 @@ class SubscriptionFactory extends Factory
'fee_id' => Fee::factory()->createOne()->id, 'fee_id' => Fee::factory()->createOne()->id,
]; ];
} }
} }

View File

@ -10,7 +10,6 @@ use Illuminate\Database\Eloquent\Factories\Factory;
*/ */
class SubactivityFactory extends Factory class SubactivityFactory extends Factory
{ {
protected $model = Subactivity::class; protected $model = Subactivity::class;
/** /**
@ -30,5 +29,4 @@ class SubactivityFactory extends Factory
{ {
return $this->state(['nami_id' => $namiId]); return $this->state(['nami_id' => $namiId]);
} }
} }

Some files were not shown because too many files have changed in this diff Show More