File "abilities.php"
Full Path: /home/pulsehostuk9/public_html/invoicer.pulsehost.co.uk/config/abilities.php
File size: 11.46 KB
MIME-type: text/x-php
Charset: utf-8
<?php
use App\Models\Customer;
use App\Models\CustomField;
use App\Models\Estimate;
use App\Models\ExchangeRateProvider;
use App\Models\Expense;
use App\Models\Invoice;
use App\Models\Item;
use App\Models\Note;
use App\Models\Payment;
use App\Models\RecurringInvoice;
use App\Models\TaxType;
return [
'abilities' => [
// Customer
[
'name' => 'view customer',
'ability' => 'view-customer',
'model' => Customer::class,
],
[
'name' => 'create customer',
'ability' => 'create-customer',
'model' => Customer::class,
'depends_on' => [
'view-customer',
'view-custom-field',
],
],
[
'name' => 'edit customer',
'ability' => 'edit-customer',
'model' => Customer::class,
'depends_on' => [
'view-customer',
'view-custom-field',
],
],
[
'name' => 'delete customer',
'ability' => 'delete-customer',
'model' => Customer::class,
'depends_on' => [
'view-customer',
],
],
// Item
[
'name' => 'view item',
'ability' => 'view-item',
'model' => Item::class,
],
[
'name' => 'create item',
'ability' => 'create-item',
'model' => Item::class,
'depends_on' => [
'view-item',
'view-tax-type',
],
],
[
'name' => 'edit item',
'ability' => 'edit-item',
'model' => Item::class,
'depends_on' => [
'view-item',
],
],
[
'name' => 'delete item',
'ability' => 'delete-item',
'model' => Item::class,
'depends_on' => [
'view-item',
],
],
// Tax Type
[
'name' => 'view tax type',
'ability' => 'view-tax-type',
'model' => TaxType::class,
],
[
'name' => 'create tax type',
'ability' => 'create-tax-type',
'model' => TaxType::class,
'depends_on' => [
'view-tax-type',
],
],
[
'name' => 'edit tax type',
'ability' => 'edit-tax-type',
'model' => TaxType::class,
'depends_on' => [
'view-tax-type',
],
],
[
'name' => 'delete tax type',
'ability' => 'delete-tax-type',
'model' => TaxType::class,
'depends_on' => [
'view-tax-type',
],
],
// Estimate
[
'name' => 'view estimate',
'ability' => 'view-estimate',
'model' => Estimate::class,
],
[
'name' => 'create estimate',
'ability' => 'create-estimate',
'model' => Estimate::class,
'depends_on' => [
'view-estimate',
'view-item',
'view-tax-type',
'view-customer',
'view-custom-field',
'view-all-notes',
],
],
[
'name' => 'edit estimate',
'ability' => 'edit-estimate',
'model' => Estimate::class,
'depends_on' => [
'view-item',
'view-estimate',
'view-tax-type',
'view-customer',
'view-custom-field',
'view-all-notes',
],
],
[
'name' => 'delete estimate',
'ability' => 'delete-estimate',
'model' => Estimate::class,
'depends_on' => [
'view-estimate',
],
],
[
'name' => 'send estimate',
'ability' => 'send-estimate',
'model' => Estimate::class,
],
// Invoice
[
'name' => 'view invoice',
'ability' => 'view-invoice',
'model' => Invoice::class,
],
[
'name' => 'create invoice',
'ability' => 'create-invoice',
'model' => Invoice::class,
'owner_only' => false,
'depends_on' => [
'view-item',
'view-invoice',
'view-tax-type',
'view-customer',
'view-custom-field',
'view-all-notes',
],
],
[
'name' => 'edit invoice',
'ability' => 'edit-invoice',
'model' => Invoice::class,
'depends_on' => [
'view-item',
'view-invoice',
'view-tax-type',
'view-customer',
'view-custom-field',
'view-all-notes',
],
],
[
'name' => 'delete invoice',
'ability' => 'delete-invoice',
'model' => Invoice::class,
'depends_on' => [
'view-invoice',
],
],
[
'name' => 'send invoice',
'ability' => 'send-invoice',
'model' => Invoice::class,
],
// Recurring Invoice
[
'name' => 'view recurring invoice',
'ability' => 'view-recurring-invoice',
'model' => RecurringInvoice::class,
],
[
'name' => 'create recurring invoice',
'ability' => 'create-recurring-invoice',
'model' => RecurringInvoice::class,
'depends_on' => [
'view-item',
'view-recurring-invoice',
'view-tax-type',
'view-customer',
'view-all-notes',
'send-invoice',
],
],
[
'name' => 'edit recurring invoice',
'ability' => 'edit-recurring-invoice',
'model' => RecurringInvoice::class,
'depends_on' => [
'view-item',
'view-recurring-invoice',
'view-tax-type',
'view-customer',
'view-all-notes',
'send-invoice',
],
],
[
'name' => 'delete recurring invoice',
'ability' => 'delete-recurring-invoice',
'model' => RecurringInvoice::class,
'depends_on' => [
'view-recurring-invoice',
],
],
// Payment
[
'name' => 'view payment',
'ability' => 'view-payment',
'model' => Payment::class,
],
[
'name' => 'create payment',
'ability' => 'create-payment',
'model' => Payment::class,
'depends_on' => [
'view-customer',
'view-payment',
'view-invoice',
'view-custom-field',
'view-all-notes',
],
],
[
'name' => 'edit payment',
'ability' => 'edit-payment',
'model' => Payment::class,
'depends_on' => [
'view-customer',
'view-payment',
'view-invoice',
'view-custom-field',
'view-all-notes',
],
],
[
'name' => 'delete payment',
'ability' => 'delete-payment',
'model' => Payment::class,
'depends_on' => [
'view-payment',
],
],
[
'name' => 'send payment',
'ability' => 'send-payment',
'model' => Payment::class,
],
// Expense
[
'name' => 'view expense',
'ability' => 'view-expense',
'model' => Expense::class,
],
[
'name' => 'create expense',
'ability' => 'create-expense',
'model' => Expense::class,
'depends_on' => [
'view-customer',
'view-expense',
'view-custom-field',
],
],
[
'name' => 'edit expense',
'ability' => 'edit-expense',
'model' => Expense::class,
'depends_on' => [
'view-customer',
'view-expense',
'view-custom-field',
],
],
[
'name' => 'delete expense',
'ability' => 'delete-expense',
'model' => Expense::class,
'depends_on' => [
'view-expense',
],
],
// Custom Field
[
'name' => 'view custom field',
'ability' => 'view-custom-field',
'model' => CustomField::class,
],
[
'name' => 'create custom field',
'ability' => 'create-custom-field',
'model' => CustomField::class,
'depends_on' => [
'view-custom-field',
],
],
[
'name' => 'edit custom field',
'ability' => 'edit-custom-field',
'model' => CustomField::class,
'depends_on' => [
'view-custom-field',
],
],
[
'name' => 'delete custom field',
'ability' => 'delete-custom-field',
'model' => CustomField::class,
'depends_on' => [
'view-custom-field',
],
],
// Financial Reports
[
'name' => 'view financial reports',
'ability' => 'view-financial-reports',
'model' => null,
],
// Exchange Rate Provider
[
'name' => 'view exchange rate provider',
'ability' => 'view-exchange-rate-provider',
'model' => ExchangeRateProvider::class,
'owner_only' => false,
],
[
'name' => 'create exchange rate provider',
'ability' => 'create-exchange-rate-provider',
'model' => ExchangeRateProvider::class,
'owner_only' => false,
'depends_on' => [
'view-exchange-rate-provider',
],
],
[
'name' => 'edit exchange rate provider',
'ability' => 'edit-exchange-rate-provider',
'model' => ExchangeRateProvider::class,
'owner_only' => false,
'depends_on' => [
'view-exchange-rate-provider',
],
],
[
'name' => 'delete exchange rate provider',
'ability' => 'delete-exchange-rate-provider',
'model' => ExchangeRateProvider::class,
'owner_only' => false,
'depends_on' => [
'view-exchange-rate-provider',
],
],
// Settings
[
'name' => 'view company dashboard',
'ability' => 'dashboard',
'model' => null,
],
[
'name' => 'view all notes',
'ability' => 'view-all-notes',
'model' => Note::class,
],
[
'name' => 'manage notes',
'ability' => 'manage-all-notes',
'model' => Note::class,
'depends_on' => [
'view-all-notes',
],
],
],
];