@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 ================= --}}
@foreach(['facebook' => 'Facebook Login', 'google' => 'Google Login', 'custom' => 'Custom Login'] as $type => $label)
@endforeach
{{-- ================= 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)
@php $currentModel = $model; @endphp
@endif
{{-- ================= PERMISSION ITEM ================= --}}
@endif
@endforeach
@endif
@endforeach
@push('scripts')
@endpush