diff --git a/app/controllers/budgets_controller.rb b/app/controllers/budgets_controller.rb index 298425174..70efd04e9 100644 --- a/app/controllers/budgets_controller.rb +++ b/app/controllers/budgets_controller.rb @@ -16,6 +16,7 @@ class BudgetsController < ApplicationController def index @finished_budgets = @budgets.finished.order(created_at: :desc) @budgets_coordinates = current_budget_map_locations + @banners = Banner.in_section('budgets').with_active end end diff --git a/app/controllers/concerns/commentable_actions.rb b/app/controllers/concerns/commentable_actions.rb index 826d90da9..f3aadc2f7 100644 --- a/app/controllers/concerns/commentable_actions.rb +++ b/app/controllers/concerns/commentable_actions.rb @@ -16,7 +16,7 @@ module CommentableActions index_customization if index_customization.present? @tag_cloud = tag_cloud - @banners = Banner.with_active + @banners = Banner.in_section(section(resource_model.name)).with_active set_resource_votes(@resources) @@ -114,4 +114,13 @@ module CommentableActions nil end + def section(resource_name) + case resource_name + when "Proposal" + 'proposals' + when "Debate" + 'debates' + end + end + end diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb index 654fe2ff8..5ea596f9a 100644 --- a/app/controllers/pages_controller.rb +++ b/app/controllers/pages_controller.rb @@ -3,6 +3,7 @@ class PagesController < ApplicationController def show @custom_page = SiteCustomization::Page.published.find_by(slug: params[:id]) + @banners = Banner.in_section('help_page').with_active if @custom_page.present? render action: :custom_page diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb index 1ac4fd51a..8d19394d7 100644 --- a/app/controllers/welcome_controller.rb +++ b/app/controllers/welcome_controller.rb @@ -8,6 +8,7 @@ class WelcomeController < ApplicationController @header = Widget::Card.header.first @feeds = Widget::Feed.active @cards = Widget::Card.body + @banners = Banner.in_section('homepage').with_active end def welcome diff --git a/app/helpers/banners_helper.rb b/app/helpers/banners_helper.rb index b8b5864c9..3e78764a9 100644 --- a/app/helpers/banners_helper.rb +++ b/app/helpers/banners_helper.rb @@ -4,4 +4,4 @@ module BannersHelper @banners.present? && @banners.count > 0 end -end \ No newline at end of file +end diff --git a/app/models/banner.rb b/app/models/banner.rb index ad37fdc72..26d683e9c 100644 --- a/app/models/banner.rb +++ b/app/models/banner.rb @@ -16,4 +16,6 @@ class Banner < ActiveRecord::Base scope :with_active, -> { where("post_started_at <= ?", Time.current).where("post_ended_at >= ?", Time.current) } scope :with_inactive, -> { where("post_started_at > ? or post_ended_at < ?", Time.current, Time.current) } + + scope :in_section, ->(section_name) { joins(:web_sections, :sections).where("web_sections.name ilike ?", section_name) } end diff --git a/app/views/budgets/index.html.erb b/app/views/budgets/index.html.erb index a7f02440a..08efd5236 100644 --- a/app/views/budgets/index.html.erb +++ b/app/views/budgets/index.html.erb @@ -1,4 +1,9 @@ -<% provide :title do %><%= t("budgets.index.title") %><% end %> +<% if has_banners? %> + <%= render "shared/banner" %> +<% end %> + +<% provide :title do %><%= t('budgets.index.title') %><% end %> + <% content_for :canonical do %> <%= render "shared/canonical", href: budgets_url %> <% end %> diff --git a/app/views/pages/help/index.html.erb b/app/views/pages/help/index.html.erb index c4ec61d40..e0e268f7e 100644 --- a/app/views/pages/help/index.html.erb +++ b/app/views/pages/help/index.html.erb @@ -3,6 +3,10 @@ <%= render "shared/canonical", href: help_url %> <% end %> +<% if has_banners? %> + <%= render "shared/banner" %> +<% end %> +