********************************************************************

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.');
        }
    }

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////