first commit
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Account;
|
||||
use Illuminate\Http\Request;
|
||||
use Inertia\Inertia;
|
||||
|
||||
class AccountController extends Controller
|
||||
{
|
||||
//
|
||||
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Person\Person;
|
||||
use Auth;
|
||||
use Illuminate\Http\Request;
|
||||
use Inertia\Inertia;
|
||||
|
||||
class ClientController extends Controller
|
||||
{
|
||||
public function index(Person $person){
|
||||
return Inertia::render('Client/Index',[
|
||||
'persons' => $person::with(['group','type'])
|
||||
->selectRaw('person.*,(select count(id) from contracts where client_id=person.id) as contracts')
|
||||
->whereHas('group', fn($que) => $que->where('deleted','=',0))
|
||||
->whereHas('type', fn($que) => $que->where('deleted','=',0))
|
||||
->where([
|
||||
['person.active','=',1],
|
||||
['person.group_id','=',1]
|
||||
])->get(),
|
||||
'create_url' => route('client.store'),
|
||||
'person_types' => \App\Models\Person\PersonType::all(['id','name','description'])
|
||||
->where('deleted','=',0)
|
||||
]);
|
||||
}
|
||||
|
||||
public function show($uuid) {
|
||||
return Inertia::render('Client/Show', [
|
||||
'client' => Person::with(['group','type','addresses','contracts'])->where('uuid', $uuid)->firstOrFail()
|
||||
]);
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$reqAddress = $request->input('address');
|
||||
$userId = Auth::user()->id;
|
||||
|
||||
$address = [
|
||||
'address' => $reqAddress['address'],
|
||||
'country' => $reqAddress['country'],
|
||||
'type_id' => $reqAddress['type_id'],
|
||||
'person_id' => 0,
|
||||
'user_id' => $userId
|
||||
];
|
||||
|
||||
$pid = Person::create([
|
||||
'nu' => rand(100000,200000),
|
||||
'first_name' => $request->input('first_name'),
|
||||
'last_name' => $request->input('last_name'),
|
||||
'full_name' => $request->input('full_name'),
|
||||
'gender' => null,
|
||||
'birthday' => null,
|
||||
'tax_number' => null,
|
||||
'social_security_number' => null,
|
||||
'description' => 'sdwwf',
|
||||
'group_id' => 1,
|
||||
'type_id' => 2,
|
||||
'user_id' => $userId
|
||||
])->id;
|
||||
|
||||
$address['person_id'] = $pid;
|
||||
|
||||
\App\Models\Person\PersonAddress::create($address);
|
||||
|
||||
return to_route('client');
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ContractController extends Controller
|
||||
{
|
||||
public function store(Request $request)
|
||||
{
|
||||
$cuuid = $request->input('client_uuid');
|
||||
$userId = \Auth::user()->id;
|
||||
$pReqPer = $request->input('person');
|
||||
$pReqCont = $request->input('contract');
|
||||
|
||||
$cid = \DB::table('person')->where('uuid', $cuuid)->firstOrFail('id')->id;
|
||||
|
||||
|
||||
|
||||
if(!empty($cid)){
|
||||
|
||||
$pid = \App\Models\Person\Person::create([
|
||||
'nu' => rand(100000,200000),
|
||||
'first_name' => $pReqPer['first_name'],
|
||||
'last_name' => $pReqPer['last_name'],
|
||||
'full_name' => $pReqPer['full_name'],
|
||||
'gender' => null,
|
||||
'birthday' => null,
|
||||
'tax_number' => null,
|
||||
'social_security_number' => null,
|
||||
'description' => 'sdwwf',
|
||||
'group_id' => 2,
|
||||
'type_id' => 1,
|
||||
'user_id' => $userId
|
||||
])->id;
|
||||
|
||||
|
||||
$address = [
|
||||
'address' => $pReqPer['address']['address'],
|
||||
'country' => $pReqPer['address']['country'],
|
||||
'type_id' => $pReqPer['address']['type_id'],
|
||||
'person_id' => $pid,
|
||||
'user_id' => $userId
|
||||
];
|
||||
|
||||
$contract = [
|
||||
'reference' => $pReqCont['reference'],
|
||||
'start_date' => date('Y-m-d', strtotime($pReqCont['start_date'])),
|
||||
'client_id' => $cid,
|
||||
'debtor_id' => $pid,
|
||||
'type_id' => $pReqCont['type_id']
|
||||
];
|
||||
|
||||
\App\Models\Person\PersonAddress::create($address);
|
||||
\App\Models\Contract::create($contract);
|
||||
}
|
||||
|
||||
return to_route('client.show', ['uuid' => $cuuid]);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
abstract class Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class DebtController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class PaymentController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Person\Person;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class PersonController extends Controller
|
||||
{
|
||||
//
|
||||
public function show(Person $person){
|
||||
|
||||
}
|
||||
|
||||
public function create(Request $request){
|
||||
|
||||
}
|
||||
|
||||
public function store(Request $request){
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SegmentController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Inertia\Middleware;
|
||||
|
||||
class HandleInertiaRequests extends Middleware
|
||||
{
|
||||
/**
|
||||
* The root template that's loaded on the first page visit.
|
||||
*
|
||||
* @see https://inertiajs.com/server-side-setup#root-template
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $rootView = 'app';
|
||||
|
||||
/**
|
||||
* Determines the current asset version.
|
||||
*
|
||||
* @see https://inertiajs.com/asset-versioning
|
||||
*/
|
||||
public function version(Request $request): ?string
|
||||
{
|
||||
return parent::version($request);
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the props that are shared by default.
|
||||
*
|
||||
* @see https://inertiajs.com/shared-data
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function share(Request $request): array
|
||||
{
|
||||
return array_merge(parent::share($request), [
|
||||
//
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||
|
||||
class PersonCollection extends ResourceCollection
|
||||
{
|
||||
/**
|
||||
* Transform the resource collection into an array.
|
||||
*
|
||||
* @return array<int|string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'data' => $this->collection
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user