summaryrefslogtreecommitdiff
path: root/app/controllers/passwords_controller.rb
diff options
context:
space:
mode:
authordosire <sytses@gmail.com>2014-03-25 20:57:21 +0100
committerdosire <sytses@gmail.com>2014-03-25 20:57:21 +0100
commitb2e74741555f9cb9d58c3c44810803d0db39b9f3 (patch)
tree413fa17b0afa673c08e88e96217fe459265e835a /app/controllers/passwords_controller.rb
parent775f686e0e6e126555910a32c5c400d24e90789e (diff)
parent7f67e066dc9749d2532d220fafa3f397a5fe1f24 (diff)
downloadgitlab-ce-b2e74741555f9cb9d58c3c44810803d0db39b9f3.tar.gz
Merge branch 'master' into define-feature-request
Conflicts: PROCESS.md
Diffstat (limited to 'app/controllers/passwords_controller.rb')
-rw-r--r--app/controllers/passwords_controller.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/controllers/passwords_controller.rb b/app/controllers/passwords_controller.rb
new file mode 100644
index 00000000000..988ede3007b
--- /dev/null
+++ b/app/controllers/passwords_controller.rb
@@ -0,0 +1,18 @@
+class PasswordsController < Devise::PasswordsController
+
+ def create
+ email = resource_params[:email]
+ resource_found = resource_class.find_by_email(email)
+ if resource_found && resource_found.ldap_user?
+ flash[:alert] = "Cannot reset password for LDAP user."
+ respond_with({}, :location => after_sending_reset_password_instructions_path_for(resource_name)) and return
+ end
+
+ self.resource = resource_class.send_reset_password_instructions(resource_params)
+ if successfully_sent?(resource)
+ respond_with({}, :location => after_sending_reset_password_instructions_path_for(resource_name))
+ else
+ respond_with(resource)
+ end
+ end
+end