@extends('admin.layouts.index', ['header' => true, 'nav' => true, 'demo' => true]) {{-- Custom CSS --}} @section('css') @endsection @php use Illuminate\Support\Facades\Auth; use App\Transaction; use Carbon\Carbon; // Fetch current user's details $user = Auth::user(); $allowedPermissions = json_decode($user->permissions, true); // Ensure `$allowedPermissions` is an array (to handle cases where permissions are null or malformed) if (!is_array($allowedPermissions)) { $allowedPermissions = []; } // Add or update missing permissions $defaultPermissions = [ 'coupons' => 1, 'custom_domain' => 1, 'marketing' => 1, 'maintenance_mode' => 1, 'demo_mode' => 1, 'backup' => 1, 'nfc_card_design' => 1, 'nfc_card_orders' => 1, 'nfc_card_order_transactions' => 1, 'nfc_card_key_generations' => 1, 'email_templates' => 1, 'plugins' => 1, 'referral_system' => 1, ]; // Merge default permissions with the current ones (current values take precedence) $allowedPermissions = array_merge($defaultPermissions, $allowedPermissions); // Update user details if permissions were changed if ($allowedPermissions !== json_decode($user->permissions, true)) { $user->permissions = json_encode($allowedPermissions); $user->updated_at = Carbon::now(); // Update timestamp explicitly $user->save(); // Save changes to the database } // Fetch updated permissions $allowedPermissions = json_decode($user->permissions, true); @endphp @section('content')