diff --git a/app/models/people.rb b/app/models/people.rb
index cc1e6e8..d455d7d 100644
--- a/app/models/people.rb
+++ b/app/models/people.rb
@@ -3,4 +3,18 @@
#
class People < ActiveRecord::Base
has_one_tuxwiki_page :owner_class => 'People'
+ belongs_to :role
+ attr_protected :role_id
+ validates_presence_of :role_id
+
+ before_create :set_base_role
+
+ protected
+
+ ##
+ # Sets the Role to the top level model.
+ #
+ def set_base_role
+ self.role = Role.base_role
+ end
end
diff --git a/app/views/layouts/application.rhtml b/app/views/layouts/application.rhtml
index 160031c..57c1529 100644
--- a/app/views/layouts/application.rhtml
+++ b/app/views/layouts/application.rhtml
@@ -33,6 +33,7 @@
<%= link_to_unless_current 'Browse Breweries', breweries_path -%>
<%= link_to_unless_current 'Discussions', discussions_path -%>
<%= link_to_unless_current 'Peoples', peoples_path -%>
+ <%= link_to_unless_current 'Roles', roles_path -%>
<%= yield :sidebar %>
diff --git a/app/views/peoples/edit.rhtml b/app/views/peoples/edit.rhtml
index 004541c..ccd2d38 100644
--- a/app/views/peoples/edit.rhtml
+++ b/app/views/peoples/edit.rhtml
@@ -8,5 +8,6 @@
<% end %>
<% content_for :sidebar do -%>
+ <%= new_people_link %>
<%= show_people_link(@people) %>
<% end -%>
\ No newline at end of file
diff --git a/config/routes.rb b/config/routes.rb
index b3e8271..5c7745f 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,4 +1,6 @@
ActionController::Routing::Routes.draw do |map|
+ map.resources :roles
+
map.resources :beers, :breweries, :pages, :discussions, :peoples
map.connect ':controller/:action/:id.:format'
diff --git a/lib/actionview_text_helper.rb b/lib/actionview_text_helper.rb
deleted file mode 100644
index 673aa2d..0000000
--- a/lib/actionview_text_helper.rb
+++ /dev/null
@@ -1,77 +0,0 @@
-# ActionView Text Helpers are great!
-# Let's extend the String class to allow us to call
-# some of these methods directly on a String.
-# Note:
-# - cycle-related methods are not included
-# - concat is not included
-# - pluralize is not included because it is in
-# ActiveSupport String extensions already
-# (though they differ).
-# - markdown requires BlueCloth
-# - textilize methods require RedCloth
-# Example:
-# "coolness".strip_tags -> "coolness"
-require 'singleton'
-# Singleton to be called in wrapper module
-class TextHelperSingleton
- include Singleton
- include ActionView::Helpers::TextHelper
- include ActionView::Helpers::TagHelper #tag_options needed by auto_link
-end
-# Wrapper module
-module MyExtensions #:nodoc:
- module CoreExtensions #:nodoc:
- module String #:nodoc:
- module TextHelper
- def auto_link(link = :all, href_options = {}, &block)
- TextHelperSingleton.instance.auto_link(self, link, href_options, &block)
- end
- def excerpt(phrase, radius = 100, excerpt_string = "…")
- TextHelperSingleton.instance.excerpt(self, phrase, radius, excerpt_string)
- end
- def highlight(phrase, highlighter = '\1')
- TextHelperSingleton.instance.highlight(self, phrase, highlighter)
- end
-
- begin
- require_library_or_gem 'bluecloth'
- def markdown
- TextHelperSingleton.instance.markdown(self)
- end
- rescue LoadError
- # do nothing. method will be undefined
- end
- def sanitize
- TextHelperSingleton.instance.sanitize(self)
- end
- def simple_format
- TextHelperSingleton.instance.simple_format(self)
- end
- def strip_tags
- TextHelperSingleton.instance.strip_tags(self)
- end
- begin
- require_library_or_gem 'redcloth'
- def textilize
- TextHelperSingleton.instance.textilize(self)
- end
- def textilize_without_paragraph
- TextHelperSingleton.instance.textilize_without_paragraph(self)
- end
- rescue LoadError
- # do nothing. methods will be undefined
- end
- def truncate(length = 30, truncate_string = "…")
- TextHelperSingleton.instance.truncate(self, length, truncate_string)
- end
- def word_wrap(line_width = 80)
- TextHelperSingleton.instance.word_wrap(self, line_width)
- end
- end
- end
- end
-end
-# extend String with the TextHelper functions
-class String #:nodoc:
- include MyExtensions::CoreExtensions::String::TextHelper
-end