Advertisement
Guest User

Untitled

a guest
Apr 25th, 2014
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.13 KB | None | 0 0
  1. TestApp::Application.routes.draw do
  2. devise_for :admins
  3. devise_for :users
  4.  
  5.  
  6. root to: 'pages#home'
  7.  
  8. # Admin Routes
  9. if Rails.env.production?
  10. devise_for :admins, :skip => [:registrations]
  11. else
  12. devise_for :admins
  13. end
  14.  
  15. namespace :admins do
  16. resources :users
  17. end
  18.  
  19. authenticated :admin do
  20. # For production because of skip registrations
  21. get 'admins/edit' => 'devise/registrations#edit', as: :edit_admin_registration
  22. put 'admins' => 'devise/registrations#update', as: :admin_registration
  23.  
  24. get 'admins/dashboard' => 'admins#dashboard', as: :admin_dashboard
  25.  
  26. devise_scope :admin do
  27. get 'admins/list' => 'admins/users#index', as: :manage_users
  28. get 'admins/users/new' => 'admins/users#new', as: :new_admins_user
  29. get 'admins/users/:id/edit' => 'admins/users#edit', as: :edit_admins_user
  30. post 'admins/users' => 'admins/users#create', as: :users
  31. delete 'admins/users/:id' => 'admins/users#destroy', as: :destroy_admins_user
  32. end
  33.  
  34. # Manage Content Routes
  35. get '/pages/manage' => 'pages#manage', as: :manage_pages
  36. get '/products/manage' => 'products#manage', as: :manage_products
  37. end
  38.  
  39. authenticated :user, :admin do
  40. get '/products' => 'products#index'
  41. get '/pages/4' => 'products#index'
  42. get '/gallery' => 'products#index'
  43. end
  44.  
  45. unauthenticated do
  46. devise_scope :users do
  47. get '/pages/4' => 'devise/registrations#new'
  48. get '/gallery' => 'devise/registrations#new'
  49. end
  50. end
  51.  
  52. resources :pages
  53. resources :products
  54.  
  55. end
  56.  
  57. class AdminsController < ApplicationController
  58. load_and_authorize_resource
  59.  
  60. def dashboard
  61. render "admins/dashboard"
  62. end
  63.  
  64. def index
  65. respond_to do |format|
  66. format.html
  67. end
  68. end
  69.  
  70. def destroy
  71. @admin.destroy
  72. redirect_to manage_admins_path
  73. end
  74. end
  75.  
  76. class Admins::UsersController < ApplicationController
  77. load_and_authorize_resource
  78.  
  79. def index
  80. @users = User.all
  81.  
  82. respond_to do |format|
  83. format.html
  84. end
  85. end
  86.  
  87. def new
  88. @resource = User.new
  89.  
  90. respond_to do |format|
  91. format.html
  92. end
  93. end
  94.  
  95. def edit
  96. @user = User.find(params[:id])
  97. end
  98.  
  99. def create
  100. @user = User.new(params[:user])
  101.  
  102. respond_to do |format|
  103. if @user.save
  104. format.html { redirect_to manage_users_path, notice: 'User was successfully created.' }
  105. else
  106. format.html { render new_admin_user_path }
  107. end
  108. end
  109. end
  110.  
  111. def update
  112. @user = User.find(params[:id])
  113.  
  114. if params[:user][:password].blank?
  115. params[:user].delete(:password)
  116. params[:user].delete(:password_confirmation)
  117. end
  118.  
  119. respond_to do |format|
  120. if @user.update_attributes(params[:user])
  121. format.html { redirect_to manage_users_path, notice: 'User was successfully updated.' }
  122. else
  123. format.html { render action: "edit" }
  124. end
  125. end
  126. end
  127.  
  128. def destroy
  129. @user = User.find(params[:id])
  130. @user.destroy
  131. redirect_to manage_users_path
  132. end
  133.  
  134. # private
  135. # def check_permissions
  136. # authorize! :create, resource
  137. # end
  138. end
  139.  
  140. .input-form
  141. %h2
  142. Edit #{resource_name.to_s.humanize}
  143.  
  144. = form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f|
  145. = devise_error_messages!
  146.  
  147. %fieldset{id: "edit-your-account"}
  148. .field.required
  149. = f.label :first_name
  150. = f.text_field :first_name, :autofocus => true
  151.  
  152. .field.required
  153. = f.label :last_name
  154. = f.text_field :last_name
  155.  
  156. .field.required
  157. = f.label :company
  158. = f.text_field :company
  159.  
  160. .field.required
  161. = f.label :phone
  162. = f.text_field :phone
  163.  
  164. .field.required
  165. = f.label :email
  166. = f.email_field :email
  167.  
  168. .field.required
  169. = f.label :password
  170. = f.password_field :password
  171. %span.instructions
  172. (leave blank if you don't want to change it)
  173. - if devise_mapping.confirmable? && resource.pending_reconfirmation?
  174. %br
  175. Currently waiting confirmation for:
  176. = resource.unconfirmed_email
  177.  
  178. .field.required
  179. = f.label :password_confirmation
  180. = f.password_field :password_confirmation
  181.  
  182. .field.required
  183. = f.label :current_password
  184. = f.password_field :current_password
  185. %span.instructions
  186. (we need your current password to confirm your changes)
  187.  
  188. .field
  189. = f.submit "Update"
  190.  
  191. = link_to "Back", :back
  192.  
  193. module AdminsHelper
  194.  
  195. # Devise helpers for Admin::UsersController
  196. def resource_name
  197. :user
  198. end
  199.  
  200. def resource
  201. @resource ||= User.new
  202. end
  203.  
  204. def devise_mapping
  205. @devise_mapping ||= Devise.mappings[:user]
  206. end
  207. end
  208.  
  209. # Admins::UsersController
  210. def edit
  211. @user = User.find(params[:id])
  212. end
  213.  
  214. # AdminsHelper
  215. def resource
  216. @resource ||= User.new
  217. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement