From 26687eaf7400aea5d569f99e880ac3949982f303 Mon Sep 17 00:00:00 2001 From: erdgeist Date: Tue, 10 Mar 2009 21:03:52 +0100 Subject: added calendar backend. more features and integration to come --- app/controllers/events_controller.rb | 85 ++++++++++++++++++++++++++++++++++++ app/helpers/events_helper.rb | 2 + app/models/event.rb | 2 + app/views/events/edit.html.erb | 16 +++++++ app/views/events/index.html.erb | 20 +++++++++ app/views/events/new.html.erb | 15 +++++++ app/views/events/show.html.erb | 8 ++++ app/views/layouts/events.html.erb | 17 ++++++++ 8 files changed, 165 insertions(+) create mode 100644 app/controllers/events_controller.rb create mode 100644 app/helpers/events_helper.rb create mode 100644 app/models/event.rb create mode 100644 app/views/events/edit.html.erb create mode 100644 app/views/events/index.html.erb create mode 100644 app/views/events/new.html.erb create mode 100644 app/views/events/show.html.erb create mode 100644 app/views/layouts/events.html.erb (limited to 'app') diff --git a/app/controllers/events_controller.rb b/app/controllers/events_controller.rb new file mode 100644 index 0000000..063b7a1 --- /dev/null +++ b/app/controllers/events_controller.rb @@ -0,0 +1,85 @@ +class EventsController < ApplicationController + # GET /events + # GET /events.xml + def index + @events = Event.find(:all) + + respond_to do |format| + format.html # index.html.erb + format.xml { render :xml => @events } + end + end + + # GET /events/1 + # GET /events/1.xml + def show + @event = Event.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.xml { render :xml => @event } + end + end + + # GET /events/new + # GET /events/new.xml + def new + @event = Event.new + + respond_to do |format| + format.html # new.html.erb + format.xml { render :xml => @event } + end + end + + # GET /events/1/edit + def edit + @event = Event.find(params[:id]) + end + + # POST /events + # POST /events.xml + def create + @event = Event.new(params[:event]) + + respond_to do |format| + if @event.save + flash[:notice] = 'Event was successfully created.' + format.html { redirect_to(@event) } + format.xml { render :xml => @event, :status => :created, :location => @event } + else + format.html { render :action => "new" } + format.xml { render :xml => @event.errors, :status => :unprocessable_entity } + end + end + end + + # PUT /events/1 + # PUT /events/1.xml + def update + @event = Event.find(params[:id]) + + respond_to do |format| + if @event.update_attributes(params[:event]) + flash[:notice] = 'Event was successfully updated.' + format.html { redirect_to(@event) } + format.xml { head :ok } + else + format.html { render :action => "edit" } + format.xml { render :xml => @event.errors, :status => :unprocessable_entity } + end + end + end + + # DELETE /events/1 + # DELETE /events/1.xml + def destroy + @event = Event.find(params[:id]) + @event.destroy + + respond_to do |format| + format.html { redirect_to(events_url) } + format.xml { head :ok } + end + end +end diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb new file mode 100644 index 0000000..8a9a878 --- /dev/null +++ b/app/helpers/events_helper.rb @@ -0,0 +1,2 @@ +module EventsHelper +end diff --git a/app/models/event.rb b/app/models/event.rb new file mode 100644 index 0000000..3a829fd --- /dev/null +++ b/app/models/event.rb @@ -0,0 +1,2 @@ +class Event < ActiveRecord::Base +end diff --git a/app/views/events/edit.html.erb b/app/views/events/edit.html.erb new file mode 100644 index 0000000..244f35f --- /dev/null +++ b/app/views/events/edit.html.erb @@ -0,0 +1,16 @@ +

Editing event

+ +<% form_for(@event) do |f| %> + <%= f.error_messages %> + +

+ <%= f.label :serialized_event %>
+ <%= f.text_area :serialized_event %> +

+

+ <%= f.submit "Update" %> +

+<% end %> + +<%= link_to 'Show', @event %> | +<%= link_to 'Back', events_path %> diff --git a/app/views/events/index.html.erb b/app/views/events/index.html.erb new file mode 100644 index 0000000..ad0ca8d --- /dev/null +++ b/app/views/events/index.html.erb @@ -0,0 +1,20 @@ +

Listing events

+ + + + + + +<% for event in @events %> + + + + + + +<% end %> +
Serialized event
<%=h event.serialized_event %><%= link_to 'Show', event %><%= link_to 'Edit', edit_event_path(event) %><%= link_to 'Destroy', event, :confirm => 'Are you sure?', :method => :delete %>
+ +
+ +<%= link_to 'New event', new_event_path %> diff --git a/app/views/events/new.html.erb b/app/views/events/new.html.erb new file mode 100644 index 0000000..44f4bb4 --- /dev/null +++ b/app/views/events/new.html.erb @@ -0,0 +1,15 @@ +

New event

+ +<% form_for(@event) do |f| %> + <%= f.error_messages %> + +

+ <%= f.label :serialized_event %>
+ <%= f.text_area :serialized_event %> +

+

+ <%= f.submit "Create" %> +

+<% end %> + +<%= link_to 'Back', events_path %> diff --git a/app/views/events/show.html.erb b/app/views/events/show.html.erb new file mode 100644 index 0000000..ad9c582 --- /dev/null +++ b/app/views/events/show.html.erb @@ -0,0 +1,8 @@ +

+ Serialized event: + <%=h @event.serialized_event %> +

+ + +<%= link_to 'Edit', edit_event_path(@event) %> | +<%= link_to 'Back', events_path %> diff --git a/app/views/layouts/events.html.erb b/app/views/layouts/events.html.erb new file mode 100644 index 0000000..6201c57 --- /dev/null +++ b/app/views/layouts/events.html.erb @@ -0,0 +1,17 @@ + + + + + + Events: <%= controller.action_name %> + <%= stylesheet_link_tag 'scaffold' %> + + + +

<%= flash[:notice] %>

+ +<%= yield %> + + + -- cgit v1.3