Class: Sibu::PagesController
Instance Method Summary
collapse
#check_site_ownership!, #conf, #sibu_user
Instance Method Details
#child_element ⇒ Object
125
126
127
|
# File 'app/controllers/sibu/pages_controller.rb', line 125
def child_element
@added = @entity.child_element(*@section_id.split('|'), *@element_id.split('|'))
end
|
#clone_element ⇒ Object
117
118
119
|
# File 'app/controllers/sibu/pages_controller.rb', line 117
def clone_element
@cloned = @entity.clone_element(*@section_id.split('|'), *@element_id.split('|'))
end
|
#create ⇒ Object
52
53
54
55
56
57
58
59
60
|
# File 'app/controllers/sibu/pages_controller.rb', line 52
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
142
143
144
|
# File 'app/controllers/sibu/pages_controller.rb', line 142
def create_section
@created = @entity.create_section(*@section_id.split('|'), params[:after], section_params)
end
|
#delete_element ⇒ Object
121
122
123
|
# File 'app/controllers/sibu/pages_controller.rb', line 121
def delete_element
@deleted = @entity.delete_element(*@section_id.split('|'), *@element_id.split('|'))
end
|
#delete_section ⇒ Object
156
157
158
|
# File 'app/controllers/sibu/pages_controller.rb', line 156
def delete_section
@deleted = @entity.delete_section(*@section_id.split('|'))
end
|
#destroy ⇒ Object
74
75
76
77
78
79
80
81
82
|
# File 'app/controllers/sibu/pages_controller.rb', line 74
def destroy
site_id = @page.site_id
if @page.destroy
redirect_to site_pages_url(site_id), notice: "La page a bien été supprimée."
else
flash.now[:alert] = "Une erreur s'est produite lors de la suppression de la page."
render :index
end
end
|
#duplicate ⇒ Object
84
85
86
87
88
89
90
91
92
|
# File 'app/controllers/sibu/pages_controller.rb', line 84
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
62
63
|
# File 'app/controllers/sibu/pages_controller.rb', line 62
def edit
end
|
#edit_content ⇒ Object
94
95
96
97
98
99
100
|
# File 'app/controllers/sibu/pages_controller.rb', line 94
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
@edit_section = params[:edit_section]
render :edit_content, layout: 'sibu/edit_content'
end
|
#edit_element ⇒ Object
102
103
104
105
106
107
108
109
|
# File 'app/controllers/sibu/pages_controller.rb', line 102
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] == 'true'
@children = params[:children] == 'true'
@size = params[:size].blank? ? :medium : params[:size].to_sym
end
|
#edit_section ⇒ Object
146
147
148
|
# File 'app/controllers/sibu/pages_controller.rb', line 146
def edit_section
@section = @entity.section(params[:section_id])
end
|
#index ⇒ Object
17
18
19
|
# File 'app/controllers/sibu/pages_controller.rb', line 17
def index
@pages = @site.pages.order(:created_at)
end
|
#new ⇒ Object
48
49
50
|
# File 'app/controllers/sibu/pages_controller.rb', line 48
def new
@page = Sibu::Page.new(site_id: @site.id, source: 'Saisie manuelle')
end
|
#new_section ⇒ Object
129
130
131
132
133
134
135
136
137
138
139
140
|
# File 'app/controllers/sibu/pages_controller.rb', line 129
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_sections.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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'app/controllers/sibu/pages_controller.rb', line 21
def show
return_code = :ok
if params[:site_id].blank?
@page = Sibu::Page.lookup(request.host, params[:path])
if @page
@query_path = params[:path][@page.path.length + 1..-1] unless @page.path.blank?
@query_params = show_params.except(:controller, :action, :path).to_h
@site = @page.site
@links = @site.pages_path_by_id
view_template = 'show'
else
@site = Sibu::Site.where(domain: request.host).first
view_template = Rails.application.config.sibu[:not_found]
return_code = :not_found
end
else
@site = Sibu::Site.find(params[:site_id])
@page = Sibu::Page.find(params[:id])
@links = @site.pages_path_by_id
@query_path = params[:path]
@query_params = show_params.except(:controller, :action, :path).to_h
view_template = 'show'
end
render view_template, layout: 'sibu/site', status: return_code
end
|
#update ⇒ Object
65
66
67
68
69
70
71
72
|
# File 'app/controllers/sibu/pages_controller.rb', line 65
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
111
112
113
114
115
|
# File 'app/controllers/sibu/pages_controller.rb', line 111
def update_element
ids = (@section_id.split('|') + @element_id.split('|')).uniq[0...-1]
@updated = @entity.update_element(*ids, element_params)
@refresh = params[:refresh]
end
|
#update_section ⇒ Object
150
151
152
153
154
|
# File 'app/controllers/sibu/pages_controller.rb', line 150
def update_section
@entity.section(params[:section_id]).merge!(section_params)
logger.debug @entity.section(params[:section_id])
@updated = @entity.save
end
|