Skip to content

Commit fd1986b

Browse files
donrestaroneAyon95
andauthored
[bug fix] use default website layout if no app layout is present (#1484)
Addresses: #491 https://user-images.githubusercontent.com/73725297/226471380-5f6b07d9-8c8c-40ea-a2af-18d42a9f57a3.mp4 Co-authored-by: Mushfiq Rahman <mushfiqurrahman78@yahoo.com>
1 parent 916f2aa commit fd1986b

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

app/controllers/comfy/admin/cms/layouts_controller.rb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,15 @@ def destroy
5555
def build_layout
5656
@layout = @site.layouts.new(layout_params)
5757
@layout.parent ||= ::Comfy::Cms::Layout.find_by_id(params[:parent_id])
58-
@layout.app_layout ||= @layout.parent.try(:app_layout)
5958
@layout.content ||= "{{ cms:wysiwyg content }}"
59+
60+
if !@layout.app_layout.blank?
61+
@layout.app_layout = @layout.app_layout
62+
elsif !@layout.parent.nil?
63+
@layout.app_layout = @layout.parent.app_layout
64+
else
65+
@layout.app_layout = "website"
66+
end
6067
end
6168

6269
def load_layout

test/controllers/admin/comfy/layouts_controller_test.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,16 @@ class Comfy::Admin::Cms::LayoutsControllerTest < ActionDispatch::IntegrationTest
6666
assert_select "form[action='/admin/sites/#{site.id}/layouts']"
6767
end
6868

69+
test "default website layout should be used if a newly-created layout has no app_layout and parent" do
70+
@user.update(can_access_admin: true, can_manage_web: true)
71+
sign_in(@user)
72+
get new_comfy_admin_cms_site_layout_url(subdomain: @restarone_subdomain, site_id: @site.id)
73+
74+
assert_response :success
75+
assert assigns(:layout)
76+
assert_equal "website", assigns(:layout).app_layout
77+
end
78+
6979
test 'denies #new if not permissioned' do
7080
sign_in(@user)
7181
get new_comfy_admin_cms_site_layout_url(subdomain: @restarone_subdomain, site_id: @site.id)

0 commit comments

Comments
 (0)