@php // Edit me $subadmin milega, create me null $isEdit = isset($subadmin); $loginType = old('login_type', $isEdit ? $subadmin->login_type : 'custom'); $locationType = old('location_type', $subadmin->location_type ?? 'all'); @endphp
{{-- ================= LOGIN TYPE ================= --}} {{-- ================= USERNAME (CUSTOM) ================= --}}
@error('name')
{{ $message }}
@enderror
{{-- ================= PASSWORD ================= --}}
Min 8 chars, uppercase, lowercase, number & special char
@error('password')
{{ $message }}
@enderror
{{-- ================= FIRST / LAST NAME ================= --}}
@error('first_name')
{{ $message }}
@enderror
@error('last_name')
{{ $message }}
@enderror
{{-- ================= EMAIL ================= --}}
@error('email')
{{ $message }}
@enderror
{{-- ================= FACEBOOK / GOOGLE EMAIL ================= --}}
{{-- ================= SELECT LOCATION ================= --}} {{-- ================= LOCATION DROPDOWN ================= --}} @php $selectedLocations = old( 'location_ids', $subadmin->location_ids ?? [] ); @endphp
@error('location_ids')
{{ $message }}
@enderror
{{-- ================= PERMISSIONS ================= --}}
@php use Illuminate\Support\Str; $isEdit = $isEdit ?? false; /* |-------------------------------------------------------------------------- | DEFAULT ACCESS CONFIG |-------------------------------------------------------------------------- */ $defaultAccess = [ // Entire group ON 'groups' => [ 'settings', ], // Specific model ON 'models' => [ 'site-pages-blog', 'site-pages-faq', 'site-pages-others', 'site-pages-pagebuilder', 'others-location', 'others-testimonial', ], // Specific permissions ON 'permissions' => [ 'dashboard.view', ] ]; /* |-------------------------------------------------------------------------- | Count models per group |-------------------------------------------------------------------------- */ $groupModelCount = []; foreach ($permissions as $group => $items) { foreach ($items as $p) { $model = $p->permission_model ?? 'Unknown'; $groupModelCount[$group][$model] = true; } $groupModelCount[$group] = count($groupModelCount[$group]); } @endphp @foreach($permissions as $group => $items) @php $groupKey = Str::slug($group); $hasMultipleModels = ($groupModelCount[$group] ?? 0) > 1; $currentModel = null; $exclude_groups = array('Permissions','Permission Group','Users'); $exclude_group_models = array('Sub Admin','Product Invoice Template','Rank Testing Template'); @endphp @if(!in_array($group,$exclude_groups))
{{-- ================= GROUP HEADER ================= --}}
{{ $group }}
@if(!$hasMultipleModels)
@endif
@foreach($items as $permission) @php $model = $permission->permission_model ?? 'Unknown'; $modelKey = $groupKey . '-' . Str::slug($model); /* |-------------------------------------------------------------------------- | Default Permission Logic |-------------------------------------------------------------------------- */ $isDefault = false; if (!$isEdit) { if (in_array($groupKey, $defaultAccess['groups'])) { $isDefault = true; } if (in_array($modelKey, $defaultAccess['models'])) { $isDefault = true; } if (in_array($permission->name, $defaultAccess['permissions'])) { $isDefault = true; } } @endphp {{-- ================= MODEL HEADER ================= --}} @if(!in_array($model,$exclude_group_models)) @if($hasMultipleModels && $currentModel !== $model)
{{ $model }}
@php $currentModel = $model; @endphp @endif {{-- ================= PERMISSION ITEM ================= --}}
{{ $permission->label }}
can($permission->name)) || (!$isEdit && $isDefault) ? 'checked' : '' }} >
@endif @endforeach
@endif @endforeach
@push('scripts') @endpush