Merhabalar, sorup sormama konusunda şüpheliydim ama geliştirmek için hem bana hemde başka arkadaşlara faydalı olacağına inandığım için bu konuyu başlattım.
Masraflar tablosuna masraf "düzenleme" yetkisi olan kişi kayıt eklerken select içinden ilgili kullanıcıyı seçiyor buraya kadar tamam.
"düzenleme" yetkisi olmayan kişi masraf eklesin ama select içinden kendi ismi seçili ve disabled olsun.
Bu iş için kullandığım 1.kod
<select name="user_id" id="user"
class="form-control select-user {{ $errors->has('user_id') ? 'border-danger-400' : '' }}"
{{ Auth::user()->can('masraflar_edit') ? 'enabled' :'disabled' }}
required data-fouc>
@foreach($users as $id => $user)
<option value="{{ $id }}"
{{
Auth::user()->can('masraflar_edit') ?
/* düzenleme yetkisi var diğer kullanıcalar için ekleme yapabilir */
(isset($masraflar) && $masraflar->user ? $masraflar->user->id : old('user_id')) == $id ? 'selected' : '' :
/* düzenleme yetkisi yok sadece kendi adına ekleme yapabilir */
Auth::user()->id == $id ? 'selected' : ''
}}>{{ $user }}
</option>
@endforeach
</select>
Buda 2.kod
@can('masraflar_edit')
<select name="user_id" id="user"
class="form-control select-user {{ $errors->has('user_id') ? 'border-danger-400' : '' }}"
required data-fouc>
@foreach($users as $id => $user)
<option value="{{ $id }}"{{ (isset($masraflar) && $masraflar->user ? $masraflar->user->id : old('user_id')) == $id ? 'selected' : '' }}>{{ $user }}</option>
@endforeach
</select>
@else
<input name="user_id" type="hidden" value="{{ Auth::user()->id }}">
@endcan
Blade içinde bu kontrolleri yapmak canımı sıkıyor yanlış olduğunu biliyorum ama
mustafa hocam kesin beğenmez bende beğenmedim
Sizlerin varsa tavsiyelerini ve başka yöntemlerinide öğrenmek isterim
Saygılar...