Некоторые опции в select видны только super_admin - PullRequest
0 голосов
/ 17 октября 2018

Я бы хотел, чтобы некоторые опции в select (например, main_title=banner, main_title=law, main_title=faq) были видны только для super_admin.

main_title.blade.php

<div class="form-group">
    <label for="main_title">{{ trans('labels.main_title') }}</label>
    <select v-model="post.main_title | mainTitle" name="main_title" id="main_title" class="form-control">
        @foreach($main_title_options as $option)
            <option {{ old('main_title') == $option->value ? 'selected="selected"' : '' }} value="{{ $option->value }}">
                {{ trans('labels.'.$option->value) }}
            </option>
        @endforeach
    </select>
</div>

мой PostController:

public function create()
{
    $time = \Carbon\Carbon::now();

    list(
        $images,
        $documents,
        $medias,
        $categories,
        $main_title_options,
        $event_type_options,
        $event_halls,
        ) = $this->repo->getPostCreateEditdata();

    $edit = false;
    \JavaScript::put(compact('tags', 'categories', 'images', 'documents', 'medias'));


    return view('posts.create-edit', compact(
        'main_title_options',
        'main_title',
        'event_halls',
        'event_type_options',
        'time',
        'edit'));
}

Я пытался что-то с этим, но мне не удалось.

  @if(Auth::user()->hasRole(['super_admin']))

что здесь делать?

public function getPostCreateEditdata()
{
    $images = Document::whereFiletype('image')->with(['users'])->orderBy('created_at', 'desc')->limit(20)->get();
    $documents = Document::whereFiletype('document')->with(['users'])->orderBy('created_at', 'desc')->limit(20)->get();
    $medias = Document::whereFiletype('media')->with(['users'])->orderBy('created_at', 'desc')->limit(20)->get();

    $categories = Taxonomy::whereType('category')->get();

    $main_title_options = Settings::whereName('post_main_title_option')->get();
    $event_type_options = Settings::whereName('post_event_type_option')->get();
    $event_halls = Settings::whereName('event_hall')->get();

    //documents are lazy loaded and we load only 20 at first, so we need to include the ones from old input if any
    if (old('documents'))
        $documents = $documents->merge(Document::whereIn('id', old('documents'))->get());

    return array($images, $documents, $medias, $categories, $main_title_options, $event_type_options, $event_halls);
}

Заранее спасибо, и простите вмешательство, и на худшем английском.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...