1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-11 13:42:49 +01:00
invoiceninja/app/Models/Presenters/UserPresenter.php

99 lines
2.2 KiB
PHP
Raw Normal View History

<?php
2019-05-11 05:32:07 +02:00
/**
* Invoice Ninja (https://invoiceninja.com).
2019-05-11 05:32:07 +02:00
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
2024-04-12 06:15:41 +02:00
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
2019-05-11 05:32:07 +02:00
*
2021-06-16 08:58:16 +02:00
* @license https://www.elastic.co/licensing/elastic-license
2019-05-11 05:32:07 +02:00
*/
namespace App\Models\Presenters;
2019-01-27 00:22:57 +01:00
/**
* Class UserPresenter.
2019-01-27 00:22:57 +01:00
*/
class UserPresenter extends EntityPresenter
{
2019-01-27 00:22:57 +01:00
/**
* Returns the first and last names concatenated.
2023-10-26 04:57:44 +02:00
*
2019-01-27 00:22:57 +01:00
* @return string
*/
public function name(): string
{
if (! $this->entity) {
return 'No User Object Available';
}
2021-07-11 06:54:57 +02:00
$first_name = isset($this->entity->first_name) ? $this->entity->first_name : '';
$last_name = isset($this->entity->last_name) ? $this->entity->last_name : '';
return $first_name.' '.$last_name;
}
2024-01-14 05:05:00 +01:00
/**
* Returns a full name (with fallback) of the user
*
* @return string
*/
public function getDisplayName(): string
2021-05-06 06:39:18 +02:00
{
if ($this->getFullName()) {
return $this->getFullName();
} elseif ($this->entity->email) {
return $this->entity->email;
} else {
return ctrans('texts.guest');
}
}
/**
* Returns the full name of the user
2021-05-06 06:39:18 +02:00
* @return string
*/
public function getFullName()
{
if ($this->entity->first_name || $this->entity->last_name) {
return $this->entity->first_name.' '.$this->entity->last_name;
} else {
return '';
}
}
2024-01-14 05:05:00 +01:00
/**
* Returns the first name of the user
*
* @return string
*/
public function firstName(): string
{
if (! $this->entity) {
return 'No First Name Available';
}
return $this->entity->first_name ?? 'First Name';
}
2024-01-14 05:05:00 +01:00
/**
* Returns the last name of the user
*
* @return string
*/
public function lastName(): string
{
if (! $this->entity) {
return 'No Last Name Available';
}
return $this->entity->last_name ?? 'Last Name';
}
2023-12-07 09:32:08 +01:00
public function phone(): string
{
return $this->entity->phone ?? ' ';
}
}