mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-27 19:51:09 -04:00
v5.0.0 update
This commit is contained in:
39
app/Policies/CompanyPolicy.php
Normal file
39
app/Policies/CompanyPolicy.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Company;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
|
||||
class CompanyPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
public function create(User $user)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function delete(User $user, Company $company)
|
||||
{
|
||||
if ($user->id === $company->owner_id) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function transferOwnership(User $user, Company $company)
|
||||
{
|
||||
if ($user->id === $company->owner_id) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
123
app/Policies/CustomFieldPolicy.php
Normal file
123
app/Policies/CustomFieldPolicy.php
Normal file
@ -0,0 +1,123 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\CustomField;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class CustomFieldPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-custom-field', CustomField::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\CustomField $customField
|
||||
* @return mixed
|
||||
*/
|
||||
public function view(User $user, CustomField $customField)
|
||||
{
|
||||
if (BouncerFacade::can('view-custom-field', $customField) && $user->hasCompany($customField->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('create-custom-field', CustomField::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\CustomField $customField
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(User $user, CustomField $customField)
|
||||
{
|
||||
if (BouncerFacade::can('edit-custom-field', $customField) && $user->hasCompany($customField->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\CustomField $customField
|
||||
* @return mixed
|
||||
*/
|
||||
public function delete(User $user, CustomField $customField)
|
||||
{
|
||||
if (BouncerFacade::can('delete-custom-field', $customField) && $user->hasCompany($customField->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\CustomField $customField
|
||||
* @return mixed
|
||||
*/
|
||||
public function restore(User $user, CustomField $customField)
|
||||
{
|
||||
if (BouncerFacade::can('delete-custom-field', $customField) && $user->hasCompany($customField->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\CustomField $customField
|
||||
* @return mixed
|
||||
*/
|
||||
public function forceDelete(User $user, CustomField $customField)
|
||||
{
|
||||
if (BouncerFacade::can('delete-custom-field', $customField) && $user->hasCompany($customField->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
138
app/Policies/CustomerPolicy.php
Normal file
138
app/Policies/CustomerPolicy.php
Normal file
@ -0,0 +1,138 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Customer;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class CustomerPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-customer', Customer::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Customer $customer
|
||||
* @return mixed
|
||||
*/
|
||||
public function view(User $user, Customer $customer)
|
||||
{
|
||||
if (BouncerFacade::can('view-customer', $customer)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('create-customer', Customer::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Customer $customer
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(User $user, Customer $customer)
|
||||
{
|
||||
if (BouncerFacade::can('edit-customer', $customer)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Customer $customer
|
||||
* @return mixed
|
||||
*/
|
||||
public function delete(User $user, Customer $customer)
|
||||
{
|
||||
if (BouncerFacade::can('delete-customer', $customer)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Customer $customer
|
||||
* @return mixed
|
||||
*/
|
||||
public function restore(User $user, Customer $customer)
|
||||
{
|
||||
if (BouncerFacade::can('delete-customer', $customer)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Customer $customer
|
||||
* @return mixed
|
||||
*/
|
||||
public function forceDelete(User $user, Customer $customer)
|
||||
{
|
||||
if (BouncerFacade::can('delete-customer', $customer)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function deleteMultiple(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('delete-customer', Customer::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
22
app/Policies/DashboardPolicy.php
Normal file
22
app/Policies/DashboardPolicy.php
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Company;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class DashboardPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
public function view(User $user, Company $company)
|
||||
{
|
||||
if (BouncerFacade::can('dashboard') && $user->hasCompany($company->id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
154
app/Policies/EstimatePolicy.php
Normal file
154
app/Policies/EstimatePolicy.php
Normal file
@ -0,0 +1,154 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Estimate;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class EstimatePolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-estimate', Estimate::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Estimate $estimate
|
||||
* @return mixed
|
||||
*/
|
||||
public function view(User $user, Estimate $estimate)
|
||||
{
|
||||
if (BouncerFacade::can('view-estimate', $estimate) && $user->hasCompany($estimate->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('create-estimate', Estimate::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Estimate $estimate
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(User $user, Estimate $estimate)
|
||||
{
|
||||
if (BouncerFacade::can('edit-estimate', $estimate) && $user->hasCompany($estimate->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Estimate $estimate
|
||||
* @return mixed
|
||||
*/
|
||||
public function delete(User $user, Estimate $estimate)
|
||||
{
|
||||
if (BouncerFacade::can('delete-estimate', $estimate) && $user->hasCompany($estimate->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Estimate $estimate
|
||||
* @return mixed
|
||||
*/
|
||||
public function restore(User $user, Estimate $estimate)
|
||||
{
|
||||
if (BouncerFacade::can('delete-estimate', $estimate) && $user->hasCompany($estimate->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Estimate $estimate
|
||||
* @return mixed
|
||||
*/
|
||||
public function forceDelete(User $user, Estimate $estimate)
|
||||
{
|
||||
if (BouncerFacade::can('delete-estimate', $estimate) && $user->hasCompany($estimate->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can send email of the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Estimate $payment
|
||||
* @return mixed
|
||||
*/
|
||||
public function send(User $user, Estimate $estimate)
|
||||
{
|
||||
if (BouncerFacade::can('send-estimate', $estimate) && $user->hasCompany($estimate->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function deleteMultiple(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('delete-estimate', Estimate::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
115
app/Policies/ExchangeRateProviderPolicy.php
Normal file
115
app/Policies/ExchangeRateProviderPolicy.php
Normal file
@ -0,0 +1,115 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\ExchangeRateProvider;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class ExchangeRateProviderPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-exchange-rate-provider', ExchangeRateProvider::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\ExchangeRateProvider $exchangeRateProvider
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function view(User $user, ExchangeRateProvider $exchangeRateProvider)
|
||||
{
|
||||
if (BouncerFacade::can('view-exchange-rate-provider', $exchangeRateProvider) && $user->hasCompany($exchangeRateProvider->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('create-exchange-rate-provider', ExchangeRateProvider::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\ExchangeRateProvider $exchangeRateProvider
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function update(User $user, ExchangeRateProvider $exchangeRateProvider)
|
||||
{
|
||||
if (BouncerFacade::can('edit-exchange-rate-provider', $exchangeRateProvider) && $user->hasCompany($exchangeRateProvider->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\ExchangeRateProvider $exchangeRateProvider
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function delete(User $user, ExchangeRateProvider $exchangeRateProvider)
|
||||
{
|
||||
if (BouncerFacade::can('delete-exchange-rate-provider', $exchangeRateProvider) && $user->hasCompany($exchangeRateProvider->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\ExchangeRateProvider $exchangeRateProvider
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function restore(User $user, ExchangeRateProvider $exchangeRateProvider)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\ExchangeRateProvider $exchangeRateProvider
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function forceDelete(User $user, ExchangeRateProvider $exchangeRateProvider)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
124
app/Policies/ExpenseCategoryPolicy.php
Normal file
124
app/Policies/ExpenseCategoryPolicy.php
Normal file
@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Expense;
|
||||
use Crater\Models\ExpenseCategory;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class ExpenseCategoryPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-expense', Expense::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\ExpenseCategory $expenseCategory
|
||||
* @return mixed
|
||||
*/
|
||||
public function view(User $user, ExpenseCategory $expenseCategory)
|
||||
{
|
||||
if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-expense', Expense::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\ExpenseCategory $expenseCategory
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(User $user, ExpenseCategory $expenseCategory)
|
||||
{
|
||||
if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\ExpenseCategory $expenseCategory
|
||||
* @return mixed
|
||||
*/
|
||||
public function delete(User $user, ExpenseCategory $expenseCategory)
|
||||
{
|
||||
if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\ExpenseCategory $expenseCategory
|
||||
* @return mixed
|
||||
*/
|
||||
public function restore(User $user, ExpenseCategory $expenseCategory)
|
||||
{
|
||||
if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\ExpenseCategory $expenseCategory
|
||||
* @return mixed
|
||||
*/
|
||||
public function forceDelete(User $user, ExpenseCategory $expenseCategory)
|
||||
{
|
||||
if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
138
app/Policies/ExpensePolicy.php
Normal file
138
app/Policies/ExpensePolicy.php
Normal file
@ -0,0 +1,138 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Expense;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class ExpensePolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-expense', Expense::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Expense $expense
|
||||
* @return mixed
|
||||
*/
|
||||
public function view(User $user, Expense $expense)
|
||||
{
|
||||
if (BouncerFacade::can('view-expense', $expense) && $user->hasCompany($expense->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('create-expense', Expense::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Expense $expense
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(User $user, Expense $expense)
|
||||
{
|
||||
if (BouncerFacade::can('edit-expense', $expense) && $user->hasCompany($expense->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Expense $expense
|
||||
* @return mixed
|
||||
*/
|
||||
public function delete(User $user, Expense $expense)
|
||||
{
|
||||
if (BouncerFacade::can('delete-expense', $expense) && $user->hasCompany($expense->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Expense $expense
|
||||
* @return mixed
|
||||
*/
|
||||
public function restore(User $user, Expense $expense)
|
||||
{
|
||||
if (BouncerFacade::can('delete-expense', $expense) && $user->hasCompany($expense->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Expense $expense
|
||||
* @return mixed
|
||||
*/
|
||||
public function forceDelete(User $user, Expense $expense)
|
||||
{
|
||||
if (BouncerFacade::can('delete-expense', $expense) && $user->hasCompany($expense->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function deleteMultiple(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('delete-expense', Expense::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
154
app/Policies/InvoicePolicy.php
Normal file
154
app/Policies/InvoicePolicy.php
Normal file
@ -0,0 +1,154 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Invoice;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class InvoicePolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-invoice', Invoice::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Invoice $invoice
|
||||
* @return mixed
|
||||
*/
|
||||
public function view(User $user, Invoice $invoice)
|
||||
{
|
||||
if (BouncerFacade::can('view-invoice', $invoice) && $user->hasCompany($invoice->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('create-invoice', Invoice::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Invoice $invoice
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(User $user, Invoice $invoice)
|
||||
{
|
||||
if (BouncerFacade::can('edit-invoice', $invoice) && $user->hasCompany($invoice->company_id)) {
|
||||
return $invoice->allow_edit;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Invoice $invoice
|
||||
* @return mixed
|
||||
*/
|
||||
public function delete(User $user, Invoice $invoice)
|
||||
{
|
||||
if (BouncerFacade::can('delete-invoice', $invoice) && $user->hasCompany($invoice->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Invoice $invoice
|
||||
* @return mixed
|
||||
*/
|
||||
public function restore(User $user, Invoice $invoice)
|
||||
{
|
||||
if (BouncerFacade::can('delete-invoice', $invoice) && $user->hasCompany($invoice->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Invoice $invoice
|
||||
* @return mixed
|
||||
*/
|
||||
public function forceDelete(User $user, Invoice $invoice)
|
||||
{
|
||||
if (BouncerFacade::can('delete-invoice', $invoice) && $user->hasCompany($invoice->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can send email of the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Payment $payment
|
||||
* @return mixed
|
||||
*/
|
||||
public function send(User $user, Invoice $invoice)
|
||||
{
|
||||
if (BouncerFacade::can('send-invoice', $invoice) && $user->hasCompany($invoice->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function deleteMultiple(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('delete-invoice', Invoice::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
138
app/Policies/ItemPolicy.php
Normal file
138
app/Policies/ItemPolicy.php
Normal file
@ -0,0 +1,138 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Item;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class ItemPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-item', Item::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Item $item
|
||||
* @return mixed
|
||||
*/
|
||||
public function view(User $user, Item $item)
|
||||
{
|
||||
if (BouncerFacade::can('view-item', $item) && $user->hasCompany($item->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('create-item', Item::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Item $item
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(User $user, Item $item)
|
||||
{
|
||||
if (BouncerFacade::can('edit-item', $item) && $user->hasCompany($item->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Item $item
|
||||
* @return mixed
|
||||
*/
|
||||
public function delete(User $user, Item $item)
|
||||
{
|
||||
if (BouncerFacade::can('delete-item', $item) && $user->hasCompany($item->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Item $item
|
||||
* @return mixed
|
||||
*/
|
||||
public function restore(User $user, Item $item)
|
||||
{
|
||||
if (BouncerFacade::can('delete-item', $item) && $user->hasCompany($item->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Item $item
|
||||
* @return mixed
|
||||
*/
|
||||
public function forceDelete(User $user, Item $item)
|
||||
{
|
||||
if (BouncerFacade::can('delete-item', $item) && $user->hasCompany($item->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function deleteMultiple(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('delete-item', Item::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
31
app/Policies/NotePolicy.php
Normal file
31
app/Policies/NotePolicy.php
Normal file
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Note;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class NotePolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
public function manageNotes(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('manage-all-notes', Note::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function viewNotes(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-all-notes', Note::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
124
app/Policies/PaymentMethodPolicy.php
Normal file
124
app/Policies/PaymentMethodPolicy.php
Normal file
@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Payment;
|
||||
use Crater\Models\PaymentMethod;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class PaymentMethodPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-payment', Payment::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\PaymentMethod $paymentMethod
|
||||
* @return mixed
|
||||
*/
|
||||
public function view(User $user, PaymentMethod $paymentMethod)
|
||||
{
|
||||
if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-payment', Payment::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\PaymentMethod $paymentMethod
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(User $user, PaymentMethod $paymentMethod)
|
||||
{
|
||||
if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\PaymentMethod $paymentMethod
|
||||
* @return mixed
|
||||
*/
|
||||
public function delete(User $user, PaymentMethod $paymentMethod)
|
||||
{
|
||||
if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\PaymentMethod $paymentMethod
|
||||
* @return mixed
|
||||
*/
|
||||
public function restore(User $user, PaymentMethod $paymentMethod)
|
||||
{
|
||||
if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\PaymentMethod $paymentMethod
|
||||
* @return mixed
|
||||
*/
|
||||
public function forceDelete(User $user, PaymentMethod $paymentMethod)
|
||||
{
|
||||
if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
154
app/Policies/PaymentPolicy.php
Normal file
154
app/Policies/PaymentPolicy.php
Normal file
@ -0,0 +1,154 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Payment;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class PaymentPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-payment', Payment::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Payment $payment
|
||||
* @return mixed
|
||||
*/
|
||||
public function view(User $user, Payment $payment)
|
||||
{
|
||||
if (BouncerFacade::can('view-payment', $payment) && $user->hasCompany($payment->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('create-payment', Payment::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Payment $payment
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(User $user, Payment $payment)
|
||||
{
|
||||
if (BouncerFacade::can('edit-payment', $payment) && $user->hasCompany($payment->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Payment $payment
|
||||
* @return mixed
|
||||
*/
|
||||
public function delete(User $user, Payment $payment)
|
||||
{
|
||||
if (BouncerFacade::can('delete-payment', $payment) && $user->hasCompany($payment->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Payment $payment
|
||||
* @return mixed
|
||||
*/
|
||||
public function restore(User $user, Payment $payment)
|
||||
{
|
||||
if (BouncerFacade::can('delete-payment', $payment) && $user->hasCompany($payment->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Payment $payment
|
||||
* @return mixed
|
||||
*/
|
||||
public function forceDelete(User $user, Payment $payment)
|
||||
{
|
||||
if (BouncerFacade::can('delete-payment', $payment) && $user->hasCompany($payment->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can send email of the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Payment $payment
|
||||
* @return mixed
|
||||
*/
|
||||
public function send(User $user, Payment $payment)
|
||||
{
|
||||
if (BouncerFacade::can('send-payment', $payment) && $user->hasCompany($payment->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function deleteMultiple(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('delete-payment', Payment::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
138
app/Policies/RecurringInvoicePolicy.php
Normal file
138
app/Policies/RecurringInvoicePolicy.php
Normal file
@ -0,0 +1,138 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\RecurringInvoice;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class RecurringInvoicePolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-recurring-invoice', RecurringInvoice::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\RecurringInvoice $recurringInvoice
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function view(User $user, RecurringInvoice $recurringInvoice)
|
||||
{
|
||||
if (BouncerFacade::can('view-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('create-recurring-invoice', RecurringInvoice::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\RecurringInvoice $recurringInvoice
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function update(User $user, RecurringInvoice $recurringInvoice)
|
||||
{
|
||||
if (BouncerFacade::can('edit-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\RecurringInvoice $recurringInvoice
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function delete(User $user, RecurringInvoice $recurringInvoice)
|
||||
{
|
||||
if (BouncerFacade::can('delete-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\RecurringInvoice $recurringInvoice
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function restore(User $user, RecurringInvoice $recurringInvoice)
|
||||
{
|
||||
if (BouncerFacade::can('delete-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\RecurringInvoice $recurringInvoice
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function forceDelete(User $user, RecurringInvoice $recurringInvoice)
|
||||
{
|
||||
if (BouncerFacade::can('delete-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function deleteMultiple(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('delete-recurring-invoice', RecurringInvoice::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
22
app/Policies/ReportPolicy.php
Normal file
22
app/Policies/ReportPolicy.php
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Company;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class ReportPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
public function viewReport(User $user, Company $company)
|
||||
{
|
||||
if (BouncerFacade::can('view-financial-reports') && $user->hasCompany($company->id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
122
app/Policies/RolePolicy.php
Normal file
122
app/Policies/RolePolicy.php
Normal file
@ -0,0 +1,122 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\Database\Role;
|
||||
|
||||
class RolePolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Silber\Bouncer\Database\Role $role
|
||||
* @return mixed
|
||||
*/
|
||||
public function view(User $user, Role $role)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Silber\Bouncer\Database\Role $role
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(User $user, Role $role)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Silber\Bouncer\Database\Role $role
|
||||
* @return mixed
|
||||
*/
|
||||
public function delete(User $user, Role $role)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Silber\Bouncer\Database\Role $role
|
||||
* @return mixed
|
||||
*/
|
||||
public function restore(User $user, Role $role)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Silber\Bouncer\Database\Role $role
|
||||
* @return mixed
|
||||
*/
|
||||
public function forceDelete(User $user, Role $role)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
48
app/Policies/SettingsPolicy.php
Normal file
48
app/Policies/SettingsPolicy.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Company;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
|
||||
class SettingsPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
public function manageCompany(User $user, Company $company)
|
||||
{
|
||||
if ($user->id == $company->owner_id) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function manageBackups(User $user)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function manageFileDisk(User $user)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function manageEmailConfig(User $user)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
123
app/Policies/TaxTypePolicy.php
Normal file
123
app/Policies/TaxTypePolicy.php
Normal file
@ -0,0 +1,123 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\TaxType;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class TaxTypePolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-tax-type', TaxType::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\TaxType $taxType
|
||||
* @return mixed
|
||||
*/
|
||||
public function view(User $user, TaxType $taxType)
|
||||
{
|
||||
if (BouncerFacade::can('view-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('create-tax-type', TaxType::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\TaxType $taxType
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(User $user, TaxType $taxType)
|
||||
{
|
||||
if (BouncerFacade::can('edit-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\TaxType $taxType
|
||||
* @return mixed
|
||||
*/
|
||||
public function delete(User $user, TaxType $taxType)
|
||||
{
|
||||
if (BouncerFacade::can('delete-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\TaxType $taxType
|
||||
* @return mixed
|
||||
*/
|
||||
public function restore(User $user, TaxType $taxType)
|
||||
{
|
||||
if (BouncerFacade::can('delete-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\TaxType $taxType
|
||||
* @return mixed
|
||||
*/
|
||||
public function forceDelete(User $user, TaxType $taxType)
|
||||
{
|
||||
if (BouncerFacade::can('delete-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
124
app/Policies/UnitPolicy.php
Normal file
124
app/Policies/UnitPolicy.php
Normal file
@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\Item;
|
||||
use Crater\Models\Unit;
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
use Silber\Bouncer\BouncerFacade;
|
||||
|
||||
class UnitPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-item', Item::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Unit $unit
|
||||
* @return mixed
|
||||
*/
|
||||
public function view(User $user, Unit $unit)
|
||||
{
|
||||
if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if (BouncerFacade::can('view-item', Item::class)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Unit $unit
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(User $user, Unit $unit)
|
||||
{
|
||||
if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Unit $unit
|
||||
* @return mixed
|
||||
*/
|
||||
public function delete(User $user, Unit $unit)
|
||||
{
|
||||
if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Unit $unit
|
||||
* @return mixed
|
||||
*/
|
||||
public function restore(User $user, Unit $unit)
|
||||
{
|
||||
if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\Unit $unit
|
||||
* @return mixed
|
||||
*/
|
||||
public function forceDelete(User $user, Unit $unit)
|
||||
{
|
||||
if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
152
app/Policies/UserPolicy.php
Normal file
152
app/Policies/UserPolicy.php
Normal file
@ -0,0 +1,152 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Policies;
|
||||
|
||||
use Crater\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
|
||||
class UserPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\User $model
|
||||
* @return mixed
|
||||
*/
|
||||
public function view(User $user, User $model)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\User $model
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(User $user, User $model)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\User $model
|
||||
* @return mixed
|
||||
*/
|
||||
public function delete(User $user, User $model)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\User $model
|
||||
* @return mixed
|
||||
*/
|
||||
public function restore(User $user, User $model)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\User $model
|
||||
* @return mixed
|
||||
*/
|
||||
public function forceDelete(User $user, User $model)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can invite the model.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @param \Crater\Models\User $model
|
||||
* @return mixed
|
||||
*/
|
||||
public function invite(User $user, User $model)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete models.
|
||||
*
|
||||
* @param \Crater\Models\User $user
|
||||
* @return mixed
|
||||
*/
|
||||
public function deleteMultiple(User $user)
|
||||
{
|
||||
if ($user->isOwner()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user