diff options
Diffstat (limited to 'app/controllers/events_controller.rb')
| -rw-r--r-- | app/controllers/events_controller.rb | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/app/controllers/events_controller.rb b/app/controllers/events_controller.rb index f50da3e..be3f547 100644 --- a/app/controllers/events_controller.rb +++ b/app/controllers/events_controller.rb | |||
| @@ -9,18 +9,24 @@ class EventsController < ApplicationController | |||
| 9 | # GET /events | 9 | # GET /events |
| 10 | # GET /events.xml | 10 | # GET /events.xml |
| 11 | def index | 11 | def index |
| 12 | @events = Event.all | 12 | @events = Event.order(:id) |
| 13 | 13 | ||
| 14 | respond_to do |format| | 14 | respond_to do |format| |
| 15 | format.html # index.html.erb | 15 | format.html { @events = @events.paginate(page: params[:page], per_page: 25) } |
| 16 | format.xml { render :xml => @events } | 16 | format.xml { render :xml => @events } |
| 17 | end | 17 | end |
| 18 | end | 18 | end |
| 19 | 19 | ||
| 20 | # GET /events/without_node | ||
| 21 | def without_node | ||
| 22 | @events = Event.where(node_id: nil).order(:start_time).paginate(page: params[:page], per_page: 25) | ||
| 23 | end | ||
| 24 | |||
| 20 | # GET /events/1 | 25 | # GET /events/1 |
| 21 | # GET /events/1.xml | 26 | # GET /events/1.xml |
| 22 | def show | 27 | def show |
| 23 | @event = Event.find(params[:id]) | 28 | @event = Event.find(params[:id]) |
| 29 | @return_to = params[:return_to] || events_path | ||
| 24 | 30 | ||
| 25 | respond_to do |format| | 31 | respond_to do |format| |
| 26 | format.html # show.html.erb | 32 | format.html # show.html.erb |
| @@ -31,7 +37,14 @@ class EventsController < ApplicationController | |||
| 31 | # GET /events/new | 37 | # GET /events/new |
| 32 | # GET /events/new.xml | 38 | # GET /events/new.xml |
| 33 | def new | 39 | def new |
| 34 | @event = Event.new(:node_id => params[:node_id]) | 40 | @event = Event.new( |
| 41 | node_id: params[:node_id], | ||
| 42 | tag_list: params[:tag_list] | ||
| 43 | ) | ||
| 44 | |||
| 45 | if params[:tag_list].present? && params[:auto_tag_source].present? | ||
| 46 | flash.now[:notice] = "Tag '#{params[:tag_list]}' was pre-filled because this page is tagged '#{params[:auto_tag_source]}'. You can remove it below." | ||
| 47 | end | ||
| 35 | 48 | ||
| 36 | respond_to do |format| | 49 | respond_to do |format| |
| 37 | format.html # new.html.erb | 50 | format.html # new.html.erb |
| @@ -53,7 +66,7 @@ class EventsController < ApplicationController | |||
| 53 | respond_to do |format| | 66 | respond_to do |format| |
| 54 | if @event.save | 67 | if @event.save |
| 55 | flash[:notice] = 'Event was successfully created.' | 68 | flash[:notice] = 'Event was successfully created.' |
| 56 | format.html { redirect_to(@event.node ? edit_node_path(@event.node) : edit_event_path(@event)) } | 69 | format.html { redirect_to(safe_return_to(params[:return_to] || (@event.node ? edit_node_path(@event.node) : edit_event_path(@event)))) } |
| 57 | format.xml { render :xml => @event, :status => :created, :location => @event } | 70 | format.xml { render :xml => @event, :status => :created, :location => @event } |
| 58 | else | 71 | else |
| 59 | format.html { render :action => "new" } | 72 | format.html { render :action => "new" } |
| @@ -94,6 +107,6 @@ class EventsController < ApplicationController | |||
| 94 | private | 107 | private |
| 95 | 108 | ||
| 96 | def event_params | 109 | def event_params |
| 97 | params.require(:event).permit(:start_time, :end_time, :rrule, :custom_rrule, :allday, :url, :latitude, :longitude, :node_id, :location) | 110 | params.require(:event).permit(:title, :description, :start_time, :end_time, :rrule, :allday, :url, :latitude, :longitude, :node_id, :location, :tag_list) |
| 98 | end | 111 | end |
| 99 | end | 112 | end |
