Commit ed5e19a5 authored by Nihad Abbasov's avatar Nihad Abbasov

allow user to reset his private token

parent 32ca0b8c
......@@ -25,4 +25,9 @@ class ProfileController < ApplicationController
render :action => "password"
end
end
def reset_private_token
current_user.reset_authentication_token!
redirect_to profile_password_path
end
end
......@@ -18,7 +18,7 @@
.fixed
%aside
= link_to "Profile", profile_path, :class => current_page?(:controller => "profile", :action => :show) ? "current" : nil
= link_to "Password", profile_password_path, :class => current_page?(:controller => "profile", :action => :password) ? "current" : nil
= link_to "Password & token", profile_password_path, :class => current_page?(:controller => "profile", :action => :password) ? "current" : nil
= link_to keys_path, :class => controller.controller_name == "keys" ? "current" : nil do
Keys
- unless current_user.keys.empty?
......
......@@ -18,3 +18,16 @@
.actions
= f.submit 'Save', :class => "lbutton vm"
%br
%br
%br
= form_for @user, :url => profile_reset_private_token_path, :method => :put do |f|
%p
Current private token:
%strong
= current_user.private_token
%em.cred
keep it in secret!
.actions
= f.submit 'Reset', :confirm => "Are you sure?", :class => "lbutton vm"
......@@ -17,6 +17,7 @@ Gitlab::Application.routes.draw do
get "errors/gitosis"
get "profile/password", :to => "profile#password"
put "profile/password", :to => "profile#password_update"
put "profile/reset_private_token", :to => "profile#reset_private_token"
put "profile/edit", :to => "profile#social_update"
get "profile", :to => "profile#show"
get "dashboard", :to => "dashboard#index"
......
......@@ -29,6 +29,19 @@ describe "Profile" do
it { @user.twitter.should == 'testtwitter' }
end
describe "Reset private token" do
before do
visit profile_password_path
end
it "should reset private token" do
user_first_token = @user.private_token
click_button "Reset"
@user.reload
@user.private_token.should_not == user_first_token
end
end
describe "Password update" do
before do
visit profile_password_path
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment