-
Notifications
You must be signed in to change notification settings - Fork 492
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement track requests and add the track organizer role
About track requests: Create migration that adds the fields submitter_id, state, and cfp_active to Tracks Add validations and the self_organized? method to the Track model Create a new TracksController outide of the admin namespace Create the relevant views for index, show, new and edit Modify the admin views for tracks to include extra info for self-organized tracks About track organizers: Create the role when a self-organized track is created Define track organizer abilities Modify the roles views and controller to handle the new role The route for Roles#edit needs to have higher priority than the nested routes for track roles, otherwise, the word edit in the url is matched as a track with short_name edit
- Loading branch information
1 parent
98fc113
commit 68fc750
Showing
26 changed files
with
766 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
class TracksController < ApplicationController | ||
load_resource :conference, find_by: :short_title | ||
load_resource :program, through: :conference, singleton: true | ||
load_and_authorize_resource through: :program, find_by: :short_name | ||
|
||
def index | ||
@tracks = current_user.tracks.where(program: @program) | ||
end | ||
|
||
def show; end | ||
|
||
def new | ||
@track = @program.tracks.new(color: @conference.next_color_for_collection(:tracks)) | ||
end | ||
|
||
def edit; end | ||
|
||
def create | ||
@track = @program.tracks.new(track_params) | ||
@track.submitter = current_user | ||
@track.state = 'new' | ||
@track.cfp_active = false | ||
if @track.save | ||
redirect_to conference_program_tracks_path(conference_id: @conference.short_title), | ||
notice: 'Track request successfully created.' | ||
else | ||
flash.now[:error] = "Creating Track request failed: #{@track.errors.full_messages.join('. ')}." | ||
render :new | ||
end | ||
end | ||
|
||
def update | ||
if @track.update_attributes(track_params) | ||
redirect_to admin_conference_program_tracks_path(conference_id: @conference.short_title), | ||
notice: 'Track request successfully updated.' | ||
else | ||
flash.now[:error] = "Track request update failed: #{@track.errors.full_messages.join('. ')}." | ||
render :edit | ||
end | ||
end | ||
|
||
private | ||
|
||
def track_params | ||
params.require(:track).permit(:name, :description, :color, :short_name) | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.