extracts booth_assignment from admin's poll/show

This commit is contained in:
Juanjo Bazán
2017-02-14 13:00:19 +01:00
parent 22d9c17ab4
commit 20e31133a8
16 changed files with 156 additions and 133 deletions

View File

@@ -1,31 +1,44 @@
class Admin::Poll::BoothAssignmentsController < Admin::BaseController
before_action :load_poll, except: [:create, :destroy]
def index
@booth_assignments = @poll.booth_assignments.includes(:booth)
end
def search_booths
load_search
@booths = ::Poll::Booth.search(@search)
respond_to do |format|
format.js
end
end
def show
@booth_assignment = @poll.booth_assignments.includes(:recounts, :final_recounts, :voters, officer_assignments: [officer: [:user]]).find(params[:id])
@voters_by_date = @booth_assignment.voters.group_by {|v| v.created_at.to_date}
end
def create
@booth_assignment = ::Poll::BoothAssignment.new(poll_id: booth_assignment_params[:poll], booth_id: booth_assignment_params[:booth])
if @booth_assignment.save
notice = t("admin.booth_assignments.flash.create")
notice = t("admin.poll_booth_assignments.flash.create")
else
notice = t("admin.booth_assignments.flash.error_create")
notice = t("admin.poll_booth_assignments.flash.error_create")
end
redirect_to admin_poll_path(@booth_assignment.poll_id, anchor: 'tab-booths'), notice: notice
redirect_to admin_poll_booth_assignments_path(@booth_assignment.poll_id), notice: notice
end
def destroy
@booth_assignment = ::Poll::BoothAssignment.find(params[:id])
if @booth_assignment.destroy
notice = t("admin.booth_assignments.flash.destroy")
notice = t("admin.poll_booth_assignments.flash.destroy")
else
notice = t("admin.booth_assignments.flash.error_destroy")
notice = t("admin.poll_booth_assignments.flash.error_destroy")
end
redirect_to admin_poll_path(@booth_assignment.poll_id, anchor: 'tab-booths'), notice: notice
end
def show
@poll = ::Poll.find(params[:poll_id])
@booth_assignment = @poll.booth_assignments.includes(:recounts, :final_recounts, :voters, officer_assignments: [officer: [:user]]).find(params[:id])
@voters_by_date = @booth_assignment.voters.group_by {|v| v.created_at.to_date}
redirect_to admin_poll_booth_assignments_path(@booth_assignment.poll_id), notice: notice
end
private
@@ -38,4 +51,16 @@ class Admin::Poll::BoothAssignmentsController < Admin::BaseController
params.permit(:booth, :poll)
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