Skip to content

Commit

Permalink
Members cannot create events for troops to which they don't belong
Browse files Browse the repository at this point in the history
  • Loading branch information
francois committed Nov 12, 2018
1 parent ad9e9f5 commit 02c1d1a
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 1 deletion.
1 change: 1 addition & 0 deletions app/controllers/events_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ def show
def new
@page_title = I18n.t("events.new.page_title")
@event = Event.new
@event.troop = current_member.troops.first if current_member.troops.size == 1
end

def edit
Expand Down
2 changes: 2 additions & 0 deletions app/models/member.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ class Member < ApplicationRecord
include HasSlug

belongs_to :group
has_many :memberships, dependent: :delete_all, autosave: true
has_many :troops, through: :memberships
has_many :sessions, dependent: :delete_all, autosave: true, class_name: "MemberSession"
has_many :domain_events, dependent: :delete_all, autosave: true, as: :model

Expand Down
6 changes: 5 additions & 1 deletion app/views/events/_form.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,11 @@
<div class="grid-x grid-margin-x">
<div class="small-12 cell">
<%= form.label :troop_id %>
<%= form.select :troop_id, options_from_collection_for_select(current_group.troops.sort_by(&:sort_key), :id, :name, @event.troop_id), include_blank: true %>
<% if current_member.inventory_director? %>
<%= form.select :troop_id, options_from_collection_for_select(current_group.troops.sort_by(&:sort_key), :id, :name, @event.troop_id), include_blank: true %>
<% else %>
<%= form.select :troop_id, options_from_collection_for_select(current_member.troops.sort_by(&:sort_key), :id, :name, @event.troop_id), include_blank: true %>
<% end %>
</div>
</fieldset>

Expand Down

0 comments on commit 02c1d1a

Please sign in to comment.