diff options
author | Robert Speicher <robert@gitlab.com> | 2015-12-21 17:58:20 +0000 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2015-12-21 12:58:43 -0500 |
commit | c62f7ca4f89e9e9a5196d863f08ea21cd6f332f5 (patch) | |
tree | 6c06512cf5efe9e5af34055864b6865124477a69 | |
parent | 8eb895eeb2102b83b335ee61844bff9bf0194cf5 (diff) | |
download | gitlab-ce-c62f7ca4f89e9e9a5196d863f08ea21cd6f332f5.tar.gz |
Merge branch 'admin_add_identity' into 'master'
Allow admin to create new user identities
Fixes #2442
See merge request !2077
-rw-r--r-- | app/controllers/admin/identities_controller.rb | 17 | ||||
-rw-r--r-- | app/views/admin/identities/index.html.haml | 1 | ||||
-rw-r--r-- | app/views/admin/identities/new.html.haml | 4 | ||||
-rw-r--r-- | config/routes.rb | 2 |
4 files changed, 22 insertions, 2 deletions
diff --git a/app/controllers/admin/identities_controller.rb b/app/controllers/admin/identities_controller.rb index d28614731f9..e383fe38ea6 100644 --- a/app/controllers/admin/identities_controller.rb +++ b/app/controllers/admin/identities_controller.rb @@ -1,6 +1,21 @@ class Admin::IdentitiesController < Admin::ApplicationController before_action :user - before_action :identity, except: :index + before_action :identity, except: [:index, :new, :create] + + def new + @identity = Identity.new + end + + def create + @identity = Identity.new(identity_params) + @identity.user_id = user.id + + if @identity.save + redirect_to admin_user_identities_path(@user), notice: 'User identity was successfully created.' + else + render :new + end + end def index @identities = @user.identities diff --git a/app/views/admin/identities/index.html.haml b/app/views/admin/identities/index.html.haml index 8358a14445b..741d111fb7d 100644 --- a/app/views/admin/identities/index.html.haml +++ b/app/views/admin/identities/index.html.haml @@ -1,6 +1,7 @@ - page_title "Identities", @user.name, "Users" = render 'admin/users/head' += link_to 'New Identity', new_admin_user_identity_path, class: 'pull-right btn btn-new' - if @identities.present? .table-holder %table.table diff --git a/app/views/admin/identities/new.html.haml b/app/views/admin/identities/new.html.haml new file mode 100644 index 00000000000..e30bf0ef0ee --- /dev/null +++ b/app/views/admin/identities/new.html.haml @@ -0,0 +1,4 @@ +- page_title "New Identity" +%h3.page-title New identity +%hr += render 'form' diff --git a/config/routes.rb b/config/routes.rb index 57be57e3251..b9242327de1 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -188,7 +188,7 @@ Rails.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: [:index, :edit, :update, :destroy] + resources :identities, except: [:show] delete 'stop_impersonation' => 'impersonation#destroy', on: :collection |