diff --git a/app/controllers/alchemy/admin/attachments_controller.rb b/app/controllers/alchemy/admin/attachments_controller.rb index 327a60300b..9e12e003d6 100644 --- a/app/controllers/alchemy/admin/attachments_controller.rb +++ b/app/controllers/alchemy/admin/attachments_controller.rb @@ -39,7 +39,7 @@ def index # The resources controller renders the edit form as default for show actions. def show - @assignments = @attachment.related_ingredients.joins(element: :page) + @assignments = @attachment.related_ingredients.joins(element: :page).merge(PageVersion.drafts) render :show end diff --git a/app/controllers/alchemy/admin/pictures_controller.rb b/app/controllers/alchemy/admin/pictures_controller.rb index 2e3228a464..6fb268efc9 100644 --- a/app/controllers/alchemy/admin/pictures_controller.rb +++ b/app/controllers/alchemy/admin/pictures_controller.rb @@ -45,7 +45,7 @@ def show @previous = @pictures.prev_page @next = @pictures.next_page - @assignments = @picture.related_ingredients.joins(element: :page) + @assignments = @picture.related_ingredients.joins(element: :page).merge(PageVersion.drafts) @picture_description = @picture.descriptions.find_or_initialize_by( language_id: Alchemy::Current.language.id ) diff --git a/spec/controllers/alchemy/admin/attachments_controller_spec.rb b/spec/controllers/alchemy/admin/attachments_controller_spec.rb index 2b6f6b457b..7619dbf5fc 100644 --- a/spec/controllers/alchemy/admin/attachments_controller_spec.rb +++ b/spec/controllers/alchemy/admin/attachments_controller_spec.rb @@ -95,6 +95,21 @@ module Alchemy get :show, params: {id: attachment.id} expect(response).to render_template(:show) end + + context "with assignments" do + let!(:page) { create(:alchemy_page) } + let!(:element) { create(:alchemy_element, page: page) } + let!(:ingredient) { create(:alchemy_ingredient_file, element: element, related_object: attachment) } + + before do + page.publish! + end + + it "assigns all file ingredients having an assignment to @assignments" do + get :show, params: {id: attachment.id} + expect(assigns(:assignments)).to eq([ingredient]) + end + end end describe "#create" do diff --git a/spec/controllers/alchemy/admin/pictures_controller_spec.rb b/spec/controllers/alchemy/admin/pictures_controller_spec.rb index 58707a972e..c22c13a28f 100644 --- a/spec/controllers/alchemy/admin/pictures_controller_spec.rb +++ b/spec/controllers/alchemy/admin/pictures_controller_spec.rb @@ -184,6 +184,10 @@ module Alchemy let!(:element) { create(:alchemy_element, page: page) } let!(:ingredient) { create(:alchemy_ingredient_picture, element: element, related_object: picture) } + before do + page.publish! + end + it "assigns all picture ingredients having an assignment to @assignments" do get :show, params: {id: picture.id} expect(assigns(:assignments)).to eq([ingredient])