11
12
13
14
15
16
17
18
19
20
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
|
# File 'app/controllers/viewmaster/looks_controller.rb', line 11
def switch_to
if logged_in?
new_layout = nil
RequestStore.store[:current_user] = current_user
if Viewmaster::Config.layouts.include?(params[:id]) && get_layout_from_store.can_transition_to?(params[:id])
new_layout = cookies[:layout] = params[:id]
elsif current_user.layout.nil?
new_layout = cookies[:layout] = Viewmaster::Config.default_version.name
end
current_template_version = get_layout_from_store
if new_layout.blank?
redirect_to( session[:previous_url].blank? ? "/" : session[:previous_url] ) and return
else new_layout != current_template_version.name
RequestStore.store[:new_layout] = new_layout
current_template_version.change_version_to(new_layout)
end
end
set_layout
redirect_to( session[:previous_url].blank? ? "/" : session[:previous_url] ) and return
end
|