restricts access to residence validations to assigned officers

This commit is contained in:
Juanjo Bazán
2017-02-03 10:43:03 +01:00
parent de4a7a6b39
commit b88de40ebe
6 changed files with 109 additions and 57 deletions

View File

@@ -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

View File

@@ -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 %>