app/views/divisions/show_policies.html.haml
= render "header", division: @division
%h2 Related Policies
- unless @division.policies.empty?
%ul.division-policies-list.list-unstyled
- @division.policies.order(:name).each do |policy|
%li.division-policy
= simple_form_for :policy_division, url: update_policy_division_path(@division.url_params.merge(policy_id: policy)), method: :patch, html: {class: 'division-policy-statement form-inline policyvote'} do |f|
%label.division-policy-statement
People who are
= link_to policy.name_with_for, policy
- if policy.provisional?
%em (draft)
would have voted
= vote_select(f, policy.vote_for_division(@division))
= f.submit 'Update', class: 'btn btn-primary btn-xs'
= button_to 'remove', destroy_policy_division_path(@division.url_params.merge(policy_id: policy)), method: :delete, class: 'btn btn-sm btn-link'
%h3 Make a new connection
= simple_form_for @policy_division, url: create_policy_division_path(@division.url_params), html: {class: 'form-inline policyvote'} do |f|
%legend.small
%p Connect this division with relevant policies.
%p Please read policy definitions and the division’s description before altering list.
- if @policy_division.errors.any?
.alert.alert-danger= @policy_division.errors.full_messages.to_sentence
%fieldset
%label People who are for
= f.select :policy_id, nil, {prompt: "Select related policy"}, size: 1, class: "selectpicker", data: {width: "auto", "live-search" => true} do
%optgroup(label="Draft policies")
= options_from_collection_for_select(Policy.provisional.order(:name), "id", "name", disabled: @division.policies.map{|p| p.id})
%optgroup(label="Published policies")
= options_from_collection_for_select(Policy.published.order(:name), "id", "name", disabled: @division.policies.map{|p| p.id})
would have
%label voted
= vote_select(f, nil, prompt: "Select vote")
= f.submit 'Connect policy', class: 'btn btn-primary'