summaryrefslogtreecommitdiff
path: root/app/controllers/events_controller.rb
diff options
context:
space:
mode:
authorhukl <contact@smyck.org>2009-03-16 20:58:49 +0100
committerhukl <contact@smyck.org>2009-03-18 12:16:59 +0100
commitd2bfbfd2810fbee673e43b2515db8bac527b3441 (patch)
tree1b46e8af44c871290a7a74ab17a8c7201e22f7a9 /app/controllers/events_controller.rb
parentd957a33a0d50f00c1968c5d12e728bd73ea186b3 (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.rb85
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 @@
1class 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
85end