diff options
| author | hukl <contact@smyck.org> | 2009-03-16 20:58:49 +0100 |
|---|---|---|
| committer | hukl <contact@smyck.org> | 2009-03-18 12:16:59 +0100 |
| commit | d2bfbfd2810fbee673e43b2515db8bac527b3441 (patch) | |
| tree | 1b46e8af44c871290a7a74ab17a8c7201e22f7a9 /app/controllers/events_controller.rb | |
| parent | d957a33a0d50f00c1968c5d12e728bd73ea186b3 (diff) | |
Refactored Chaos Calendar by wrapping libical and introducing event and occurrence model. More improvements to come. Enables us to create events with reoccurrence and intervals etc.
Diffstat (limited to 'app/controllers/events_controller.rb')
| -rw-r--r-- | app/controllers/events_controller.rb | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/app/controllers/events_controller.rb b/app/controllers/events_controller.rb new file mode 100644 index 0000000..c25c73f --- /dev/null +++ b/app/controllers/events_controller.rb | |||
| @@ -0,0 +1,85 @@ | |||
| 1 | class EventsController < ApplicationController | ||
| 2 | # GET /events | ||
| 3 | # GET /events.xml | ||
| 4 | def index | ||
| 5 | @events = Event.all | ||
| 6 | |||
| 7 | respond_to do |format| | ||
| 8 | format.html # index.html.erb | ||
| 9 | format.xml { render :xml => @events } | ||
| 10 | end | ||
| 11 | end | ||
| 12 | |||
| 13 | # GET /events/1 | ||
| 14 | # GET /events/1.xml | ||
| 15 | def show | ||
| 16 | @event = Event.find(params[:id]) | ||
| 17 | |||
| 18 | respond_to do |format| | ||
| 19 | format.html # show.html.erb | ||
| 20 | format.xml { render :xml => @event } | ||
| 21 | end | ||
| 22 | end | ||
| 23 | |||
| 24 | # GET /events/new | ||
| 25 | # GET /events/new.xml | ||
| 26 | def new | ||
| 27 | @event = Event.new | ||
| 28 | |||
| 29 | respond_to do |format| | ||
| 30 | format.html # new.html.erb | ||
| 31 | format.xml { render :xml => @event } | ||
| 32 | end | ||
| 33 | end | ||
| 34 | |||
| 35 | # GET /events/1/edit | ||
| 36 | def edit | ||
| 37 | @event = Event.find(params[:id]) | ||
| 38 | end | ||
| 39 | |||
| 40 | # POST /events | ||
| 41 | # POST /events.xml | ||
| 42 | def create | ||
| 43 | @event = Event.new(params[:event]) | ||
| 44 | |||
| 45 | respond_to do |format| | ||
| 46 | if @event.save | ||
| 47 | flash[:notice] = 'Event was successfully created.' | ||
| 48 | format.html { redirect_to(@event) } | ||
| 49 | format.xml { render :xml => @event, :status => :created, :location => @event } | ||
| 50 | else | ||
| 51 | format.html { render :action => "new" } | ||
| 52 | format.xml { render :xml => @event.errors, :status => :unprocessable_entity } | ||
| 53 | end | ||
| 54 | end | ||
| 55 | end | ||
| 56 | |||
| 57 | # PUT /events/1 | ||
| 58 | # PUT /events/1.xml | ||
| 59 | def update | ||
| 60 | @event = Event.find(params[:id]) | ||
| 61 | |||
| 62 | respond_to do |format| | ||
| 63 | if @event.update_attributes(params[:event]) | ||
| 64 | flash[:notice] = 'Event was successfully updated.' | ||
| 65 | format.html { redirect_to(@event) } | ||
| 66 | format.xml { head :ok } | ||
| 67 | else | ||
| 68 | format.html { render :action => "edit" } | ||
| 69 | format.xml { render :xml => @event.errors, :status => :unprocessable_entity } | ||
| 70 | end | ||
| 71 | end | ||
| 72 | end | ||
| 73 | |||
| 74 | # DELETE /events/1 | ||
| 75 | # DELETE /events/1.xml | ||
| 76 | def destroy | ||
| 77 | @event = Event.find(params[:id]) | ||
| 78 | @event.destroy | ||
| 79 | |||
| 80 | respond_to do |format| | ||
| 81 | format.html { redirect_to(events_url) } | ||
| 82 | format.xml { head :ok } | ||
| 83 | end | ||
| 84 | end | ||
| 85 | end | ||
