class Decidim::Debates::CloseDebateForm
This class holds a Form to close debates from Decidim’s public views.
def closed_at
def closed_at debate&.closed_at || Time.current end
def map_model(debate)
def map_model(debate) super self.debate = debate # Debates can be translated in different languages from the admin but # the public form doesn't allow it. When a user closes a debate the # user locale is taken as the text locale. self.conclusions = debate.conclusions&.values&.first end
def user_can_close_debate
def user_can_close_debate return if !debate || !debate.respond_to?(:closeable_by?) errors.add(:debate, :invalid) unless debate.closeable_by?(current_user) end