Skip to content

Commit

Permalink
Finished course
Browse files Browse the repository at this point in the history
  • Loading branch information
sunnyboy committed Dec 19, 2010
1 parent f4770d1 commit 7595c5f
Show file tree
Hide file tree
Showing 40 changed files with 617 additions and 194 deletions.
4 changes: 4 additions & 0 deletions RimmerTShirts.txt
@@ -0,0 +1,4 @@
---
- " Give Quiche A Chance"
- " Mutants Out!"
- " Chameleonic Life-Forms, No Thanks"
19 changes: 13 additions & 6 deletions app/controllers/access_controller.rb
Expand Up @@ -2,19 +2,18 @@ class AccessController < ApplicationController

layout "admin"

before_filter :confirm_logged_in, :except=>[:login, :attempt_login, :logout]
before_filter :confirm_logged_in, :except => [:login, :attempt_login, :logout]

def index
menu
render ("menu")
end

def menu
# display text and links
end

def login
# login form
end

def attempt_login
authorized_user=AdminUser.authenticate(params[:username], params[:password])
if authorized_user
Expand All @@ -27,12 +26,20 @@ def attempt_login
redirect_to(:action => "login")
end
end

def logout
session[:user_id] = nil
session[:username] = nil
flash[:notice]="You have been logged out."
redirect_to(:action=>"login")
end

private
def confirm_logged_in
unless session[:user_id]
flash[:notice] = "Please log in."
redirect_to(:action => "login")
return false # halts the before filter
else
return true
end
end
end
8 changes: 1 addition & 7 deletions app/controllers/admin_users_controller.rb
@@ -1,20 +1,18 @@
class AdminUsersController < ApplicationController

layout "admin"
before_filter :confirm_logged_in

def index
list
render("list")
end

def list
@admin_users=AdminUser.sorted
end

def new
@admin_user=AdminUser.new
end

def create
@admin_user=AdminUser.new(params[:admin_user])
if @admin_user.save
Expand All @@ -24,11 +22,9 @@ def create
render("new")
end
end

def edit
@admin_user=AdminUser.find(params[:id])
end

def update
@admin_user=AdminUser.find(params[:id])
if @admin_user.update_attributes(params[:admin_user])
Expand All @@ -38,11 +34,9 @@ def update
render("edit")
end
end

def delete
@admin_user=AdminUser.find(params[:id])
end

def destroy
AdminUser.find(params[:id]).destroy
flash[:notice]="Admin user was destroyed."
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/application_controller.rb
@@ -1,7 +1,7 @@
class ApplicationController < ActionController::Base
protect_from_forgery

protected # pristupne tomuto Classu a vsetkym pod Classom
protected # pristupne tomuto Classu a vsetkym sub-Classom
def confirm_logged_in
unless session[:user_id]
flash[:notice]="Please log in"
Expand Down
55 changes: 33 additions & 22 deletions app/controllers/pages_controller.rb
@@ -1,72 +1,83 @@
class PagesController < ApplicationController

layout "admin" # Oznamujem kontroleru, ze ma pouzivat layout "admin"

before_filter :confirm_logged_in, :except=>[:login, :attempt_login, :logout]
before_filter :confirm_logged_in
before_filter :find_subject

def index
list
render("list")
end

def list
@pages = Page.order("pages.position ASC")
if params[:subject_id]
@pages = Page.sorted.where(:subject_id => @subject.id)
else
@pages = Page.order("pages.position ASC")
end
end

def show
@page = Page.find(params[:id])
end

def new
@page = Page.new(:name => "")
@page_count = Page.count + 1
@page = Page.new(:name => "", :subject_id => @subject.id)
@page_count = @subject.pages.size + 1
@subjects = Subject.order("position ASC")
end

def create
new_position = params[:page].delete(:position)
# Instantiate a new object using form parameters
@page = Page.new(params[:page])
# Save the object
if @page.save
@page.move_to_position(new_position)
# If the save succeeds, redirect to the list action
flash[:notice]="Page created successfuly."
redirect_to(:action=>"list")
redirect_to(:action=>"list", :id => @page.id, :subject_id => @page.subject_id)
# :subject_id => @page.subject_id zachova parameter subject_id pri prechode kontrolermy
else
# If save fails, redisplay the form so that user can fix the problems
@page_count = Page.count + 1
@page_count = @subject.pages.size + 1
render("new")
end
end

