Scope event operations to the current conference #16

Merged
ignisf merged 2 commits from scoped-events into 2.0 2015-07-19 15:02:16 +03:00
2 changed files with 8 additions and 6 deletions

View File

@ -2,23 +2,22 @@ module Management
class EventsController < ManagementController
def index
@conference = find_conference
# TODO (2015-07-14) Scoped by conference? Why no conference_id
@events = Event.approved
@events = @conference.events.approved
end
def show
@conference = find_conference
@event = Event.find(params[:id])
@event = @conference.events.find(params[:id])
end
def edit
@conference = find_conference
@event = Event.find(params[:id])
@event = @conference.events.find(params[:id])
end
def update
@conference = find_conference
@event = Event.find(params[:id])
@event = @conference.events.find(params[:id])
if @event.update_attributes(event_params)
flash[:notice] = 'Event was successfully updated.'
@ -30,7 +29,7 @@ module Management
def destroy
@conference = find_conference
@event = Event.find(params[:id])
@event = @conference.events.find(params[:id])
@event.destroy
redirect_to action: :index

View File

@ -1,6 +1,9 @@
class Event < ActiveRecord::Base
include Proposable
has_one :track, through: :proposition, source: :proposition_accepting, source_type: Track
has_one :conference, through: :track
validates :title, presence: true
validates :length, presence: true, numericality: {only_integer: true, greater_than: 0}
validates :abstract, presence: true