Skip to content

Commit

Permalink
still working
Browse files Browse the repository at this point in the history
  • Loading branch information
Dan Engle committed Aug 13, 2009
1 parent f58dc64 commit 7a10fbe
Show file tree
Hide file tree
Showing 75 changed files with 6,962 additions and 18 deletions.
11 changes: 11 additions & 0 deletions app/controllers/application_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,15 @@ class ApplicationController < ActionController::Base

# Scrub sensitive parameters from your log
# filter_parameter_logging :password
include AuthenticatedSystem

# before_filter :get_page

private

def get_page
if logged_in?
@todays_page ||= current_user.pages.create!
end
end
end
96 changes: 96 additions & 0 deletions app/controllers/experiments_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
class ExperimentsController < ApplicationController

before_filter :get_project
# GET /experiments
# GET /experiments.xml
def index
@experiments = Experiment.all

respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @experiments }
end
end

# GET /experiments/1
# GET /experiments/1.xml
def show
@experiment = Experiment.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @experiment }
end
end

# GET /experiments/new
# GET /experiments/new.xml
def new
@experiment = Experiment.new

respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @experiment }
end
end

# GET /experiments/1/edit
def edit
@experiment = Experiment.find(params[:id])
end

# POST /experiments
# POST /experiments.xml
def create
@experiment = @project.experiments.new(params[:experiment])
@experiment.user_id = current_user.id
respond_to do |format|
if @experiment.save
@page_item = current_user.todays_page.page_items.new
@page_item.resource = @experiment
@page_item.save
flash[:notice] = 'Experiment was successfully created.'
format.html { redirect_to([@project,@experiment]) }
format.xml { render :xml => @experiment, :status => :created, :location => @experiment }
else
format.html { render :action => "new" }
format.xml { render :xml => @experiment.errors, :status => :unprocessable_entity }
end
end
end

# PUT /experiments/1
# PUT /experiments/1.xml
def update
@experiment = @project.experiments.find(params[:id])

respond_to do |format|
if @experiment.update_attributes(params[:experiment])
flash[:notice] = 'Experiment was successfully updated.'
format.html { redirect_to([@project,@experiment]) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @experiment.errors, :status => :unprocessable_entity }
end
end
end

# DELETE /experiments/1
# DELETE /experiments/1.xml
def destroy
@experiment = Experiment.find(params[:id])
@experiment.destroy

respond_to do |format|
format.html { redirect_to(experiments_url) }
format.xml { head :ok }
end
end

protected

def get_project
@project = current_user.projects.find(params[:project_id])
end
end
5 changes: 5 additions & 0 deletions app/controllers/notebook_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class NotebookController < ApplicationController
def index
end

end
97 changes: 97 additions & 0 deletions app/controllers/notes_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
class NotesController < ApplicationController

before_filter :get_project_and_experiment
# GET /notes
# GET /notes.xml
def index
@notes = Note.all

respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @notes }
end
end

# GET /notes/1
# GET /notes/1.xml
def show
@note = Note.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @note }
end
end

# GET /notes/new
# GET /notes/new.xml
def new
@note = Note.new

respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @note }
end
end

# GET /notes/1/edit
def edit
@note = Note.find(params[:id])
end

# POST /notes
# POST /notes.xml
def create
@note = @experiment.notes.new(params[:note])

respond_to do |format|
if @note.save
@page_item = current_user.todays_page.page_items.new
@page_item.resource = @note
@page_item.save
flash[:notice] = 'Note was successfully created.'
format.html { redirect_to([@project, @experiment]) }
format.xml { render :xml => @note, :status => :created, :location => @note }
else
format.html { render :action => "new" }
format.xml { render :xml => @note.errors, :status => :unprocessable_entity }
end
end
end

# PUT /notes/1
# PUT /notes/1.xml
def update
@note = Note.find(params[:id])

respond_to do |format|
if @note.update_attributes(params[:note])
flash[:notice] = 'Note was successfully updated.'
format.html { redirect_to(@note) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @note.errors, :status => :unprocessable_entity }
end
end
end

# DELETE /notes/1
# DELETE /notes/1.xml
def destroy
@note = Note.find(params[:id])
@note.destroy

respond_to do |format|
format.html { redirect_to(notes_url) }
format.xml { head :ok }
end
end

private

def get_project_and_experiment
@project = Project.find(params[:project_id])
@experiment = @project.experiments.find(params[:experiment_id]) if params[:experiment_id]
end
end
9 changes: 9 additions & 0 deletions app/controllers/pages_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
class PagesController < ApplicationController
def index
end

