%h3.page-title User: = @user.name - if @user.blocked? %span.cred (Blocked) - if @user.admin %span.cred (Admin) .pull-right = link_to edit_admin_user_path(@user), class: "btn btn-grouped" do %i.fa.fa-pencil-square-o Edit %hr %ul.nav.nav-tabs %li.active %a{"data-toggle" => "tab", href: "#account"} Account %li %a{"data-toggle" => "tab", href: "#profile"} Profile %li %a{"data-toggle" => "tab", href: "#groups"} Groups %li %a{"data-toggle" => "tab", href: "#projects"} Projects %li %a{"data-toggle" => "tab", href: "#ssh-keys"} SSH keys .tab-content #account.tab-pane.active .row .col-md-6 .panel.panel-default .panel-heading Account: %ul.well-list %li %span.light Name: %strong= @user.name %li %span.light Username: %strong = @user.username %li %span.light Email: %strong = mail_to @user.email - @user.emails.each do |email| %li %span.light Secondary email: %strong= email.email = link_to remove_email_admin_user_path(@user, email), data: { confirm: "Are you sure you want to remove #{email.email}?" }, method: :delete, class: "btn-tiny btn btn-remove pull-right", title: 'Remove secondary email', id: "remove_email_#{email.id}" do %i.fa.fa-times %li %span.light Can create groups: %strong = @user.can_create_group ? "Yes" : "No" %li %span.light Personal projects limit: %strong = @user.projects_limit %li %span.light Member since: %strong = @user.created_at.stamp("Nov 12, 2031") - if @user.confirmed_at %li %span.light Confirmed at: %strong = @user.confirmed_at.stamp("Nov 12, 2031") - else %li %span.light Confirmed: %strong.cred No %li %span.light Current sign-in at: %strong - if @user.current_sign_in_at = @user.current_sign_in_at.stamp("Nov 12, 2031") - else never %li %span.light Last sign-in at: %strong - if @user.last_sign_in_at = @user.last_sign_in_at.stamp("Nov 12, 2031") - else never %li %span.light Sign-in count: %strong = @user.sign_in_count - if @user.ldap_user? %li %span.light LDAP uid: %strong = @user.ldap_identity.extern_uid - if @user.created_by %li %span.light Created by: %strong = link_to @user.created_by.name, [:admin, @user.created_by] .col-md-6 - unless @user == current_user - if @user.blocked? .alert.alert-info %h4 This user is blocked %p Blocking user has the following effects: %ul %li User will not be able to login %li User will not be able to access git repositories %li User will be removed from joined projects and groups %li Personal projects will be left %li Owned groups will be left %br = link_to 'Unblock user', unblock_admin_user_path(@user), method: :put, class: "btn btn-new", data: { confirm: 'Are you sure?' } - else .alert.alert-warning %h4 Block this user %p Blocking user has the following effects: %ul %li User will not be able to login %li User will not be able to access git repositories %li User will be removed from joined projects and groups %li Personal projects will be left %li Owned groups will be left %br = link_to 'Block user', block_admin_user_path(@user), data: { confirm: 'USER WILL BE BLOCKED! Are you sure?' }, method: :put, class: "btn btn-remove" .alert.alert-danger %h4 Remove user %p Deleting a user has the following effects: %ul %li All user content like authored issues, snippets, comments will be removed - rp = @user.personal_projects.count - unless rp.zero? %li #{pluralize rp, 'personal project'} will be removed and cannot be restored - if @user.solo_owned_groups.present? %li Next groups with all content will be removed: %strong #{@user.solo_owned_groups.map(&:name).join(', ')} %br = link_to 'Remove user', [:admin, @user], data: { confirm: "USER #{@user.name} WILL BE REMOVED! Are you sure?" }, method: :delete, class: "btn btn-remove" #profile.tab-pane .row .col-md-6 .panel.panel-default .panel-heading = @user.name %ul.well-list %li = image_tag avatar_icon(@user.email, 60), class: "avatar s60" %li %span.light Profile page: %strong = link_to user_path(@user) do = @user.username .col-md-6 = render 'users/profile', user: @user #groups.tab-pane - if @user.group_members.present? .panel.panel-default .panel-heading Groups: %ul.well-list - @user.group_members.each do |user_group| - group = user_group.group %li.group_member %span{class: ("list-item-name" unless user_group.owner?)} %strong= link_to group.name, admin_group_path(group) .pull-right %span.light= user_group.human_access - unless user_group.owner? = link_to group_group_member_path(group, user_group), data: { confirm: remove_user_from_group_message(group, @user) }, method: :delete, remote: true, class: "btn-tiny btn btn-remove", title: 'Remove user from group' do %i.fa.fa-times.fa-inverse - else .nothing-here-block This user has no groups. #projects.tab-pane - if @user.groups.any? .panel.panel-default .panel-heading Group projects %ul.well-list - @user.groups.each do |group| %li %strong= group.name – access to #{pluralize(group.projects.count, 'project')} .row .col-md-6 = render 'users/projects', projects: @personal_projects .col-md-6 .panel.panel-default .panel-heading Joined projects (#{@joined_projects.count}) %ul.well-list - @joined_projects.sort_by(&:name_with_namespace).each do |project| - tm = project.team.find_tm(@user.id) %li.project_member .list-item-name = link_to admin_project_path(project), class: dom_class(project) do = project.name_with_namespace - if tm .pull-right - if tm.owner? %span.light Owner - else %span.light= tm.human_access - if tm.respond_to? :project = link_to project_team_member_path(project, @user), data: { confirm: remove_from_project_team_message(project, @user) }, remote: true, method: :delete, class: "btn-tiny btn btn-remove", title: 'Remove user from project' do %i.fa.fa-times #ssh-keys.tab-pane - if @ssh_keys.any? .panel.panel-default %table.table %thead.panel-heading %tr %th Title %th Fingerprint %th %tbody - @ssh_keys.each do |key| %tr %td = link_to user_key_admin_user_path(@user, key) do %strong= key.title %td %span (#{key.fingerprint}) %span.cgray added #{time_ago_with_tooltip(key.created_at)} %td = link_to 'Remove', remove_user_key_admin_user_path(@user, key), data: { confirm: 'Are you sure?'}, method: :delete, class: "btn btn-small btn-remove delete-key pull-right" - else .nothing-here-block User has no ssh keys