Closed bobitza closed 2 years ago
I found the problem in UsersControler, i need to pass the variable with Role, but how i can extend that controller ?
I just want to extend UserController from your package to add dropdown with Roles, how can i do ?
After few hours i made it somehow with bindings in AppServiceProvider
public $bindings = [
\Bazar\Http\Controllers\UsersController::class => \App\Http\Controllers\Bazar\UsersBazarController::class,
];
<?php
namespace App\Http\Controllers\Bazar;
use App\Models\User as CrrUser;
use Inertia\Inertia;
use Inertia\Response;
use Illuminate\Support\Facades\Redirect;
use \Bazar\Http\Controllers\UsersController;
class UsersBazarController extends UsersController
{
/**
* Display the specified resource.
*
* @param \Bazar\Models\User $user
* @return \Inertia\Response
*/
public function show(\Bazar\Models\User $user): Response
{
return Inertia::render('Users/Show', [
'user' => $user,
'userRole' => CrrUser::userRole()
]);
}
/**
* Update the specified resource in storage.
*
* @param \Bazar\Http\Requests\UserUpdateRequest $request
* @param \Bazar\Models\User $user
* @return \Illuminate\Http\RedirectResponse
*/
public function update(\Bazar\Http\Requests\UserUpdateRequest $request, \Bazar\Models\User $user): \Illuminate\Http\RedirectResponse
{
$userBazar = CrrUser::find($user->id);
$requestGood = $request->rules();
$requestGood = array_merge_recursive($requestGood, ['role'=>['required', 'string']]);
$userBazar->update($request->validate($requestGood));
//--
return Redirect::route('bazar.users.show', $userBazar)->with('message', __('The user has been updated.'));
}
}
Description:
i extended user, and maked functions like order, to make a dropdown to select user Roles, like order to select statuses but props in vue what i created got undefined ? `<?php
namespace App\Models;
use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; use Illuminate\Http\Request;
use Bazar\Models\User as BazarUser;
class User extends BazarUser { use HasApiTokens, Notifiable; // HasFactory,
} `
and VUE;
Steps To Reproduce: