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;
/**
* Class DefaultSettings
* @package App\DataMapper
*/
class DefaultSettings
{
/**
* @var int
*/
public static $per_page = 25;
/**
* @return \stdClass
*/
public static function userSettings() : \stdClass
{
return (object)[
@ -16,6 +26,9 @@ class DefaultSettings
];
}
/**
* @return \stdClass
*/
private static function clientSettings() : \stdClass
{

View File

@ -9,13 +9,24 @@ use App\Utils\Traits\UserSessionAttributes;
use Illuminate\Http\Request;
use Illuminate\Support\Collection;
/**
* Class ClientDatatable
* @package App\Datatables
*/
class ClientDatatable extends EntityDatatable
{
use MakesHash;
use MakesActionMenu;
/**
* @var ClientFilters
*/
protected $filter;
/**
* ClientDatatable constructor.
* @param ClientFilters $filter
*/
public function __construct(ClientFilters $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)
{

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,9 +2,16 @@
namespace App\Models\Presenters;
/**
* Class UserPresenter
* @package App\Models\Presenters
*/
class UserPresenter extends EntityPresenter
{
/**
* @return string
*/
public function 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
*/
trait MakesHeaderData
@ -12,6 +12,9 @@ trait MakesHeaderData
use UserSessionAttributes;
/**
* @return array
*/
public function headerData() : array
{
//companies

View File

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

View File

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