Lots of changes

This commit is contained in:
Simon Pocrnjič
2024-11-13 22:11:07 +01:00
parent 90a5858320
commit 953ff38d64
76 changed files with 2822 additions and 427 deletions
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class Action extends Model
{
/** @use HasFactory<\Database\Factories\ActionFactory> */
use HasFactory;
public function decisions(): BelongsToMany
{
return $this->belongsToMany(\App\Models\Decision::class);
}
public function segment(): BelongsTo
{
return $this->belongsTo(\App\Models\Segment::class);
}
}
+50
View File
@@ -0,0 +1,50 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes;
class Activity extends Model
{
/** @use HasFactory<\Database\Factories\ActivityFactory> */
use HasFactory;
use SoftDeletes;
protected $fillable = [
'due_date',
'amount',
'note',
'action_id',
'decision_id'
];
protected $hidden = [
'action_id',
'decision_id',
'client_case_id',
'contract_id'
];
public function action(): BelongsTo
{
return $this->belongsTo(\App\Models\Action::class);
}
public function decision(): BelongsTo
{
return $this->belongsTo(\App\Models\Decision::class);
}
public function clientCase(): BelongsTo
{
return $this->belongsTo(\App\Models\ClientCase::class);
}
public function contract(): BelongsTo|null
{
return $this->belongsTo(\App\Models\Contract::class);
}
}
+35
View File
@@ -0,0 +1,35 @@
<?php
namespace App\Models;
use App\Traits\Uuid;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Client extends Model
{
/** @use HasFactory<\Database\Factories\ClientFactory> */
use HasFactory;
use Uuid;
protected $fillable = [
'person_id'
];
protected $hidden = [
'id',
'person_id',
];
public function person(): BelongsTo
{
return $this->belongsTo(\App\Models\Person\Person::class);
}
public function clientCases(): HasMany
{
return $this->hasMany(\App\Models\ClientCase::class);
}
}
+46
View File
@@ -0,0 +1,46 @@
<?php
namespace App\Models;
use App\Traits\Uuid;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class ClientCase extends Model
{
/** @use HasFactory<\Database\Factories\ClientCaseFactory> */
use HasFactory;
use Uuid;
protected $fillable = [
'client_id'
];
protected $hidden = [
'id',
'client_id',
'person_id'
];
public function client(): BelongsTo
{
return $this->belongsTo(\App\Models\Client::class);
}
public function person(): BelongsTo
{
return $this->belongsTo(\App\Models\Person\Person::class);
}
public function contracts(): HasMany
{
return $this->hasMany(\App\Models\Contract::class);
}
public function activities(): HasMany
{
return $this->hasMany(\App\Models\Activity::class);
}
}
+10 -4
View File
@@ -7,26 +7,27 @@
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\SoftDeletes;
class Contract extends Model
{
/** @use HasFactory<\Database\Factories\ContractFactory> */
use HasFactory;
use Uuid;
use SoftDeletes;
protected $fillable = [
'reference',
'start_date',
'end_date',
'client_id',
'debtor_id',
'client_case_id',
'type_id',
'description'
];
protected $hidden = [
'client_id',
'debtor_id',
'id',
'client_case_id',
'type_id'
];
@@ -35,6 +36,11 @@ public function type(): BelongsTo
return $this->belongsTo(\App\Models\ContractType::class, 'type_id');
}
public function client(): BelongsTo
{
return $this->belongsTo(\App\Models\Person\Person::class, 'client_id');
}
public function debtor(): BelongsTo
{
return $this->belongsTo(\App\Models\Person\Person::class, 'debtor_id');
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Decision extends Model
{
/** @use HasFactory<\Database\Factories\DecisionFactory> */
use HasFactory;
public function actions(): BelongsToMany
{
return $this->belongsToMany(\App\Models\Action::class);
}
public function events(): BelongsToMany
{
return $this->belongsToMany(\App\Models\Event::class);
}
}
+12
View File
@@ -0,0 +1,12 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Event extends Model
{
/** @use HasFactory<\Database\Factories\EventFactory> */
use HasFactory;
}
+16 -9
View File
@@ -7,6 +7,7 @@
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Laravel\Sanctum\HasApiTokens;
class Person extends Model
@@ -43,6 +44,14 @@ class Person extends Model
'user_id'
];
protected static function booted(){
static::creating(function (Person $person) {
if(!isset($person->user_id)){
$person->user_id = auth()->id();
}
});
}
public function phones(): HasMany
{
@@ -68,16 +77,14 @@ public function type(): BelongsTo
return $this->belongsTo(\App\Models\Person\PersonType::class, 'type_id');
}
public function contracts(): HasMany
public function client(): HasOne
{
return $this->hasMany(\App\Models\Contract::class, 'client_id')
->with('debtor', fn($que) =>
$que->with(['type', 'group'])
->whereHas('type', fn($tque) => $tque->where('deleted','=',0))
->whereHas('group', fn($tque) => $tque->where('deleted','=',0))
->where('active','=',1))
->with('type', fn($que) => $que->where('deleted','=',0))
->where('active', '=', 1);
return $this->hasOne(\App\Models\Client::class);
}
public function clientCase(): HasOne
{
return $this->hasOne(\App\Models\ClientCase::class);
}
}
+6
View File
@@ -26,6 +26,12 @@ class PersonAddress extends Model
'deleted'
];
protected static function booted(){
static::creating(function (PersonAddress $address) {
$address->user_id = auth()->id();
});
}
public function person(): BelongsTo
{
return $this->belongsTo(\App\Models\Person\Person::class);