base commit

This commit is contained in:
Mekan1206
2026-07-30 17:24:40 +05:00
commit a794dacd39
345 changed files with 29597 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
<?php
declare(strict_types=1);
namespace App\Providers;
use App\Models\Bonus;
use App\Models\Department;
use App\Models\DisciplinaryReport;
use App\Models\Employee;
use App\Models\EmployeeDocument;
use App\Models\Explanation;
use App\Models\Gift;
use App\Models\Position;
use App\Models\Shift;
use App\Models\SickLeave;
use App\Models\UnpaidLeave;
use App\Models\Vacation;
use App\Models\User;
use App\Observers\DisciplinaryReportObserver;
use App\Observers\EmployeeDocumentObserver;
use App\Observers\SickLeaveObserver;
use App\Observers\UnpaidLeaveObserver;
use App\Observers\VacationObserver;
use App\Policies\BonusPolicy;
use App\Policies\DepartmentPolicy;
use App\Policies\DisciplinaryReportPolicy;
use App\Policies\EmployeeDocumentPolicy;
use App\Policies\EmployeePolicy;
use App\Policies\ExplanationPolicy;
use App\Policies\GiftPolicy;
use App\Policies\PositionPolicy;
use App\Policies\ShiftPolicy;
use App\Policies\SickLeavePolicy;
use App\Policies\UnpaidLeavePolicy;
use App\Policies\UserPolicy;
use App\Policies\VacationPolicy;
use Illuminate\Support\Facades\Gate;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*/
public function register(): void
{
//
}
/**
* Bootstrap any application services.
*/
public function boot(): void
{
Gate::policy(Department::class, DepartmentPolicy::class);
Gate::policy(Position::class, PositionPolicy::class);
Gate::policy(Shift::class, ShiftPolicy::class);
Gate::policy(Employee::class, EmployeePolicy::class);
Gate::policy(Vacation::class, VacationPolicy::class);
Gate::policy(SickLeave::class, SickLeavePolicy::class);
Gate::policy(UnpaidLeave::class, UnpaidLeavePolicy::class);
Gate::policy(DisciplinaryReport::class, DisciplinaryReportPolicy::class);
Gate::policy(Explanation::class, ExplanationPolicy::class);
Gate::policy(Bonus::class, BonusPolicy::class);
Gate::policy(Gift::class, GiftPolicy::class);
Gate::policy(EmployeeDocument::class, EmployeeDocumentPolicy::class);
Gate::policy(User::class, UserPolicy::class);
Vacation::observe(VacationObserver::class);
SickLeave::observe(SickLeaveObserver::class);
UnpaidLeave::observe(UnpaidLeaveObserver::class);
DisciplinaryReport::observe(DisciplinaryReportObserver::class);
EmployeeDocument::observe(EmployeeDocumentObserver::class);
}
}

View File

@@ -0,0 +1,70 @@
<?php
declare(strict_types=1);
namespace App\Providers\Filament;
use BezhanSalleh\FilamentShield\FilamentShieldPlugin;
use App\Filament\Pages\Dashboard;
use Filament\Http\Middleware\Authenticate;
use Filament\Http\Middleware\AuthenticateSession;
use Filament\Http\Middleware\DisableBladeIconComponents;
use Filament\Http\Middleware\DispatchServingFilamentEvent;
use Filament\Panel;
use Filament\PanelProvider;
use Filament\Support\Colors\Color;
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
use Illuminate\Cookie\Middleware\EncryptCookies;
use Illuminate\Foundation\Http\Middleware\PreventRequestForgery;
use Illuminate\Routing\Middleware\SubstituteBindings;
use Illuminate\Session\Middleware\StartSession;
use Illuminate\View\Middleware\ShareErrorsFromSession;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
->default()
->id('admin')
->path('admin')
->login()
->brandName(config('hr.company_name'))
->colors([
'primary' => Color::Blue,
'gray' => Color::Slate,
])
->navigationGroups([
'Organization',
'Employees',
'Leave Management',
'Records',
'System',
])
->discoverResources(in: app_path('Filament/Resources'), for: 'App\Filament\Resources')
->discoverPages(in: app_path('Filament/Pages'), for: 'App\Filament\Pages')
->pages([
Dashboard::class,
])
->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\Filament\Widgets')
->widgets([])
->plugins([
FilamentShieldPlugin::make()
->navigationGroup('System'),
])
->middleware([
EncryptCookies::class,
AddQueuedCookiesToResponse::class,
StartSession::class,
AuthenticateSession::class,
ShareErrorsFromSession::class,
PreventRequestForgery::class,
SubstituteBindings::class,
DisableBladeIconComponents::class,
DispatchServingFilamentEvent::class,
])
->authMiddleware([
Authenticate::class,
]);
}
}