********************************************************************
Plans Modifications for Foodtiger
UPDATE V2
Author: https://www.reddit.com/user/therealparad0x0n && tps://www.reddit.com/user/aleksiralda/
Publish Date: 19 Dec. 2021
Notice:
In V1 just Finances and Coupons is working, Expenses and Staff need an update
Now in V2 Expenses and Staff working too! many thanks to tps://www.reddit.com/user/aleksiralda/
********************************************************************
../resources/views/layouts/navbars/menus/owner.blade.php
Replace your owner.blade.php with this one OR add the changes i've made!
<ul class="navbar-nav">
@if(config('app.ordering'))
<!-- Dashboard -->
<li class="nav-item">
<a class="nav-link" href="{{ route('home') }}">
<i class="ni ni-tv-2 text-primary"></i> {{ __('Dashboard') }}
</a>
</li>
<!-- Live Orders -->
<li class="nav-item">
<a class="nav-link" href="/live">
<i class="ni ni-basket text-success"></i> {{ __('Live Orders') }}<div class="blob red"></div>
</a>
</li>
<!-- Orders -->
<li class="nav-item">
<a class="nav-link" href="{{ route('orders.index') }}">
<i class="ni ni-basket text-orangse"></i> {{ __('Orders') }}
</a>
</li>
@endif
<!-- Restaurant -->
<li class="nav-item">
<a class="nav-link" href="{{ route('admin.restaurants.edit', auth()->user()->restorant->id) }}">
<i class="ni ni-shop text-info"></i> {{ __('Restaurant') }}
</a>
</li>
<!-- Menu -->
<li class="nav-item">
<a class="nav-link" href="{{ route('items.index') }}">
<i class="ni ni-collection text-pink"></i> {{ __('Menu') }}
</a>
</li>
<!-- Tables -->
@if (config('app.isqrsaas') && (!config('settings.qrsaas_disable_odering') || config('settings.enable_guest_log')))
@if(!config('settings.is_whatsapp_ordering_mode') || in_array("poscloud", config('global.modules',[])) || in_array("deliveryqr", config('global.modules',[])) )
<li class="nav-item">
<a class="nav-link" href="{{ route('admin.restaurant.tables.index') }}">
<i class="ni ni-ungroup text-red"></i> {{ __('Tables') }}
</a>
</li>
@endif
@elseif (config('app.isft') && in_array("poscloud", config('global.modules',[])) )
<li class="nav-item">
<a class="nav-link" href="{{ route('admin.restaurant.tables.index') }}">
<i class="ni ni-ungroup text-red"></i> {{ __('Tables') }}
</a>
</li>
@endif
<!-- Customer Log -->
@if (config('app.isqrsaas')&&!config('settings.is_whatsapp_ordering_mode')&&!config('settings.is_pos_cloud_mode'))
<li class="nav-item">
<a class="nav-link" href="{{ route('qr') }}">
<i class="ni ni-mobile-button text-red"></i> {{ __('QR Builder') }}
</a>
</li>
@if(config('settings.enable_guest_log'))
<li class="nav-item">
<a class="nav-link" href="{{ route('admin.restaurant.visits.index') }}">
<i class="ni ni-calendar-grid-58 text-blue"></i> {{ __('Customers log') }}
</a>
</li>
@endif
@endif
<!-- Delivery Areas -->
@if (config('app.isqrsaas')&&(config('settings.is_whatsapp_ordering_mode') || in_array("poscloud", config('global.modules',[])) || in_array("deliveryqr", config('global.modules',[])) ))
<li class="nav-item">
<a class="nav-link" href="{{ route('admin.restaurant.simpledelivery.index') }}">
<i class="ni ni-pin-3 text-blue"></i> {{ __('Delivery areas') }}
</a>
</li>
@endif
<!-- Plan -->
@if(config('settings.enable_pricing'))
<li class="nav-item">
<a class="nav-link" href="{{ route('plans.current') }}">
<i class="ni ni-credit-card text-orange"></i> {{ __('Plan') }}
</a>
</li>
@endif
<!-- QR Code -->
@if (!config('settings.is_pos_cloud_mode'))
<li class="nav-item">
<a class="nav-link" href="{{ route('share.menu') }}">
<i class="ni ni-send text-green"></i> {{ __('Share') }}
</a>
</li>
@endif
<!-- Expenses, Staff, Coupons & Finances Dashboard -->
<!-- Finances -->
@if(config('app.ordering') && config('settings.enable_finances_owner') && (auth()->user()->restorant->getPlanAttribute()['canUseFinancesModule']))
<li class="nav-item">
<a class="nav-link" href="{{ route('finances.owner') }}">
<i class="ni ni-money-coins text-blue"></i> {{ __('Finances') }}
</a>
</li>
@endif
<!-- Coupons -->
@if ( in_array("coupons", config('global.modules',[])) && (auth()->user()->restorant->getPlanAttribute()['canUseCouponsModule']))
<li class="nav-item">
<a class="nav-link" href="{{ route('admin.restaurant.coupons.index') }}">
<i class="ni ni-tag text-pink"></i> {{ __('Coupons') }}
</a>
</li>
@endif
<!-- implemented by https://www.reddit.com/user/therealparad0x0n -->
<!-- Plan modification update -->
<!-- Expenses -->
@if ( in_array("expenses", config('global.modules',[])) && (auth()->user()->restorant->getPlanAttribute()['canUseExpensesModule']))
<li class="nav-item">
<a class="nav-link {{ (request()->is('expanses/expanses')) ? 'active' : '' }}" href="{{ route('expenses.expenses.index') }}">
<i class="fas fa-money-bill-wave"></i>
<span class="nav-link-text"> {{ __('Expenses') }}</span>
</a>
</li>
@endif
<!-- Staff -->
@if ( in_array("staff", config('global.modules',[])) && (auth()->user()->restorant->getPlanAttribute()['canUseStaffModule']))
<li class="nav-item">
<a class="nav-link {{ (request()->is('staff')) ? 'active' : '' }}" href="{{ route('staff.index') }}">
<i class="fas fa-users"></i>
<span class="nav-link-text"> {{ __('Staff') }}</span>
</a>
</li>
@endif
<!-- Avoiding that menus get duplicated-->
@if (auth()->user()->getExtraMenus() == '')
@foreach (auth()->user()->getExtraMenus() as $menu)
<li class="nav-item">
<a class="nav-link" href="{{ route($menu['route']) }}">
<i class="{{ $menu['icon'] }}"></i> {{ __($menu['name']) }}
</a>
</li>
@endforeach
@endif
<!-- implemented by https://www.reddit.com/user/aleksiralda/ and https://www.reddit.com/user/therealparad0x0n -->
</ul>
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
../modules/Staff/Http/Controllers/Main.php
Update the "function authChecker" to this one
private function authChecker()
{
if (! auth()->user()->hasRole('owner') || !(auth()->user()->restorant->getPlanAttribute()['canUseStaffModule']) ) {
abort(403, 'Unauthorized action.');
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
../app/Http/Controllers/FinanceController.php
Update line 152 from
if (! auth()->user()->hasRole('owner')) {
to
if (! auth()->user()->hasRole('owner') || !(auth()->user()->restorant->getPlanAttribute()['canUseFinancesModule']) ) {
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
../app/Http/Controllers/CouponsController.php
Update "function authChecker" to this one
private function authChecker()
{
if (! auth()->user()->hasRole('owner') || !(auth()->user()->restorant->getPlanAttribute()['canUseCouponsModule']) ) {
abort(403, 'Unauthorized action.');
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////