Files
grecia/app/controllers/admin/poll/booth_assignments_controller.rb
Javi Martín db97f9d08c Add and apply rubocop rules for empty lines
We were very inconsistent regarding these rules.

Personally I prefer no empty lines around blocks, clases, etc... as
recommended by the Ruby style guide [1], and they're the default values
in rubocop, so those are the settings I'm applying.

The exception is the `private` access modifier, since we were leaving
empty lines around it most of the time. That's the default rubocop rule
as well. Personally I don't have a strong preference about this one.


[1] https://rubystyle.guide/#empty-lines-around-bodies
2019-10-24 17:11:47 +02:00

77 lines
2.0 KiB
Ruby

class Admin::Poll::BoothAssignmentsController < Admin::Poll::BaseController
before_action :load_poll, except: [:create, :destroy]
def index
@booth_assignments = @poll.booth_assignments.includes(:booth).order("poll_booths.name")
.page(params[:page]).per(50)
end
def search_booths
load_search
@booths = ::Poll::Booth.quick_search(@search)
respond_to do |format|
format.js
end
end
def show
included_relations = [:recounts, :voters, officer_assignments: [officer: [:user]]]
@booth_assignment = @poll.booth_assignments.includes(*included_relations).find(params[:id])
@voters_by_date = @booth_assignment.voters.group_by { |v| v.created_at.to_date }
@partial_results = @booth_assignment.partial_results
@recounts = @booth_assignment.recounts
end
def create
@poll = Poll.find(booth_assignment_params[:poll_id])
@booth = Poll::Booth.find(booth_assignment_params[:booth_id])
@booth_assignment = ::Poll::BoothAssignment.new(poll: @poll,
booth: @booth)
@booth_assignment.save!
respond_to do |format|
format.js { render layout: false }
end
end
def destroy
@poll = Poll.find(booth_assignment_params[:poll_id])
@booth = Poll::Booth.find(booth_assignment_params[:booth_id])
@booth_assignment = ::Poll::BoothAssignment.find(params[:id])
@booth_assignment.destroy!
respond_to do |format|
format.js { render layout: false }
end
end
def manage
@booths = ::Poll::Booth.all.order(name: :asc).page(params[:page]).per(300)
@poll = Poll.find(params[:poll_id])
end
private
def load_booth_assignment
@booth_assignment = ::Poll::BoothAssignment.find(params[:id])
end
def booth_assignment_params
params.permit(:booth_id, :poll_id)
end
def load_poll
@poll = ::Poll.find(params[:poll_id])
end
def search_params
params.permit(:poll_id, :search)
end
def load_search
@search = search_params[:search]
end
end