Merge pull request #1389 from consul/polls-answerable-by
Adds specs for Poll.answerable_by, fixing issue with SQL join
This commit is contained in:
@@ -3,7 +3,7 @@ class Officing::VotersController < Officing::BaseController
|
||||
|
||||
def new
|
||||
@user = User.find(params[:id])
|
||||
@polls = Poll.current # fix and use answerable_by(@user)
|
||||
@polls = Poll.answerable_by(@user)
|
||||
end
|
||||
|
||||
def create
|
||||
@@ -22,4 +22,4 @@ class Officing::VotersController < Officing::BaseController
|
||||
params.require(:voter).permit(:poll_id, :user_id)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@@ -41,7 +41,8 @@ class Poll < ActiveRecord::Base
|
||||
|
||||
def self.answerable_by(user)
|
||||
return none if user.nil? || user.unverified?
|
||||
current.joins(:geozones).where('geozone_restricted = ? or geozones.id = ?', false, user.geozone_id)
|
||||
current.joins('LEFT JOIN "geozones_polls" ON "geozones_polls"."poll_id" = "polls"."id"')
|
||||
.where('geozone_restricted = ? OR geozones_polls.geozone_id = ?', false, user.geozone_id)
|
||||
end
|
||||
|
||||
def votable_by?(user)
|
||||
|
||||
Reference in New Issue
Block a user