jeudi 2 janvier 2020

Laravel 5.8 send parameters to authorize method FormRequest Class

I have update and store method like this

public function update(ContactRequest $request)
{
   if (Auth::user()->can('edit_contact'))
         $request->update();
   else 
        return $this->accessDenied();
}
public function store(ContactRequest $request)
{
   if (Auth::user()->can('add_contact'))
         $request->store();
   else 
        return $this->accessDenied();
}

and authorize in FormRequest class

public function authorize()
{
    return   \Gate::allows('test', $this->route('contact'));
}

I want to pass permission name to authorize method like this:

public function authorize($permissionName)
{
    if (Auth::user()->can($permissionName))
          return   \Gate::allows('test', $this->route('contact'));
}

and in controller like this

public function update(ContactRequest $request)
{
     $request->update('edit_contact');
}
public function store(ContactRequest $request)
{
     $request->store('add_contact');
}


via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire