changes 0328092025

This commit is contained in:
Simon Pocrnjič
2025-09-28 22:36:47 +02:00
parent b40ee9dcde
commit 7e8e0a479b
61 changed files with 4306 additions and 654 deletions
+49 -35
View File
@@ -1,24 +1,24 @@
<?php
use App\Charts\ExampleChart;
use App\Http\Controllers\PersonController;
use App\Http\Controllers\CaseObjectController;
use App\Http\Controllers\ClientCaseContoller;
use App\Http\Controllers\ClientController;
use App\Http\Controllers\ContractController;
use App\Http\Controllers\SettingController;
use App\Http\Controllers\WorkflowController;
use App\Http\Controllers\SegmentController;
use App\Http\Controllers\FieldJobSettingController;
use App\Http\Controllers\ContractConfigController;
use App\Http\Controllers\FieldJobController;
use App\Http\Controllers\FieldJobSettingController;
use App\Http\Controllers\ImportController;
use App\Http\Controllers\ImportTemplateController;
use App\Http\Controllers\CaseObjectController;
use App\Http\Controllers\PersonController;
use App\Http\Controllers\PhoneViewController;
use App\Http\Controllers\SegmentController;
use App\Http\Controllers\SettingController;
use App\Http\Controllers\WorkflowController;
use App\Models\Person\Person;
use Illuminate\Http\Request;
use ArielMejiaDev\LarapexCharts\LarapexChart;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
use \Illuminate\Database\Eloquent\Builder;
Route::redirect('/', 'login');
@@ -28,10 +28,10 @@
'verified',
])->group(function () {
Route::get('/dashboard', function () {
$chart = new ExampleChart(new LarapexChart());
$chart = new ExampleChart(new LarapexChart);
$people = Person::with(['group', 'type', 'client', 'clientCase'])
->where([
['active','=',1],
['active', '=', 1],
])
->limit(10)
->orderByDesc('created_at')
@@ -47,25 +47,30 @@
->get();
return Inertia::render(
'Dashboard',
'Dashboard',
[
'chart' => $chart->build(),
'people' => $people,
'terrain' => $terrain
'terrain' => $terrain,
]
);
})->name('dashboard');
Route::get('testing', function() {
Route::get('testing', function () {
return Inertia::render('Testing', []);
});
Route::get('search', function(Request $request) {
if( !empty($request->input('query')) ) {
// Phone page
Route::get('phone', [PhoneViewController::class, 'index'])->name('phone.index');
Route::get('phone/case/{client_case:uuid}', [PhoneViewController::class, 'showCase'])->name('phone.case');
Route::post('phone/case/{client_case:uuid}/complete', [\App\Http\Controllers\FieldJobController::class, 'complete'])->name('phone.case.complete');
Route::get('search', function (Request $request) {
if (! empty($request->input('query'))) {
$clients = App\Models\Person\Person::search($request->input('query'))
->query(function($builder) use($request): void {
->query(function ($builder) use ($request): void {
$builder->join('clients', 'person.id', '=', 'clients.person_id')
->leftJoin('person_addresses', 'person.id', '=', 'person_addresses.person_id')
->leftJoin('person_phones', 'person.id', '=', 'person_phones.person_id')
@@ -75,7 +80,7 @@
->get();
$clientCases = App\Models\Person\Person::search($request->input('query'))
->query(function($builder) use($request): void {
->query(function ($builder) use ($request): void {
$builder->join('client_cases', 'person.id', '=', 'client_cases.person_id')
->leftJoin('person_addresses', 'person.id', '=', 'person_addresses.person_id')
->leftJoin('person_phones', 'person.id', '=', 'person_phones.person_id')
@@ -83,19 +88,19 @@
->limit($request->input('limit'));
})
->get();
return [
'clients' => $clients,
'client_cases' => $clientCases,
'query' => $request->input('query')
'query' => $request->input('query'),
];
}
return [];
})->name('search');
//person
// person
Route::put('person/{person:uuid}', [PersonController::class, 'update'])->name('person.update');
Route::post('person/{person:uuid}/address', [PersonController::class, 'createAddress'])->name('person.address.create');
Route::put('person/{person:uuid}/address/{address_id}', [PersonController::class, 'updateAddress'])->name('person.address.update');
@@ -110,18 +115,18 @@
Route::post('person/{person:uuid}/trr', [PersonController::class, 'createTrr'])->name('person.trr.create');
Route::put('person/{person:uuid}/trr/{trr_id}', [PersonController::class, 'updateTrr'])->name('person.trr.update');
Route::delete('person/{person:uuid}/trr/{trr_id}', [PersonController::class, 'deleteTrr'])->name('person.trr.delete');
//client
// client
Route::get('clients', [ClientController::class, 'index'])->name('client');
Route::get('clients/{client:uuid}', [ClientController::class, 'show'])->name('client.show');
Route::post('clients', [ClientController::class, 'store'])->name('client.store');
Route::put('clients/{client:uuid}', [ClientController::class, 'update'])->name('client.update');
//client-case
// client-case
Route::get('client-cases', [ClientCaseContoller::class, 'index'])->name('clientCase');
Route::get('client-cases/{client_case:uuid}', [ClientCaseContoller::class, 'show'])->name('clientCase.show');
Route::post('client-cases/{client_case:uuid}/contracts/{uuid}/segment', [ClientCaseContoller::class, 'updateContractSegment'])->name('clientCase.contract.updateSegment');
Route::post('client-cases', [ClientCaseContoller::class, 'store'])->name('clientCase.store');
//client-case / contract
// client-case / contract
Route::post('client-cases/{client_case:uuid}/contract', [ClientCaseContoller::class, 'storeContract'])->name('clientCase.contract.store');
Route::put('client-cases/{client_case:uuid}/contract/{uuid}', [ClientCaseContoller::class, 'updateContract'])->name('clientCase.contract.update');
Route::delete('client-cases/{client_case:uuid}/contract/{uuid}', [ClientCaseContoller::class, 'deleteContract'])->name('clientCase.contract.delete');
@@ -129,22 +134,31 @@
Route::post('client-cases/{client_case:uuid}/contract/{uuid}/objects', [CaseObjectController::class, 'store'])->name('clientCase.contract.object.store');
Route::put('client-cases/{client_case:uuid}/objects/{id}', [CaseObjectController::class, 'update'])->name('clientCase.object.update');
Route::delete('client-cases/{client_case:uuid}/objects/{id}', [CaseObjectController::class, 'destroy'])->name('clientCase.object.delete');
//client-case / activity
// client-case / activity
Route::post('client-cases/{client_case:uuid}/activity', [ClientCaseContoller::class, 'storeActivity'])->name('clientCase.activity.store');
// client-case / segments
Route::post('client-cases/{client_case:uuid}/segments', [ClientCaseContoller::class, 'attachSegment'])->name('clientCase.segments.attach');
//client-case / documents
// client-case / documents
Route::post('client-cases/{client_case:uuid}/documents', [ClientCaseContoller::class, 'storeDocument'])->name('clientCase.document.store');
Route::get('client-cases/{client_case:uuid}/documents/{document:uuid}/view', [ClientCaseContoller::class, 'viewDocument'])->name('clientCase.document.view');
Route::get('client-cases/{client_case:uuid}/documents/{document:uuid}/download', [ClientCaseContoller::class, 'downloadDocument'])->name('clientCase.document.download');
//settings
// contract / documents (direct access by contract)
Route::get('contracts/{contract:uuid}/documents/{document:uuid}/view', [ClientCaseContoller::class, 'viewContractDocument'])->name('contract.document.view');
Route::get('contracts/{contract:uuid}/documents/{document:uuid}/download', [ClientCaseContoller::class, 'downloadContractDocument'])->name('contract.document.download');
// settings
Route::get('settings', [SettingController::class, 'index'])->name('settings');
Route::get('settings/segments', [SegmentController::class, 'settings'])->name('settings.segments');
Route::post('settings/segments', [SegmentController::class, 'store'])->name('settings.segments.store');
Route::put('settings/segments/{segment}', [SegmentController::class, 'update'])->name('settings.segments.update');
Route::get('settings/workflow', [WorkflowController::class, 'index'])->name('settings.workflow');
Route::get('settings/field-job', [FieldJobSettingController::class, 'index'])->name('settings.fieldjob.index');
// field jobs assignment
Route::get('field-jobs', [FieldJobController::class, 'index'])->name('fieldjobs.index');
Route::post('field-jobs/assign', [FieldJobController::class, 'assign'])->name('fieldjobs.assign');
Route::post('field-jobs/cancel', [FieldJobController::class, 'cancel'])->name('fieldjobs.cancel');
Route::post('settings/field-job', [FieldJobSettingController::class, 'store'])->name('settings.fieldjob.store');
Route::put('settings/field-job/{setting}', [FieldJobSettingController::class, 'update'])->name('settings.fieldjob.update');
// settings / contract-configs
Route::get('settings/contract-configs', [ContractConfigController::class, 'index'])->name('settings.contractConfigs.index');
Route::post('settings/contract-configs', [ContractConfigController::class, 'store'])->name('settings.contractConfigs.store');
@@ -181,14 +195,14 @@
Route::delete('import-templates/{template:uuid}/mappings/{mapping}', [ImportTemplateController::class, 'deleteMapping'])->name('importTemplates.mappings.delete');
Route::post('import-templates/{template:uuid}/mappings/reorder', [ImportTemplateController::class, 'reorderMappings'])->name('importTemplates.mappings.reorder');
Route::post('import-templates/{template}/apply/{import}', [ImportTemplateController::class, 'applyToImport'])->name('importTemplates.apply');
//Route::put()
//types
// Route::put()
// types
Route::get('types/address', function(Request $request){
Route::get('types/address', function (Request $request) {
$types = App\Models\Person\AddressType::all();
return response()->json([
'types' => $types
'types' => $types,
]);
})->name('types.address');