Skip to content
Snippets Groups Projects
Commit 270b7ce8 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Add ability for admin to edit user identity

parent 228da2dd
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -7,7 +7,7 @@ v 7.13.0 (unreleased)
- Rename "Design" profile settings page to "Preferences".
- Allow users to customize their default Dashboard page.
- Update ssl_ciphers in Nginx example to remove DHE settings. This will deny forward secrecy for Android 2.3.7, Java 6 and OpenSSL 0.9.8
- Admin can remove user identities
- Admin can edit and remove user identities
 
v 7.12.0 (unreleased)
- Fix post-receive errors on a push when an external issue tracker is configured (Stan Hu)
Loading
Loading
class Admin::IdentitiesController < Admin::ApplicationController
before_action :user, only: [:destroy]
before_action :user
before_action :identity
 
def destroy
identity = user.identities.find(params[:id])
def edit
end
def update
if @identity.update_attributes(identity_params)
redirect_to admin_user_path(@user), notice: 'User identity was successfully updated.'
else
render :edit
end
end
 
def destroy
respond_to do |format|
if identity.destroy
if @identity.destroy
format.html { redirect_to [:admin, user], notice: 'User identity was successfully removed.' }
else
format.html { redirect_to [:admin, user], alert: 'Failed to remove user identity.' }
Loading
Loading
@@ -18,4 +28,12 @@ class Admin::IdentitiesController < Admin::ApplicationController
def user
@user ||= User.find_by!(username: params[:user_id])
end
def identity
@identity ||= user.identities.find(params[:id])
end
def identity_params
params[:identity].permit(:provider, :extern_uid)
end
end
= form_for [:admin, @user, @identity], html: { class: 'form-horizontal fieldset-form' } do |f|
-if @identity.errors.any?
#error_explanation
.alert.alert-danger
- @identity.errors.full_messages.each do |msg|
%p= msg
.form-group
= f.label :provider, class: 'control-label'
.col-sm-10
= f.text_field :provider, required: true, autocomplete: "off", class: 'form-control', required: true
.form-group
= f.label :extern_uid, class: 'control-label'
.col-sm-10
= f.text_field :extern_uid, required: true, autocomplete: "off", class: 'form-control', required: true
.form-actions
= f.submit 'Save changes', class: "btn btn-save"
Loading
Loading
@@ -4,6 +4,9 @@
%td
= identity.extern_uid
%td
= link_to edit_admin_user_identity_path(@user, identity), class: 'btn btn-xs btn-grouped' do
%i.fa.fa-edit
Edit
= link_to [:admin, @user, identity], method: :delete,
class: 'btn btn-xs btn-danger',
data: { confirm: "Are you sure you want to remove this identity" } do
Loading
Loading
- page_title @user.name, "Users"
%h3.page-title
Edit identity for #{@user.name}
%hr
= render 'form'
Loading
Loading
@@ -149,7 +149,7 @@ Gitlab::Application.routes.draw do
namespace :admin do
resources :users, constraints: { id: /[a-zA-Z.\/0-9_\-]+/ } do
resources :keys, only: [:show, :destroy]
resources :identities, only: [:destroy]
resources :identities, only: [:edit, :update, :destroy]
 
member do
put :team_update
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment