v5.0.0 update

This commit is contained in:
Mohit Panjwani
2021-11-30 18:58:19 +05:30
parent d332712c22
commit 082d5cacf2
1253 changed files with 88309 additions and 71741 deletions

View 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;
}
}

View 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;
}
}

View 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;
}
}

View 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;
}
}

View 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;
}
}

View 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)
{
//
}
}

View 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;
}
}

View 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;
}
}

View 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
View 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;
}
}

View 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;
}
}

View 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;
}
}

View 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;
}
}

View 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;
}
}

View 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
View 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;
}
}

View 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;
}
}

View 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
View 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
View 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;
}
}