restricts access to residence validations to assigned officers
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
class Officing::ResidenceController < Officing::BaseController
|
||||
|
||||
before_action :load_officer_assignment
|
||||
before_action :validate_officer_assignment, only: :create
|
||||
|
||||
def new
|
||||
@residence = Officing::Residence.new
|
||||
end
|
||||
@@ -18,4 +21,17 @@ class Officing::ResidenceController < Officing::BaseController
|
||||
def residence_params
|
||||
params.require(:residence).permit(:document_number, :document_type, :year_of_birth)
|
||||
end
|
||||
|
||||
def load_officer_assignment
|
||||
@officer_assignments = current_user.poll_officer.
|
||||
officer_assignments.
|
||||
voting_days.
|
||||
where(date: Time.current.to_date)
|
||||
end
|
||||
|
||||
def validate_officer_assignment
|
||||
if @officer_assignments.blank?
|
||||
redirect_to officing_root_path, notice: t("officing.residence.flash.not_allowed")
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,25 +1,31 @@
|
||||
<h2><%= t("officing.residence.new.title") %></h2>
|
||||
|
||||
<div class="row verification account">
|
||||
<div class="small-12 medium-8 column">
|
||||
<%= form_for @residence, as: "residence", url: officing_residence_path do |f| %>
|
||||
<%= render "errors" %>
|
||||
<% if @officer_assignments.present? %>
|
||||
<div class="row verification account">
|
||||
<div class="small-12 medium-8 column">
|
||||
<%= form_for @residence, as: "residence", url: officing_residence_path do |f| %>
|
||||
<%= render "errors" %>
|
||||
|
||||
<div class="small-12 medium-6">
|
||||
<%= f.select :document_type, document_types, prompt: "" %>
|
||||
<div class="small-12 medium-6">
|
||||
<%= f.select :document_type, document_types, prompt: "" %>
|
||||
|
||||
|
||||
<%= f.text_field :document_number,
|
||||
placeholder: t("officing.residence.new.document_number") %>
|
||||
</div>
|
||||
<%= f.text_field :document_number,
|
||||
placeholder: t("officing.residence.new.document_number") %>
|
||||
</div>
|
||||
|
||||
<div class="date-of-birth small-12 medium-6">
|
||||
<%= f.text_field :year_of_birth %>
|
||||
</div>
|
||||
<div class="date-of-birth small-12 medium-6">
|
||||
<%= f.text_field :year_of_birth %>
|
||||
</div>
|
||||
|
||||
<div class="small-12 medium-6">
|
||||
<input type="submit" value="<%= t("officing.residence.new.submit") %>" class="button expanded">
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="small-12 medium-6">
|
||||
<input type="submit" value="<%= t("officing.residence.new.submit") %>" class="button expanded">
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% else %>
|
||||
<div class="callout primary">
|
||||
<%= t("officing.residence.new.no_assignments") %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
Reference in New Issue
Block a user