1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-14 15:13:29 +01:00
invoiceninja/app/Models/TicketComment.php
2019-01-30 22:25:07 +11:00

64 lines
1.4 KiB
PHP

<?php
namespace App\Models;
use App\Libraries\Utils;
use Laravel\Scout\Searchable;
class TicketComment extends EntityModel
{
use Searchable;
protected $touches = ['ticket'];
/**
* @return string
*/
public function getEntityType()
{
return ENTITY_TICKET_COMMENT;
}
/**
* @return mixed
*/
public function ticket()
{
return $this->belongsTo('App\Models\Ticket');
}
/**
* @return User
*/
public function agent()
{
return $this->hasOne('App\Models\User', 'id', 'agent_id');
}
/**
* @return User
*/
public function user()
{
return $this->hasOne('App\Models\User', 'id', 'user_id');
}
/**
* @return string
*/
public function getCommentHeader()
{
if(filter_var($this->contact_key, FILTER_VALIDATE_EMAIL))
return $this->ticket->contact_key. ' @ '. Utils::fromSqlDateTime($this->updated_at); // some kind of contact
elseif($this->contact_key)
return $this->ticket->getContactName(). ' @ ' . Utils::fromSqlDateTime($this->updated_at); //client replied
elseif($this->agent_id)
return $this->agent->getName(). ' @ ' . Utils::fromSqlDateTime($this->updated_at); //staff replied
else
return $this->user->getName(). ' @ ' . Utils::fromSqlDateTime($this->updated_at); //ticket master replied
}
}