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
- #duplicate ⇒ Object
- #edit ⇒ Object
- #edit_content ⇒ Object
- #edit_element ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #new_section ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
- #update_element ⇒ Object
Methods inherited from ApplicationController
Instance Method Details
#child_element ⇒ Object
105 106 107 |
# File 'app/controllers/sibu/pages_controller.rb', line 105 def child_element @added = @entity.child_element(*@section_id.split('|'), *@element_id.split('|')) end |
#clone_element ⇒ Object
97 98 99 |
# File 'app/controllers/sibu/pages_controller.rb', line 97 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
122 123 124 |
# File 'app/controllers/sibu/pages_controller.rb', line 122 def create_section @created = @entity.create_section(*@section_id.split('|'), params[:after], section_params) end |
#delete_element ⇒ Object
101 102 103 |
# File 'app/controllers/sibu/pages_controller.rb', line 101 def delete_element @deleted = @entity.delete_element(*@section_id.split('|'), *@element_id.split('|')) end |
#delete_section ⇒ Object
126 127 128 |
# File 'app/controllers/sibu/pages_controller.rb', line 126 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 |
#duplicate ⇒ Object
65 66 67 68 69 70 71 72 73 |
# File 'app/controllers/sibu/pages_controller.rb', line 65 def duplicate new_page = @page.deep_copy if new_page.save redirect_to site_pages_url(@page.site_id), notice: "La page a bien été copiée." else flash.now[:alert] = "Une erreur s'est produite lors de la copie de la page." render :index end end |
#edit ⇒ Object
50 51 |
# File 'app/controllers/sibu/pages_controller.rb', line 50 def edit end |
#edit_content ⇒ Object
75 76 77 78 79 80 |
# File 'app/controllers/sibu/pages_controller.rb', line 75 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
82 83 84 85 86 87 88 89 |
# File 'app/controllers/sibu/pages_controller.rb', line 82 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
109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'app/controllers/sibu/pages_controller.rb', line 109 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? page = Page.lookup(request.domain, params[:path]) if page @site = page.site @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
91 92 93 94 95 |
# File 'app/controllers/sibu/pages_controller.rb', line 91 def update_element ids = (@section_id.split('|') + @element_id.split('|')).uniq[0...-1] @updated = @entity.update_element(*ids, element_params) @refresh = params[:refresh] end |