added external widgets
[shapado:shapado.git] / config / routes.rb
1 Shapado::Application.routes.draw do
2   devise_for(:users,
3              :path_names => {:sign_in => 'login', :sign_out => 'logout'},
4              :controllers => {:registrations => 'users', :omniauth_callbacks => "multiauth/sessions"}) do
5     match '/users/connect' => 'users#connect', :method => :post, :as => :connect
6   end
7   match '/disconnect_twitter_group' => 'groups#disconnect_twitter_group', :method => :get
8   match '/group_twitter_request_token' => 'groups#group_twitter_request_token', :method => :get
9   match 'confirm_age_welcome' => 'welcome#confirm_age', :as => :confirm_age_welcome
10   match '/change_language_filter' => 'welcome#change_language_filter', :as => :change_language_filter
11   match '/register' => 'users#create', :as => :register
12   match '/signup' => 'users#new', :as => :signup
13   match '/facts' => 'welcome#facts', :as => :facts
14   match '/plans' => 'doc#plans', :as => :plans
15   match '/chat' => 'doc#chat', :as => :chat
16   match '/feedback' => 'welcome#feedback', :as => :feedback
17   match '/send_feedback' => 'welcome#send_feedback', :as => :send_feedback
18   match '/settings' => 'users#edit', :as => :settings
19   match '/tos' => 'doc#tos', :as => :tos
20   match '/privacy' => 'doc#privacy', :as => :privacy
21   match '/widgets/embedded/:id' => 'widgets#embedded', :as => :embedded_widget
22   get "mobile/index"
23
24   resources :users do
25     collection do
26       get :autocomplete_for_user_login
27       post :connect
28     end
29
30     member do
31       post :unfollow
32       post :change_preferred_tags
33       post :follow
34       get :feed
35       get :expertise
36       get :preferred
37       get :by_me
38       get :contributed
39     end
40   end
41
42   resources :ads
43   resources :adsenses
44   resources :adbards
45   resources :badges
46
47   resources :searches, :path => "search", :as => "search"
48
49   resources :pages do
50     member do
51       get :js
52       get :css
53     end
54   end
55
56   resources :announcements do
57     collection do
58       post :hide
59     end
60   end
61
62   resources :imports do
63     collection do
64       post :send_confirmation
65     end
66   end
67
68   get '/questions/:id/:slug' => 'questions#show', :as => :se_url, :id => /\d+/
69   post '/questions/:id/start_reward' => "reward#start", :as => :start_reward
70   get '/questions/:id/close_reward' => "reward#close", :as => :close_reward
71
72   match '/answers(.format)' => 'answers#index', :as => :answers
73
74   scope('questions') do
75     resources :tags, :constraints => { :id => /\S+/ }
76   end
77
78   resources :questions do
79     resources :votes
80     resources :flags
81
82     collection do
83       get :tags_for_autocomplete
84       get :unanswered
85       get :related_questions
86       get :random
87     end
88
89     member do
90       get :solve
91       get :unsolve
92       get :flag
93       get :follow
94       get :unfollow
95       get :history
96       get :revert
97       get :diff
98       get :move
99       put :move_to
100       get :retag
101       put :retag_to
102       post :close
103       put  :open
104       get :remove_attachment
105
106       get :twitter_share
107     end
108
109     resources :comments do
110       resources :votes
111     end
112
113     resources :answers do
114       resources :votes
115       resources :flags
116       member do
117         get :favorite
118         get :unfavorite
119         get :flag
120         get :history
121         get :diff
122         get :revert
123       end
124
125       resources :comments do
126         resources :votes
127       end
128     end
129
130     resources :close_requests
131     resources :open_requests
132   end
133
134
135
136   match 'questions/tags/:tags' => 'tags#show', :as => :question_tag
137 #   match 'questions/unanswered/tags/:tags' => 'questions#unanswered'
138
139   resources :groups do
140     collection do
141       get :autocomplete_for_group_slug
142     end
143
144     member do
145       get :logo
146       get :allow_custom_ads
147       get :disallow_custom_ads
148       get :favicon
149       get :close
150       get :accept
151       get :css
152     end
153   end
154
155   scope '/manage' do
156     resources :widgets do
157       member do
158         post :move
159       end
160     end
161
162     resources :constrains_configs
163     resources :members
164   end
165
166   scope '/manage', :as => 'manage' do
167     controller 'admin/manage' do
168       match 'social' => :social
169       match 'properties' => :properties
170       match 'theme' => :theme
171       match 'actions' => :actions
172       match 'stats' => :stats
173       match 'reputation' => :reputation
174       match 'domain' => :domain
175       match 'content' => :content
176     end
177   end
178
179   namespace :moderate do
180     resources :questions do
181       collection do
182         get :flagged
183         get :to_close
184         put :manage
185       end
186     end
187     resources :answers
188     resources :users
189   end
190
191   match '/moderate' => 'moderate/questions#index'
192 #   match '/search' => 'searches#index', :as => :search
193   match '/about' => 'groups#show', :as => :about
194   root :to => 'questions#index'
195   match '/:controller(/:action(/:id))'
196 end