diff --git a/app/Plugins/User/Slideshows/SlideshowsPlugin.php b/app/Plugins/User/Slideshows/SlideshowsPlugin.php index d9c47eb98..cea889f35 100644 --- a/app/Plugins/User/Slideshows/SlideshowsPlugin.php +++ b/app/Plugins/User/Slideshows/SlideshowsPlugin.php @@ -74,11 +74,12 @@ public function declareRole() { // 権限チェックテーブル $role_check_table = []; - $role_check_table["addItem"] = ['buckets.addColumn']; - $role_check_table["editItem"] = ['buckets.editColumn']; - $role_check_table["updateItems"] = ['buckets.saveColumn']; - $role_check_table["deleteItem"] = ['buckets.deleteColumn']; - $role_check_table["updateItemSequence"] = ['buckets.upColumnSequence', 'buckets.downColumnSequence']; + $role_check_table["addItem"] = ['posts.create']; + $role_check_table["addPdf"] = ['posts.create']; + $role_check_table["editItem"] = ['posts.update']; + $role_check_table["updateItems"] = ['posts.update']; + $role_check_table["updateItemSequence"] = ['posts.update']; + $role_check_table["deleteItem"] = ['posts.delete']; return $role_check_table; } @@ -143,11 +144,6 @@ public function index($request, $page_id, $frame_id, $errors = null) $setting_error_messages[] = 'フレームの設定画面から、使用するスライドショーを選択するか、作成してください。'; } - if ($slideshows_items->count() == 0) { - // フレームに紐づくスライドショー子データがない場合 - $setting_error_messages[] = 'フレームの設定画面から、使用するスライドショーの項目を定義してください。'; - } - if (empty($setting_error_messages)) { // 表示テンプレートを呼び出す。 return $this->view('slideshows', [ @@ -744,11 +740,6 @@ public function updateItems($request, $page_id, $frame_id) */ public function editItem($request, $page_id, $frame_id, $id = null, $message = null, $errors = null) { - // 権限チェック - if ($this->can('role_article_admin')) { - return $this->viewError(403); - } - // フレームに紐づくスライドショーを取得 $slideshow = $this->getSlideshows($frame_id); @@ -842,4 +833,26 @@ public function updateItemSequence($request, $page_id, $frame_id) // リダイレクト設定はフォーム側で設定している為、return処理は省略 } + + /** + * 権限設定 変更画面を表示する + * + * @see UserPluginBase::editBucketsRoles() + */ + public function editBucketsRoles($request, $page_id, $frame_id, $id = null, $use_approval = false) + { + // 承認機能は使わない + return parent::editBucketsRoles($request, $page_id, $frame_id, $id, $use_approval); + } + + /** + * 権限設定を保存する + * + * @see UserPluginBase::saveBucketsRoles() + */ + public function saveBucketsRoles($request, $page_id, $frame_id, $id = null, $use_approval = false) + { + // 承認機能は使わない + return parent::saveBucketsRoles($request, $page_id, $frame_id, $id, $use_approval); + } } diff --git a/resources/views/plugins/user/slideshows/default/slideshows.blade.php b/resources/views/plugins/user/slideshows/default/slideshows.blade.php index ec6cd6b78..8991b53f6 100644 --- a/resources/views/plugins/user/slideshows/default/slideshows.blade.php +++ b/resources/views/plugins/user/slideshows/default/slideshows.blade.php @@ -12,6 +12,15 @@ {{-- 未設定エラーメッセージの表示等 --}} @include('plugins.common.errors_form_line') + {{-- 編集ボタン --}} + @can('posts.update', [[null, $frame->plugin_name, $buckets, $frame]]) +
+ @endcan + @if ($slideshows_items->count() > 0) {{-- インジケータの形状は標準だとクリックしづらいので、とりあえず丸型にしておきます。後々の改修でインジケータ形状のデザイン機能も入れられるといいと考えてます。 --}}