Add sdg management header controller

This commit is contained in:
Senén Rodero Rodríguez
2021-02-18 20:23:31 +01:00
committed by Javi Martín
parent ba4b1a91e1
commit c217af9f4b
3 changed files with 33 additions and 1 deletions

View File

@@ -0,0 +1,29 @@
class SDGManagement::HeaderController < SDGManagement::BaseController
include Admin::Widget::CardsActions
helper_method :index_path
before_action :load_cardable
load_and_authorize_resource :header,
class: "Widget::Card",
through: :cardable,
singleton: true,
instance_name: :card
private
def load_cardable
@cardable = WebSection.find_by!(name: "sdg")
end
def index_path
sdg_management_homepage_path
end
def form_path
sdg_management_homepage_header_path
end
def header_params
card_params
end
end

View File

@@ -1,4 +1,5 @@
class WebSection < ApplicationRecord
has_many :sections
has_many :banners, through: :sections
has_one :header, class_name: "Widget::Card", as: :cardable, dependent: :destroy
end

View File

@@ -4,7 +4,9 @@ namespace :sdg_management do
resources :goals, only: [:index]
resources :targets, only: [:index]
resources :local_targets, except: [:show]
resource :homepage, controller: :homepage, only: [:show]
resource :homepage, controller: :homepage, only: [:show] do
resource :header, controller: :header, only: [:new, :create, :edit, :update, :destroy]
end
resources :phases, only: [], as: :sdg_phases do
resources :cards, except: [:index, :show], as: :widget_cards