Class: Sibu::PagesController
Instance Method Summary
collapse
#check_site_ownership!, #conf, #sibu_user
Instance Method Details
#child_element ⇒ Object
127
128
129
|
# File 'app/controllers/sibu/pages_controller.rb', line 127
def child_element
@added = @entity.child_element(*@section_id.split('|'), *@element_id.split('|'))
end
|
#clone_element ⇒ Object
119
120
121
|
# File 'app/controllers/sibu/pages_controller.rb', line 119
def clone_element
@cloned = @entity.clone_element(*@section_id.split('|'), *@element_id.split('|'))
end
|
#create ⇒ Object
54
55
56
57
58
59
60
61
62
|
# File 'app/controllers/sibu/pages_controller.rb', line 54
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
144
145
146
|
# File 'app/controllers/sibu/pages_controller.rb', line 144
def create_section
@created = @entity.create_section(*@section_id.split('|'), params[:after], section_params)
end
|
#delete_element ⇒ Object
123
124
125
|
# File 'app/controllers/sibu/pages_controller.rb', line 123
def delete_element
@deleted = @entity.delete_element(*@section_id.split('|'), *@element_id.split('|'))
end
|
#delete_section ⇒ Object
158
159
160
|
# File 'app/controllers/sibu/pages_controller.rb', line 158
def delete_section
@deleted = @entity.delete_section(*@section_id.split('|'))
end
|
#destroy ⇒ Object
76
77
78
79
80
81
82
83
84
|
# File 'app/controllers/sibu/pages_controller.rb', line 76
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
86
87
88
89
90
91
92
93
94
|
# File 'app/controllers/sibu/pages_controller.rb', line 86
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
64
65
|
# File 'app/controllers/sibu/pages_controller.rb', line 64
def edit
end
|
#edit_content ⇒ Object
96
97
98
99
100
101
102
|
# File 'app/controllers/sibu/pages_controller.rb', line 96
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
104
105
106
107
108
109
110
111
|
# File 'app/controllers/sibu/pages_controller.rb', line 104
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
148
149
150
|
# File 'app/controllers/sibu/pages_controller.rb', line 148
def edit_section
@section = @entity.section(params[:section_id])
end
|
#index ⇒ Object
19
20
21
|
# File 'app/controllers/sibu/pages_controller.rb', line 19
def index
@pages = @site.pages.order(:created_at)
end
|
#new ⇒ Object
50
51
52
|
# File 'app/controllers/sibu/pages_controller.rb', line 50
def new
@page = Sibu::Page.new(site_id: @site.id, source: 'Saisie manuelle')
end
|
#new_section ⇒ Object
131
132
133
134
135
136
137
138
139
140
141
142
|
# File 'app/controllers/sibu/pages_controller.rb', line 131
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'app/controllers/sibu/pages_controller.rb', line 23
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
67
68
69
70
71
72
73
74
|
# File 'app/controllers/sibu/pages_controller.rb', line 67
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
113
114
115
116
117
|
# File 'app/controllers/sibu/pages_controller.rb', line 113
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
152
153
154
155
156
|
# File 'app/controllers/sibu/pages_controller.rb', line 152
def update_section
@entity.section(params[:section_id]).merge!(section_params)
logger.debug @entity.section(params[:section_id])
@updated = @entity.save
end
|