DocBlocks

This commit is contained in:
David Bomba 2019-01-27 10:22:57 +11:00
parent 64d3ca0474
commit 545a8df362
25 changed files with 226 additions and 2 deletions

View File

@ -4,11 +4,21 @@ namespace App\DataMapper;
use App\Models\Client; use App\Models\Client;
/**
* Class DefaultSettings
* @package App\DataMapper
*/
class DefaultSettings class DefaultSettings
{ {
/**
* @var int
*/
public static $per_page = 25; public static $per_page = 25;
/**
* @return \stdClass
*/
public static function userSettings() : \stdClass public static function userSettings() : \stdClass
{ {
return (object)[ return (object)[
@ -16,6 +26,9 @@ class DefaultSettings
]; ];
} }
/**
* @return \stdClass
*/
private static function clientSettings() : \stdClass private static function clientSettings() : \stdClass
{ {

View File

@ -9,13 +9,24 @@ use App\Utils\Traits\UserSessionAttributes;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/**
* Class ClientDatatable
* @package App\Datatables
*/
class ClientDatatable extends EntityDatatable class ClientDatatable extends EntityDatatable
{ {
use MakesHash; use MakesHash;
use MakesActionMenu; use MakesActionMenu;
/**
* @var ClientFilters
*/
protected $filter; protected $filter;
/**
* ClientDatatable constructor.
* @param ClientFilters $filter
*/
public function __construct(ClientFilters $filter) public function __construct(ClientFilters $filter)
{ {
$this->filter = $filter; $this->filter = $filter;
@ -32,7 +43,12 @@ class ClientDatatable extends EntityDatatable
} }
/**
* @param int $company_id
* @param bool $userId
* @return mixed
*/
private function find(int $company_id, $userId = false) private function find(int $company_id, $userId = false)
{ {

View File

@ -3,6 +3,10 @@
namespace App\Datatables; namespace App\Datatables;
/**
* Class EntityDatatable
* @package App\Datatables
*/
class EntityDatatable class EntityDatatable
{ {

View File

@ -4,6 +4,10 @@ namespace App\Datatables;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/**
* Class MakesActionMenu
* @package App\Datatables
*/
trait MakesActionMenu trait MakesActionMenu
{ {
/** /**

View File

@ -10,10 +10,17 @@ use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast; use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
/**
* Class AccountCreated
* @package App\Events\Account
*/
class AccountCreated class AccountCreated
{ {
use Dispatchable, InteractsWithSockets, SerializesModels; use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* @var
*/
public $user; public $user;
/** /**

View File

@ -10,10 +10,17 @@ use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast; use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
/**
* Class UserCreated
* @package App\Events\User
*/
class UserCreated class UserCreated
{ {
use Dispatchable, InteractsWithSockets, SerializesModels; use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* @var
*/
public $user; public $user;
/** /**

View File

@ -6,10 +6,23 @@ use App\Models\User;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Illuminate\Http\Request; use Illuminate\Http\Request;
/**
* Class QueryFilters
* @package App\Filters
*/
abstract class QueryFilters abstract class QueryFilters
{ {
/**
*
*/
const STATUS_ACTIVE = 'active'; const STATUS_ACTIVE = 'active';
/**
*
*/
const STATUS_ARCHIVED = 'archived'; const STATUS_ARCHIVED = 'archived';
/**
*
*/
const STATUS_DELETED = 'deleted'; const STATUS_DELETED = 'deleted';
/** /**

View File

@ -24,22 +24,40 @@ use Illuminate\Support\Facades\Log;
use Yajra\DataTables\Facades\DataTables; use Yajra\DataTables\Facades\DataTables;
use Yajra\DataTables\Html\Builder; use Yajra\DataTables\Html\Builder;
/**
* Class ClientController
* @package App\Http\Controllers
*/
class ClientController extends Controller class ClientController extends Controller
{ {
use UserSessionAttributes; use UserSessionAttributes;
use MakesHash; use MakesHash;
use MakesMenu; use MakesMenu;
/**
* @var ClientRepository
*/
protected $clientRepo; protected $clientRepo;
/**
* @var ClientDatatable
*/
protected $clientDatatable; protected $clientDatatable;
/**
* ClientController constructor.
* @param ClientRepository $clientRepo
* @param ClientDatatable $clientDatatable
*/
public function __construct(ClientRepository $clientRepo, ClientDatatable $clientDatatable) public function __construct(ClientRepository $clientRepo, ClientDatatable $clientDatatable)
{ {
$this->clientRepo = $clientRepo; $this->clientRepo = $clientRepo;
$this->clientDatatable = $clientDatatable; $this->clientDatatable = $clientDatatable;
} }
/**
* @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse|\Illuminate\View\View
*/
public function index() public function index()
{ {
; ;

View File

@ -11,10 +11,17 @@ use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
/**
* Class CompanyController
* @package App\Http\Controllers
*/
class CompanyController extends Controller class CompanyController extends Controller
{ {
use DispatchesJobs; use DispatchesJobs;
/**
* CompanyController constructor.
*/
public function __construct() public function __construct()
{ {
$this->middleware('guest'); $this->middleware('guest');

View File

@ -4,8 +4,15 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
/**
* Class ContactController
* @package App\Http\Controllers
*/
class ContactController extends Controller class ContactController extends Controller
{ {
/**
* ContactController constructor.
*/
public function __construct() public function __construct()
{ {
$this->middleware('auth:contact'); $this->middleware('auth:contact');

View File

@ -4,6 +4,10 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
/**
* Class SettingsController
* @package App\Http\Controllers
*/
class SettingsController extends Controller class SettingsController extends Controller
{ {
/** /**

View File

@ -6,10 +6,18 @@ use App\Models\User;
use App\Utils\Traits\UserSessionAttributes; use App\Utils\Traits\UserSessionAttributes;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
/**
* Class VerifiesUserEmail
* @package App\Http\Controllers\Traits
*/
trait VerifiesUserEmail trait VerifiesUserEmail
{ {
use UserSessionAttributes; use UserSessionAttributes;
/**
* @param $code
* @return \Illuminate\Http\RedirectResponse
*/
public function confirm($code) public function confirm($code)
{ {
$user = User::where('confirmation_code', $code)->first(); $user = User::where('confirmation_code', $code)->first();

View File

@ -5,6 +5,10 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Cache;
/**
* Class TranslationController
* @package App\Http\Controllers
*/
class TranslationController extends Controller class TranslationController extends Controller
{ {
/** /**

View File

@ -5,6 +5,10 @@ namespace App\Http\Controllers;
use App\Http\Controllers\Traits\VerifiesUserEmail; use App\Http\Controllers\Traits\VerifiesUserEmail;
use Illuminate\Http\Request; use Illuminate\Http\Request;
/**
* Class UserController
* @package App\Http\Controllers
*/
class UserController extends Controller class UserController extends Controller
{ {
use VerifiesUserEmail; use VerifiesUserEmail;

View File

@ -6,6 +6,10 @@ use App\Libraries\MultiDB;
use Closure; use Closure;
use Hashids\Hashids; use Hashids\Hashids;
/**
* Class UrlSetDb
* @package App\Http\Middleware
*/
class UrlSetDb class UrlSetDb
{ {
/** /**

View File

@ -6,19 +6,35 @@ use App\Libraries\MultiDB;
use App\Models\User; use App\Models\User;
use Illuminate\Contracts\Validation\Rule; use Illuminate\Contracts\Validation\Rule;
/**
* Class UniqueUserRule
* @package App\Http\ValidationRules
*/
class UniqueUserRule implements Rule class UniqueUserRule implements Rule
{ {
/**
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value) public function passes($attribute, $value)
{ {
return ! $this->checkIfEmailExists($value); //if it exists, return false! return ! $this->checkIfEmailExists($value); //if it exists, return false!
} }
/**
* @return string
*/
public function message() public function message()
{ {
return ctrans('texts.email_already_register'); return ctrans('texts.email_already_register');
} }
/**
* @param $email
* @return bool
*/
private function checkIfEmailExists($email) : bool private function checkIfEmailExists($email) : bool
{ {
return MultiDB::checkUserEmailExists($email); return MultiDB::checkUserEmailExists($email);

View File

@ -5,6 +5,10 @@ namespace App\Http\ViewComposers;
use App\Utils\Traits\UserSessionAttributes; use App\Utils\Traits\UserSessionAttributes;
use Illuminate\View\View; use Illuminate\View\View;
/**
* Class HeaderComposer
* @package App\Http\ViewComposers
*/
class HeaderComposer class HeaderComposer
{ {
use UserSessionAttributes; use UserSessionAttributes;
@ -20,6 +24,9 @@ class HeaderComposer
$view->with('header', $this->headerData()); $view->with('header', $this->headerData());
} }
/**
* @return array
*/
private function headerData() private function headerData()
{ {
if(!auth()->user()) if(!auth()->user())

View File

@ -2,6 +2,10 @@
namespace App\Models\Presenters; namespace App\Models\Presenters;
/**
* Class ClientContactPresenter
* @package App\Models\Presenters
*/
class ClientContactPresenter extends EntityPresenter class ClientContactPresenter extends EntityPresenter
{ {

View File

@ -2,9 +2,16 @@
namespace App\Models\Presenters; namespace App\Models\Presenters;
/**
* Class ClientPresenter
* @package App\Models\Presenters
*/
class ClientPresenter extends EntityPresenter class ClientPresenter extends EntityPresenter
{ {
/**
* @return string
*/
public function name() public function name()
{ {
return $this->entity->name ?: $this->entity->primary_contact->first()->first_name . ' '. $this->entity->primary_contact->first()->last_name; return $this->entity->name ?: $this->entity->primary_contact->first()->first_name . ' '. $this->entity->primary_contact->first()->last_name;

View File

@ -2,9 +2,16 @@
namespace App\Models\Presenters; namespace App\Models\Presenters;
/**
* Class CompanyPresenter
* @package App\Models\Presenters
*/
class CompanyPresenter extends EntityPresenter class CompanyPresenter extends EntityPresenter
{ {
/**
* @return string
*/
public function name() public function name()
{ {
return $this->entity->name ?: ctrans('texts.untitled_account'); return $this->entity->name ?: ctrans('texts.untitled_account');

View File

@ -9,49 +9,80 @@ use URL;
use Utils; use Utils;
use stdClass; use stdClass;
/**
* Class EntityPresenter
* @package App\Models\Presenters
*/
class EntityPresenter extends Presenter class EntityPresenter extends Presenter
{ {
use MakesHash; use MakesHash;
/**
* @return string
*/
public function id() public function id()
{ {
return $this->encodePrimaryKey($this->entity->id); return $this->encodePrimaryKey($this->entity->id);
} }
/**
*
*/
public function url() public function url()
{ {
} }
/**
*
*/
public function path() public function path()
{ {
} }
/**
*
*/
public function editUrl() public function editUrl()
{ {
} }
/**
* @param bool $label
*/
public function statusLabel($label = false) public function statusLabel($label = false)
{ {
} }
/**
*
*/
public function statusColor() public function statusColor()
{ {
} }
/**
*
*/
public function link() public function link()
{ {
} }
/**
*
*/
public function titledName() public function titledName()
{ {
} }
/**
* @param bool $subColors
*/
public function calendarEvent($subColors = false) public function calendarEvent($subColors = false)
{ {

View File

@ -2,9 +2,16 @@
namespace App\Models\Presenters; namespace App\Models\Presenters;
/**
* Class UserPresenter
* @package App\Models\Presenters
*/
class UserPresenter extends EntityPresenter class UserPresenter extends EntityPresenter
{ {
/**
* @return string
*/
public function name() public function name()
{ {
return $this->entity->first_name . ' ' . $this->entity->last_name; return $this->entity->first_name . ' ' . $this->entity->last_name;

View File

@ -4,7 +4,7 @@ namespace App\Utils\Traits;
/** /**
* Class MakesHash * Class MakesHeaderData
* @package App\Utils\Traits * @package App\Utils\Traits
*/ */
trait MakesHeaderData trait MakesHeaderData
@ -12,6 +12,9 @@ trait MakesHeaderData
use UserSessionAttributes; use UserSessionAttributes;
/**
* @return array
*/
public function headerData() : array public function headerData() : array
{ {
//companies //companies

View File

@ -3,14 +3,24 @@
namespace App\Utils\Traits; namespace App\Utils\Traits;
/**
* Class UserSessionAttributes
* @package App\Utils\Traits
*/
trait UserSessionAttributes trait UserSessionAttributes
{ {
/**
* @param $value
*/
public function setCurrentCompanyId($value) : void public function setCurrentCompanyId($value) : void
{ {
session(['current_company_id' => $value]); session(['current_company_id' => $value]);
} }
/**
* @return int
*/
public function getCurrentCompanyId() : int public function getCurrentCompanyId() : int
{ {
return session('current_company_id'); return session('current_company_id');

View File

@ -2,14 +2,26 @@
namespace App\Utils\Traits; namespace App\Utils\Traits;
/**
* Class UserSettings
* @package App\Utils\Traits
*/
trait UserSettings trait UserSettings
{ {
/**
* @param string $entity
* @return \stdClass
*/
public function getEntity(string $entity) : \stdClass public function getEntity(string $entity) : \stdClass
{ {
return $this->settings()->{$entity}; return $this->settings()->{$entity};
} }
/**
* @param string $entity
* @return \stdClass
*/
public function getColumnVisibility(string $entity) : \stdClass public function getColumnVisibility(string $entity) : \stdClass
{ {
return $this->settings()->{class_basename($entity)}->datatable->column_visibility; return $this->settings()->{class_basename($entity)}->datatable->column_visibility;