middleware(['auth' => 'eventPermissions'])->except('index', 'show'); // Model $this->modelType = StringHelper::toURL(__('models.event')); $this->modelData = [ 'departments' => [ 'type' => 'inputSelect', 'name' => 'tags', 'label' => __('models.department'), 'foreign' => [ 'class' => Tag::class, 'model' => 'tags', 'column' => 'name', 'order' => [ 'column' => 'name', 'direction' => 'ASC' ], 'conditions' => [ [ 'column' => 'type', 'value' => 'abteilung', ], ], ], ], 'instances' => [ 'type' => 'inputSelect', 'name' => 'tags', 'label' => __('models.instance'), 'foreign' => [ 'class' => Tag::class, 'model' => 'tags', 'column' => 'name', 'order' => [ 'column' => 'name', 'direction' => 'ASC' ], 'conditions' => [ [ 'column' => 'type', 'value' => 'instanz', ], ], ], ], 'datetime' => [ 'type' => 'inputDateTimePicker', 'datepicker' => [ 'label' => __('general.date'), 'placeholder' => __('general.date_format'), 'format' => __('general.date_format_short'), 'format_picker' => __('general.date_format'), 'language' => config('app.locale'), 'weekStart' => 1, 'multidate' => false, 'validation' => [ 'rules' => 'required', ] ], 'time' => [ 'label' => __('general.time'), 'placeholder' => __('general.time_format'), 'format' => __('general.time_format_short'), 'validation' => [ 'rules' => 'required', ] ], ], 'title' => [ 'type' => 'inputText', 'label' => __('models.title'), 'placeholder' => __('models.title'), 'validation' => [ 'rules' => 'required|min:3', ] ], 'content' => [ 'type' => 'inputTextarea', 'label' => __('models.text'), 'placeholder' => __('models.text'), 'toolbar' => [ [ 'insertfile', 'undo', 'redo', ], [ 'bold', 'italic', 'strikethrough' ], [ 'link', ] ], 'plugins' => [ 'paste', 'link' ], 'validation' => [ 'rules' => 'required', ] ], ]; // URL options $this->url = 'event'; $this->route = StringHelper::toURL(__('models.event')); $this->indexOptions = [ 'orderBy' => 'datetime', 'orderDirection' => 'DESC', 'paginate' => 9, 'view' => 'inc.views.cardPreviewContainer2', 'filter' => [ 'departments'=> [ 'type' => 'select', ], 'instances'=> [ 'type' => 'select', ], 'year' => [ 'type' => 'select', 'label' => __('general.year'), 'name' => strtolower( __('general.year')) ], 'month' => [ 'type' => 'select', 'label' => __('general.month'), 'name' => strtolower(__('general.month')) ], ] ]; $this->detailsOptions = [ 'view' => 'inc.views.details', 'newest' => [ 'limit' => 3, 'label' => __('models.current events') ], 'further' => [ 'limit' => 3, 'label' => __('models.older events') ], ]; $this->adminIndexOptions = [ 'orderBy' => 'datetime', 'orderDirection' => 'DESC', 'paginate' => 10, 'listdata' => [ 'title' => [], 'departments' => [], 'user' => [ 'label' => __('general.author'), 'foreign' => [ 'model' => 'audits', 'column' => 'name', 'index' => 'last' ], ], 'datetime' => [], 'published' => [ 'label' => __('admin.published'), ] ] ]; // Publishing $this->publishOptions = [ 'date' => '-1w' ]; parent::__construct(); } }