def edit
@page = Page.find(params[:id])
@page_count = Page.count
@page = Page.find(params[:id])
@page_count = @subject.pages.size
@subjects = Subject.order("position ASC")
end

def update
# Find object using form parameters
@page = Page.find(params[:id])
new_position = params[:page].delete(:position)
# Update the object
if @page.update_attributes(params[:page])
@page.move_to_position(new_position)
# If the update succeeds, redirect to the list action
flash[:notice]="Page updated successfuly"
redirect_to(:action=>"list")
redirect_to(:action=>"list", :id => @page.id, :subject_id => @page.subject_id)
# Or redirect show action
# redirect_to(:action=>"show", :id=>@page.id)
else
# If update fails, redisplay the form so that user can fix the problems
@page_count = Page.count
@page_count = @subject.pages.size
@subjects = Subject.order("position ASC")
render("edit")
end
end

def delete
@page = Page.find(params[:id])
end

def destroy
Page.find(params[:id]).destroy
page = Page.find(params[:id])
page.move_to_position(nil)
page.destroy
flash[:notice]="Page destroyed successfuly"
redirect_to(:action=>"list")
redirect_to(:action=>"list", :id => @page.id, :subject_id => @subject.id)
end
private
def find_subject
if params[:subject_id]
@subject = Subject.find_by_id(params[:subject_id])
end
end

end
18 changes: 18 additions & 0 deletions app/controllers/public_controller.rb
@@ -0,0 +1,18 @@
class PublicController < ApplicationController

layout "public"
before_filter :setup_navigation

def index
# intro text, landing page
end
def show
@page = Page.where(:permalink => params[:id], :visible => true ).first
redirect_to(:action => 'index') unless @page
end
private
def setup_navigation
@subjects = Subject.visible.sorted
end

end
47 changes: 27 additions & 20 deletions app/controllers/sections_controller.rb
Expand Up @@ -2,71 +2,78 @@ class SectionsController < ApplicationController

layout "admin" # Oznamujem kontroleru, ze ma pouzivat layout "admin"

before_filter :confirm_logged_in, :except=>[:login, :attempt_login, :logout]
before_filter :confirm_logged_in
before_filter :find_page

def index
list
render("list")
end

def list
@sections = Section.order("sections.position ASC")
@sections = Section.sorted.where(:page_id => @page.id)
end

def show
@section = Section.find(params[:id])
end

def new
@section = Section.new(:name => "")
@section_count = Section.count + 1
@section = Section.new(:name => "", :page_id => @page.id)
@section_count = @page.sections.size + 1
@pages = Page.order("position ASC")
end

def create
new_position = params[:section].delete(:position)
# Instantiate a new object using form parameters
@section = Section.new(params[:section])
# Save the object
if @section.save
@section.move_to_position(new_position)
# If the save succeeds, redirect to the list action
flash[:notice]="Section created successfuly."
redirect_to(:action=>"list")
redirect_to(:action=>"list", :id => @section.id, :page_id => @section.page_id)
else
# If save fails, redisplay the form so that user can fix the problems
@section_count = Section.count + 1
@section_count = @page.sections.size + 1
render("new")
end
end

def edit
@section = Section.find(params[:id])
@section_count = Section.count
@section_count = @page.sections.size
@pages = Page.order("position ASC")
end

def update
# Find object using form parameters
@section = Section.find(params[:id])
new_position = params[:section].delete(:position)
# Update the object
if @section.update_attributes(params[:section])
@section.move_to_position(new_position)
# If the update succeeds, redirect to the list action
flash[:notice]="Section updated successfuly"
redirect_to(:action=>"list")
redirect_to(:action=>"list", :id => @section.id, :page_id => @section.page_id)
# Or redirect show action
# redirect_to(:action=>"show", :id=>@section.id)
else
# If update fails, redisplay the form so that user can fix the problems
@section_count = Section.count
@section_count = @page.sections.size + 1
@pages = Page.order("position ASC")
render("edit")
end
end

def delete
@section = Section.find(params[:id])
end

def destroy
Section.find(params[:id]).destroy
section = Section.find(params[:id])
section.move_to_position(nil)
section.destroy
flash[:notice]="Section destroyed successfuly"
redirect_to(:action=>"list")
redirect_to(:action=>"list", :id => @section.id, :page_id => @page.id)
end
private
def find_page
if params[:page_id]
@page = Page.find_by_id(params[:page_id])
end
end

end

0 comments on commit 7595c5f

Please sign in to comment.