Добавить пользователя в группу в Laravel - PullRequest
0 голосов
/ 02 октября 2018

Я отчаиваюсь, как создать правильную форму для добавления пользователя в определенную группу.

Сначала я открываю форму, где вы можете найти поле выбора для групп и поле для имени пользователя.

{!! Form::open(array('route'=>'create.invitation')) !!} 
    <div class="form-group">
        {{Form::label('group', 'In welche Gruppe möchten Sie den User einladen?')}}

        <select class="form-control" name="idgroup">
            @foreach ($groups as $group)
                <option value="{{ $group->id }}">{{ $group->name }}</option>
            @endforeach
        </select>
        </p>
        {{Form::label('username', 'Username')}}
        {{Form::text('username', '', ['class' => 'form-control', 'placeholder' => 'Enter Username'])}}

        {{ csrf_field() }}
    </div>
    <div>
        {{Form::submit('Submit',['class' => 'btn btn-primary'])}}
        <a class="btn btn-default btn-close" href="{{ route('home') }}">Cancel</a>
    </div>
{!! Form::close() !!} 

После этого я проверяю группу и особенно имя пользователя, потому что должна быть проверка, действительно ли это имя пользователя существует в БД.

public function create(Request $request)
{
    $request->validate([
        'idgroup' => [
            'required', 'numeric', new AdminGroupRequest, new MaxInvitationAdmin 
        ],
        'username' => [
            'required', 'alpha_num', new ExistingUser, new UserNotAdmin
        ]
    ]);

    $group = $request->idgroup;
    $username = $request->username;
    $user = User::where('name', $username)->select('id','name')->first();

    return view('invitation.approval')->with('group', $group)->with('user', $user); 
}

Затем я возвращаюсь к представлению, где пользователь и группа будут снова показаны пользователю.Это то, что пользователь может проверить свои данные.После этого я собираюсь отправить вход (идентификатор пользователя и группы) через функцию отправки в хранилище, где будут храниться данные.Но в этой функции хранилища я должен снова проверить имя группы и имя, потому что хакер может внести изменения в идентификатор группы и имени.Но для меня все, что я сделал, выглядит не совсем корректно и зашито.

Может кто-нибудь дать мне подсказку, как построить что-то подобное в Laravel.

...