This feature wasn't properly tested nor reviewed, and after reviewing
several pull requests with a similar status and considering this pull
request is related to the public area of the web, we've decided to
remove it before releasing version 1.1.
This commit reverts commit 4f50e67a.
48 lines
1.5 KiB
Ruby
48 lines
1.5 KiB
Ruby
class Legislation::Question < ApplicationRecord
|
|
acts_as_paranoid column: :hidden_at
|
|
include ActsAsParanoidAliases
|
|
include Notifiable
|
|
|
|
translates :title, touch: true
|
|
include Globalizable
|
|
|
|
belongs_to :author, -> { with_hidden }, class_name: "User", inverse_of: :legislation_questions
|
|
belongs_to :process, foreign_key: "legislation_process_id", inverse_of: :questions
|
|
|
|
has_many :question_options, -> { order(:id) }, class_name: "Legislation::QuestionOption", foreign_key: "legislation_question_id",
|
|
dependent: :destroy, inverse_of: :question
|
|
has_many :answers, class_name: "Legislation::Answer", foreign_key: "legislation_question_id", dependent: :destroy, inverse_of: :question
|
|
has_many :comments, as: :commentable, inverse_of: :commentable, dependent: :destroy
|
|
|
|
accepts_nested_attributes_for :question_options, reject_if: proc { |attributes| attributes.all? { |k, v| v.blank? } }, allow_destroy: true
|
|
|
|
validates :process, presence: true
|
|
validates_translation :title, presence: true
|
|
|
|
scope :sorted, -> { order("id ASC") }
|
|
|
|
def next_question_id
|
|
@next_question_id ||= process.questions.where("id > ?", id).sorted.limit(1).pluck(:id).first
|
|
end
|
|
|
|
def first_question_id
|
|
@first_question_id ||= process.questions.sorted.limit(1).pluck(:id).first
|
|
end
|
|
|
|
def answer_for_user(user)
|
|
answers.find_by(user: user)
|
|
end
|
|
|
|
def comments_for_verified_residents_only?
|
|
true
|
|
end
|
|
|
|
def comments_closed?
|
|
!comments_open?
|
|
end
|
|
|
|
def comments_open?
|
|
process.debate_phase.open?
|
|
end
|
|
end
|