about summary refs log tree commit diff
path: root/app/controllers/auth
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-03-05 22:43:05 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-03-05 22:43:05 +0100
commit6045b6cb1880b27e8b21799b9501a794a5f5b88b (patch)
tree415169b028c44d15da6a4ddaf152175ff8f1fcc0 /app/controllers/auth
parent7e93da3f8d31041034ba4eece5ee7a2cec5cfd2b (diff)
Customizing devise views and controllers
Diffstat (limited to 'app/controllers/auth')
-rw-r--r--app/controllers/auth/passwords_controller.rb34
-rw-r--r--app/controllers/auth/registrations_controller.rb22
-rw-r--r--app/controllers/auth/sessions_controller.rb27
3 files changed, 83 insertions, 0 deletions
diff --git a/app/controllers/auth/passwords_controller.rb b/app/controllers/auth/passwords_controller.rb
new file mode 100644
index 000000000..5c964bda0
--- /dev/null
+++ b/app/controllers/auth/passwords_controller.rb
@@ -0,0 +1,34 @@
+class Auth::PasswordsController < Devise::PasswordsController
+  layout 'auth'
+
+  # GET /resource/password/new
+  # def new
+  #   super
+  # end
+
+  # POST /resource/password
+  # def create
+  #   super
+  # end
+
+  # GET /resource/password/edit?reset_password_token=abcdef
+  # def edit
+  #   super
+  # end
+
+  # PUT /resource/password
+  # def update
+  #   super
+  # end
+
+  # protected
+
+  # def after_resetting_password_path_for(resource)
+  #   super(resource)
+  # end
+
+  # The path used after sending reset password instructions
+  # def after_sending_reset_password_instructions_path_for(resource_name)
+  #   super(resource_name)
+  # end
+end
diff --git a/app/controllers/auth/registrations_controller.rb b/app/controllers/auth/registrations_controller.rb
new file mode 100644
index 000000000..3114ae60a
--- /dev/null
+++ b/app/controllers/auth/registrations_controller.rb
@@ -0,0 +1,22 @@
+class Auth::RegistrationsController < Devise::RegistrationsController
+  layout 'auth'
+
+  before_filter :configure_sign_up_params, only: [:create]
+
+  protected
+
+  def build_resource(hash = nil)
+    super(hash)
+    self.resource.build_account if self.resource.account.nil?
+  end
+
+  def configure_sign_up_params
+    devise_parameter_sanitizer.for(:sign_up) do |u|
+      u.permit(:email, :password, :password_confirmation, account_attributes: [:username])
+    end
+  end
+
+  def after_sign_up_path_for(resource)
+    account_path(resource.account)
+  end
+end
diff --git a/app/controllers/auth/sessions_controller.rb b/app/controllers/auth/sessions_controller.rb
new file mode 100644
index 000000000..d1bcc7c17
--- /dev/null
+++ b/app/controllers/auth/sessions_controller.rb
@@ -0,0 +1,27 @@
+class Auth::SessionsController < Devise::SessionsController
+  layout 'auth'
+
+  # before_filter :configure_sign_in_params, only: [:create]
+
+  # GET /resource/sign_in
+  # def new
+  #   super
+  # end
+
+  # POST /resource/sign_in
+  # def create
+  #   super
+  # end
+
+  # DELETE /resource/sign_out
+  # def destroy
+  #   super
+  # end
+
+  # protected
+
+  # If you have extra params to permit, append them to the sanitizer.
+  # def configure_sign_in_params
+  #   devise_parameter_sanitizer.for(:sign_in) << :attribute
+  # end
+end