Initial commit
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Models;
|
||||
|
||||
/**
|
||||
* SubscriberNote Model - DB Model for Contact's notes
|
||||
*
|
||||
* Database Model
|
||||
*
|
||||
* @package FluentCrm\App\Models
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
|
||||
class CompanyNote extends Model
|
||||
{
|
||||
protected $table = 'fc_subscriber_notes';
|
||||
|
||||
protected $guarded = ['id'];
|
||||
|
||||
protected $fillable = [
|
||||
'subscriber_id',
|
||||
'parent_id',
|
||||
'created_by',
|
||||
'type',
|
||||
'title',
|
||||
'description',
|
||||
'created_at'
|
||||
];
|
||||
|
||||
public static function boot()
|
||||
{
|
||||
parent::boot();
|
||||
|
||||
static::creating(function ($model) {
|
||||
if(empty($model->created_at)) {
|
||||
$model->created_at = fluentCrmTimestamp();
|
||||
}
|
||||
|
||||
$model->status = '_company_note_';
|
||||
|
||||
$model->updated_at = fluentCrmTimestamp();
|
||||
$model->created_by = $model->created_by ?: get_current_user_id();
|
||||
});
|
||||
|
||||
static::updated(function ($model) {
|
||||
$model->updated_at = fluentCrmTimestamp();
|
||||
});
|
||||
|
||||
static::addGlobalScope('status', function ($builder) {
|
||||
$builder->where('status', '_company_note_'); // This disguised the Company Note from SubscriberNote
|
||||
});
|
||||
}
|
||||
/**
|
||||
* One2One: CompanyNote belongs to one Company
|
||||
* @return \FluentCrm\Framework\Database\Orm\Relations\BelongsTo
|
||||
*/
|
||||
public function company()
|
||||
{
|
||||
return $this->belongsTo(
|
||||
__NAMESPACE__.'\Company', 'subscriber_id', 'id'
|
||||
);
|
||||
}
|
||||
|
||||
public function markAs($status)
|
||||
{
|
||||
$this->status = $status;
|
||||
$this->save();
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function createdBy()
|
||||
{
|
||||
if(!$this->created_by) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$user = get_user_by('ID', $this->created_by);
|
||||
|
||||
if (!$user) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return [
|
||||
'ID' => $user->ID,
|
||||
'first_name' => $user->first_name,
|
||||
'last_name' => $user->last_name,
|
||||
'display_name' => $user->display_name
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user