def show
@page = current_user.pages.find_by_page_date(params[:date])
end

end
89 changes: 89 additions & 0 deletions app/controllers/projects_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
class ProjectsController < ApplicationController
# GET /projects
# GET /projects.xml
def index
@projects = Project.all

respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @projects }
end
end

# GET /projects/1
# GET /projects/1.xml
def show
@project = Project.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @project }
end
end

# GET /projects/new
# GET /projects/new.xml
def new
@project = Project.new

respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @project }
end
end

# GET /projects/1/edit
def edit
@project = Project.find(params[:id])
end

# POST /projects
# POST /projects.xml
def create
@project = Project.new(params[:project])

respond_to do |format|
if @project.save
current_user.projects << @project
@page_item = current_user.todays_page.page_items.new
@page_item.resource = @project
@page_item.save
flash[:notice] = 'Project was successfully created.'
format.html { redirect_to(@project) }
format.xml { render :xml => @project, :status => :created, :location => @project }
else
format.html { render :action => "new" }
format.xml { render :xml => @project.errors, :status => :unprocessable_entity }
end
end
end

# PUT /projects/1
# PUT /projects/1.xml
def update
@project = Project.find(params[:id])

respond_to do |format|
if @project.update_attributes(params[:project])
flash[:notice] = 'Project was successfully updated.'
format.html { redirect_to(@project) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @project.errors, :status => :unprocessable_entity }
end
end
end

# DELETE /projects/1
# DELETE /projects/1.xml
def destroy
@project = Project.find(params[:id])
@project.destroy

respond_to do |format|
format.html { redirect_to(projects_url) }
format.xml { head :ok }
end
end
end
4 changes: 1 addition & 3 deletions app/controllers/sessions_controller.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# This controller handles the login/logout function of the site.
class SessionsController < ApplicationController
# Be sure to include AuthenticationSystem in Application Controller instead
include AuthenticatedSystem

# render new.rhtml
def new
Expand All @@ -18,7 +16,7 @@ def create
self.current_user = user
new_cookie_flag = (params[:remember_me] == "1")
handle_remember_cookie! new_cookie_flag
redirect_back_or_default('/')
redirect_back_or_default(:controller => 'notebook', :action => 'index')
flash[:notice] = "Logged in successfully"
else
note_failed_signin
Expand Down
2 changes: 0 additions & 2 deletions app/controllers/users_controller.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
class UsersController < ApplicationController
# Be sure to include AuthenticationSystem in Application Controller instead
include AuthenticatedSystem

# Protect these actions behind an admin login
# before_filter :admin_required, :only => [:suspend, :unsuspend, :destroy, :purge]
Expand Down
5 changes: 5 additions & 0 deletions app/controllers/welcome_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class WelcomeController < ApplicationController
def index
end

end
9 changes: 9 additions & 0 deletions app/helpers/application_helper.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
# Methods added to this helper will be available to all templates in the application.
module ApplicationHelper

def item_text(item)
case item.class.to_s
when "Note"
item.body
else
item.description
end
end
end
2 changes: 2 additions & 0 deletions app/helpers/experiments_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module ExperimentsHelper
end
2 changes: 2 additions & 0 deletions app/helpers/notebook_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module NotebookHelper
end
2 changes: 2 additions & 0 deletions app/helpers/notes_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module NotesHelper
end
2 changes: 2 additions & 0 deletions app/helpers/pages_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module PagesHelper
end
2 changes: 2 additions & 0 deletions app/helpers/projects_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module ProjectsHelper
end
2 changes: 2 additions & 0 deletions app/helpers/welcome_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module WelcomeHelper
end
6 changes: 6 additions & 0 deletions app/models/experiment.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class Experiment < ActiveRecord::Base
belongs_to :project
belongs_to :user
has_many :notes, :dependent => :destroy
has_one :page_item, :as => :resource
end
4 changes: 4 additions & 0 deletions app/models/note.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
class Note < ActiveRecord::Base
belongs_to :experiment
has_one :page_item, :as => :resource
end
8 changes: 8 additions & 0 deletions app/models/page.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
class Page < ActiveRecord::Base
belongs_to :user
has_many :page_items, :order => "created_at ASC", :dependent => :destroy

validates_presence_of :user_id, :page_date

validates_uniqueness_of :page_date, :scope => :user_id
end
Loading

0 comments on commit 7a10fbe

Please sign in to comment.