akaunting/app/Traits/Sources.php

38 lines
725 B
PHP
Raw Normal View History

2021-09-07 10:33:34 +03:00
<?php
namespace App\Traits;
trait Sources
{
public function isSourcable(): bool
{
$sourcable = $this->sourcable ?: true;
return ($sourcable === true) && in_array('created_from', $this->getFillable());
}
public function isNotSourcable(): bool
{
return ! $this->isSourcable();
}
public function getSourceName($request = null): string
{
if (app()->runningInConsole()) {
$source = 'console';
}
if (empty($source)) {
$request = $request ?: request();
$source = $request->isApi() ? 'api' : null;
}
if (empty($source)) {
$source = 'ui';
}
return $source;
}
}