snapshot of https://github.com/krayin/laravel-crm.git (2.2, 2026-09-18; blobs > 131072B omitted)
Some checks failed
Admin | Playwright Tests / Admin | Playwright Tests | Shard 1 Of 6 (push) Failing after 37s
Admin | Playwright Tests / Admin | Playwright Tests | Shard 2 Of 6 (push) Failing after 7s
Admin | Playwright Tests / Admin | Playwright Tests | Shard 4 Of 6 (push) Failing after 7s
Admin | Playwright Tests / Admin | Playwright Tests | Shard 6 Of 6 (push) Failing after 6s
Linting Tests / PHP 8.3 test on ubuntu-latest (push) Failing after 5s
CI / PHP 8.3 test on ubuntu-latest (push) Failing after 6s
Skills Consistency / validate-skills (push) Successful in 10s
Admin | Playwright Tests / Admin | Playwright Tests | Shard 3 Of 6 (push) Failing after 7s
Admin | Playwright Tests / Admin | Playwright Tests | Shard 5 Of 6 (push) Failing after 6s

This commit is contained in:
upstream-mirror
2026-09-18 04:37:41 +05:00
commit 135ffdb085
1274 changed files with 144880 additions and 0 deletions

View File

@@ -0,0 +1,109 @@
<?php
namespace Webkul\Contact\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;
use Webkul\Activity\Models\ActivityProxy;
use Webkul\Activity\Traits\LogsActivity;
use Webkul\Attribute\Traits\CustomAttribute;
use Webkul\Contact\Contracts\Person as PersonContract;
use Webkul\Contact\Database\Factories\PersonFactory;
use Webkul\Lead\Models\LeadProxy;
use Webkul\Tag\Models\TagProxy;
use Webkul\User\Models\UserProxy;
class Person extends Model implements PersonContract
{
use CustomAttribute, HasFactory, LogsActivity;
/**
* Table name.
*
* @var string
*/
protected $table = 'persons';
/**
* Eager loading.
*
* @var string
*/
protected $with = 'organization';
/**
* The attributes that are castable.
*
* @var array
*/
protected $casts = [
'emails' => 'array',
'contact_numbers' => 'array',
];
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name',
'emails',
'contact_numbers',
'job_title',
'user_id',
'organization_id',
'unique_id',
];
/**
* Get the user that owns the lead.
*/
public function user(): BelongsTo
{
return $this->belongsTo(UserProxy::modelClass());
}
/**
* Get the organization that owns the person.
*/
public function organization(): BelongsTo
{
return $this->belongsTo(OrganizationProxy::modelClass());
}
/**
* Get the activities.
*/
public function activities(): BelongsToMany
{
return $this->belongsToMany(ActivityProxy::modelClass(), 'person_activities');
}
/**
* The tags that belong to the person.
*/
public function tags(): BelongsToMany
{
return $this->belongsToMany(TagProxy::modelClass(), 'person_tags');
}
/**
* Get the leads for the person.
*/
public function leads(): HasMany
{
return $this->hasMany(LeadProxy::modelClass(), 'person_id');
}
/**
* Create a new factory instance for the model.
*/
protected static function newFactory(): PersonFactory
{
return PersonFactory::new();
}
}