class Decidim::Meetings::MeetingPresenter


Decorator for meetings

def avatar_url

def avatar_url
  ActionController::Base.helpers.asset_path("decidim/meetings/icon.svg")
end

def badge

def badge
  ""
end

def can_be_contacted?

def can_be_contacted?
  false
end

def deleted?

def deleted?
  false
end

def description(links: false, all_locales: false)

def description(links: false, all_locales: false)
  return unless meeting
  handle_locales(meeting.description, all_locales) do |content|
    renderer = Decidim::ContentRenderers::HashtagRenderer.new(decidim_sanitize(content))
    renderer.render(links: links).html_safe
  end
end

def formatted_proposals_titles

def formatted_proposals_titles
  return unless meeting
  proposals.map.with_index { |proposal, index| "#{index + 1}) #{proposal.title}\n" }
end

def handle_locales(content, all_locales)

def handle_locales(content, all_locales)
  if all_locales
    content.each_with_object({}) do |(locale, string), parsed_content|
      parsed_content[locale] = yield(string)
    end
  else
    yield(translated_attribute(content))
  end
end

def has_tooltip?

def has_tooltip?
  false
end

def meeting

def meeting
  __getobj__
end

def name

Next methods are used for present a Meeting As Proposal Author
def name
  title
end

def nickname

def nickname
  ""
end

def profile_path

def profile_path
  resource_locator(meeting).path
end

def proposals

def proposals
  return unless meeting
  @proposals ||= meeting.authored_proposals.load
end

def title(links: false, all_locales: false)

def title(links: false, all_locales: false)
  return unless meeting
  handle_locales(meeting.title, all_locales) do |content|
    renderer = Decidim::ContentRenderers::HashtagRenderer.new(decidim_html_escape(content))
    renderer.render(links: links).html_safe
  end
end