diff --git a/app/models/poll/officer_assignment.rb b/app/models/poll/officer_assignment.rb index e192780cc..398149977 100644 --- a/app/models/poll/officer_assignment.rb +++ b/app/models/poll/officer_assignment.rb @@ -3,6 +3,7 @@ class Poll belongs_to :officer belongs_to :booth_assignment has_one :recount + has_many :voters validates :officer_id, presence: true validates :booth_assignment_id, presence: true diff --git a/app/models/poll/voter.rb b/app/models/poll/voter.rb index ebf9d1475..087771a02 100644 --- a/app/models/poll/voter.rb +++ b/app/models/poll/voter.rb @@ -2,6 +2,7 @@ class Poll class Voter < ActiveRecord::Base belongs_to :poll belongs_to :booth_assignment + belongs_to :officer_assignment validates :poll, presence: true validates :document_number, presence: true, uniqueness: { scope: [:poll_id, :document_type], message: :has_voted } diff --git a/db/migrate/20170127173553_add_officer_assignment_to_votes.rb b/db/migrate/20170127173553_add_officer_assignment_to_votes.rb new file mode 100644 index 000000000..1942ef08f --- /dev/null +++ b/db/migrate/20170127173553_add_officer_assignment_to_votes.rb @@ -0,0 +1,5 @@ +class AddOfficerAssignmentToVotes < ActiveRecord::Migration + def change + add_column :poll_voters, :officer_assignment_id, :integer, default: nil + end +end diff --git a/db/schema.rb b/db/schema.rb index 290703e9e..b1b45d475 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170125114952) do +ActiveRecord::Schema.define(version: 20170127173553) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -461,14 +461,15 @@ ActiveRecord::Schema.define(version: 20170125114952) do create_table "poll_voters", force: :cascade do |t| t.string "document_number" t.string "document_type" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false - t.integer "poll_id", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.integer "poll_id", null: false t.integer "booth_assignment_id" t.integer "age" t.string "gender" t.integer "geozone_id" t.integer "answer_id" + t.integer "officer_assignment_id" end add_index "poll_voters", ["document_number"], name: "index_poll_voters_on_document_number", using: :btree diff --git a/spec/features/admin/poll/booth_assigments_spec.rb b/spec/features/admin/poll/booth_assigments_spec.rb index 96939aa47..28d612257 100644 --- a/spec/features/admin/poll/booth_assigments_spec.rb +++ b/spec/features/admin/poll/booth_assigments_spec.rb @@ -166,6 +166,5 @@ feature 'Admin booths assignments' do end end - end end \ No newline at end of file