Note the link to see all processes does not filter by goal because the legislation section does not have any search filters.
34 lines
663 B
Ruby
34 lines
663 B
Ruby
class Widgets::Feeds::FeedComponent < ApplicationComponent
|
|
attr_reader :feed
|
|
delegate :kind, to: :feed
|
|
|
|
def initialize(feed)
|
|
@feed = feed
|
|
end
|
|
|
|
def see_all_path
|
|
polymorphic_path(feed.items.model, filters)
|
|
end
|
|
|
|
private
|
|
|
|
def item_component_class
|
|
case kind
|
|
when "proposals"
|
|
Widgets::Feeds::ProposalComponent
|
|
when "debates"
|
|
Widgets::Feeds::DebateComponent
|
|
when "processes"
|
|
Widgets::Feeds::ProcessComponent
|
|
end
|
|
end
|
|
|
|
def filters
|
|
if feed.respond_to?(:goal) && kind != "processes"
|
|
{ advanced_search: { goal: feed.goal.code }}
|
|
else
|
|
{}
|
|
end
|
|
end
|
|
end
|