Class: Sibu::PagesController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- Sibu::PagesController
- Defined in:
- app/controllers/sibu/pages_controller.rb
Instance Method Summary collapse
- #child_element ⇒ Object
- #clone_element ⇒ Object
- #create ⇒ Object
- #create_section ⇒ Object
- #delete_element ⇒ Object
- #delete_section ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #edit_content ⇒ Object
- #edit_element ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #new_section ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
- #update_element ⇒ Object
Instance Method Details
#child_element ⇒ Object
95 96 97 |
# File 'app/controllers/sibu/pages_controller.rb', line 95 def child_element @added = @entity.child_element(*@section_id.split('|'), *@element_id.split('|')) end |
#clone_element ⇒ Object
87 88 89 |
# File 'app/controllers/sibu/pages_controller.rb', line 87 def clone_element @cloned = @entity.clone_element(*@section_id.split('|'), *@element_id.split('|')) end |
#create ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'app/controllers/sibu/pages_controller.rb', line 40 def create @page = Sibu::Page.new(page_params) if @page.save_and_init redirect_to site_pages_url(@page.site_id), notice: "La page a bien été créée." else flash.now[:alert] = "Une erreur s'est produite lors de la création de la page." render :new end end |
#create_section ⇒ Object
112 113 114 |
# File 'app/controllers/sibu/pages_controller.rb', line 112 def create_section @created = @entity.create_section(*@section_id.split('|'), params[:after], section_params) end |
#delete_element ⇒ Object
91 92 93 |
# File 'app/controllers/sibu/pages_controller.rb', line 91 def delete_element @deleted = @entity.delete_element(*@section_id.split('|'), *@element_id.split('|')) end |
#delete_section ⇒ Object
116 117 118 |
# File 'app/controllers/sibu/pages_controller.rb', line 116 def delete_section @deleted = @entity.delete_section(*@section_id.split('|')) end |
#destroy ⇒ Object
62 63 |
# File 'app/controllers/sibu/pages_controller.rb', line 62 def destroy end |
#edit ⇒ Object
50 51 |
# File 'app/controllers/sibu/pages_controller.rb', line 50 def edit end |
#edit_content ⇒ Object
65 66 67 68 69 70 |
# File 'app/controllers/sibu/pages_controller.rb', line 65 def edit_content @page = Sibu::Page.find(params[:page_id]) @site = Sibu::Site.includes(:pages).find(@page.site_id) if @page @links = @site.pages_path_by_id if @site render :edit_content, layout: 'sibu/edit_content' end |
#edit_element ⇒ Object
72 73 74 75 76 77 78 79 |
# File 'app/controllers/sibu/pages_controller.rb', line 72 def edit_element @content_type = params[:content_type] @links = @site.pages_path_by_id if @site @element = @entity.element(*@section_id.split('|'), *@element_id.split('|')) @repeat = params[:repeat] @size = params[:size].blank? ? :medium : params[:size].to_sym @children = params[:children] end |
#index ⇒ Object
12 13 14 |
# File 'app/controllers/sibu/pages_controller.rb', line 12 def index @pages = @site.pages.order(:created_at) end |
#new ⇒ Object
36 37 38 |
# File 'app/controllers/sibu/pages_controller.rb', line 36 def new @page = Sibu::Page.new(site_id: @site.id) end |
#new_section ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'app/controllers/sibu/pages_controller.rb', line 99 def new_section page = Sibu::Page.find(params[:id]) @page = Page.new(id: page.id, sections: []) @site = Sibu::Site.includes(:pages).find(page.site_id) @after = params[:after] @links = @site.pages_path_by_id @site.site_template.available_templates.each do |t| template_defaults = @site.site_template.templates ? (@site.site_template.templates[t["template"]] || {}) : {} @page.sections << template_defaults.merge(t).to_h end end |
#show ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'app/controllers/sibu/pages_controller.rb', line 16 def show if params[:site_id].blank? @site = Sibu::Site.find_by_domain(request.domain) if @site @page = @site.page(params[:path]) @links = @site.pages_path_by_id view_template = @page ? 'show' : @site.not_found else view_template = Rails.application.config.sibu[:not_found] end else @site = Sibu::Site.find(params[:site_id]) @page = Sibu::Page.find(params[:id]) @links = @site.pages_path_by_id view_template = 'show' end render view_template, layout: 'sibu/site' end |
#update ⇒ Object
53 54 55 56 57 58 59 60 |
# File 'app/controllers/sibu/pages_controller.rb', line 53 def update if @page.update(page_params) redirect_to site_pages_url(@page.site_id), notice: "La page a bien été mise à jour." else flash.now[:alert] = "Une erreur s'est produite lors de l'enregistrement de la page." render :edit end end |
#update_element ⇒ Object
81 82 83 84 85 |
# File 'app/controllers/sibu/pages_controller.rb', line 81 def update_element ids = (@section_id.split('|') + @element_id.split('|')).uniq[0...-1] @updated = @entity.update_element(*ids, element_params) @refresh = params[:refresh] end |