Commit a5b182941a53437b3849089a727987c9644fe49a
1 parent
c86e4879
Exists in
master
and in
29 other branches
ActionItem8: adding infrastructure for custom routes to be used
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@48 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
2 changed files
with
19 additions
and
0 deletions
Show diff stats
app/models/profile.rb
... | ... | @@ -3,11 +3,21 @@ |
3 | 3 | # which by default is the one returned by VirtualCommunity:default. |
4 | 4 | class Profile < ActiveRecord::Base |
5 | 5 | |
6 | + # These names cannot be used as identifiers for Profiles | |
7 | + RESERVED_IDENTIFIERS = %w[ | |
8 | + admin | |
9 | + customize | |
10 | + cms | |
11 | + system | |
12 | + community | |
13 | + ] | |
14 | + | |
6 | 15 | has_many :domains, :as => :owner |
7 | 16 | belongs_to :virtual_community |
8 | 17 | |
9 | 18 | validates_presence_of :identifier |
10 | 19 | validates_format_of :identifier, :with => /^[a-z][a-z0-9_]+[a-z0-9]$/ |
20 | + validates_exclusion_of :identifier, :in => RESERVED_IDENTIFIERS | |
11 | 21 | |
12 | 22 | # creates a new Profile. By default, it is attached to the default |
13 | 23 | # VirtualCommunity (see VirtualCommunity#default), unless you tell it | ... | ... |
config/routes.rb
... | ... | @@ -9,6 +9,12 @@ ActionController::Routing::Routes.draw do |map| |
9 | 9 | # map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase' |
10 | 10 | # This route can be invoked with purchase_url(:id => product.id) |
11 | 11 | |
12 | + # administrative tasks for a virtual community | |
13 | + map.connect 'admin/:controller/:action/:id' | |
14 | + | |
15 | + # profile customization for profiles | |
16 | + map.connect 'customize/:profile/:controller/:action/:id' | |
17 | + | |
12 | 18 | # You can have the root of your site routed by hooking up '' |
13 | 19 | # -- just remember to delete public/index.html. |
14 | 20 | map.connect '', :controller => "home" |
... | ... | @@ -19,4 +25,7 @@ ActionController::Routing::Routes.draw do |map| |
19 | 25 | |
20 | 26 | # Install the default route as the lowest priority. |
21 | 27 | map.connect ':controller/:action/:id' |
28 | + | |
29 | + # TODO: comatose here | |
30 | + | |
22 | 31 | end | ... | ... |