- page_title "Account" = render 'profiles/head' - if current_user.ldap_user? .alert.alert-info Some options are unavailable for LDAP accounts .row.prepend-top-default .col-lg-3.profile-settings-sidebar %h4.prepend-top-0 = incoming_email_token_enabled? ? "Private Tokens" : "Private Token" %p Keep = incoming_email_token_enabled? ? "these tokens" : "this token" secret, anyone with access to them can interact with GitLab as if they were you. .col-lg-9.private-tokens-reset .reset-action %p.cgray - if current_user.private_token = label_tag "private-token", "Private token", class: "label-light" = text_field_tag "private-token", current_user.private_token, class: "form-control", readonly: true, onclick: "this.select()" - else %span You don't have one yet. Click generate to fix it. %p.help-block Your private token is used to access the API and Atom feeds without username/password authentication. .prepend-top-default - if current_user.private_token = link_to 'Reset private token', reset_private_token_profile_path, method: :put, data: { confirm: "Are you sure?" }, class: "btn btn-default private-token" - else = f.submit 'Generate', class: "btn btn-default" - if incoming_email_token_enabled? .reset-action %p.cgray = label_tag "incoming-email-token", "Incoming Email Token", class: 'label-light' = text_field_tag "incoming-email-token", current_user.incoming_email_token, class: "form-control", readonly: true, onclick: "this.select()" %p.help-block Your incoming email token is used to create new issues by email, and is included in your project-specific email addresses. .prepend-top-default = link_to 'Reset incoming email token', reset_incoming_email_token_profile_path, method: :put, data: { confirm: "Are you sure?" }, class: "btn btn-default incoming-email-token" %hr .row.prepend-top-default .col-lg-3.profile-settings-sidebar %h4.prepend-top-0 Two-Factor Authentication %p Increase your account's security by enabling Two-Factor Authentication (2FA). .col-lg-9 %p Status: #{current_user.two_factor_enabled? ? 'Enabled' : 'Disabled'} - if current_user.two_factor_enabled? = link_to 'Manage two-factor authentication', profile_two_factor_auth_path, class: 'btn btn-info' = link_to 'Disable', profile_two_factor_auth_path, method: :delete, data: { confirm: "Are you sure? This will invalidate your registered applications and U2F devices." }, class: 'btn btn-danger' - else .append-bottom-10 = link_to 'Enable two-factor authentication', profile_two_factor_auth_path, class: 'btn btn-success' %hr - if button_based_providers.any? .row.prepend-top-default .col-lg-3.profile-settings-sidebar %h4.prepend-top-0 Social sign-in %p Activate signin with one of the following services .col-lg-9 %label.label-light Connected Accounts %p Click on icon to activate signin with one of the following services - button_based_providers.each do |provider| .provider-btn-group .provider-btn-image = provider_image_tag(provider) - if auth_active?(provider) - if unlink_allowed?(provider) = link_to unlink_profile_account_path(provider: provider), method: :delete, class: 'provider-btn' do Disconnect - else %a.provider-btn Active - else = link_to omniauth_authorize_path(:user, provider), method: :post, class: 'provider-btn not-active' do Connect %hr - if current_user.can_change_username? .row.prepend-top-default .col-lg-3.profile-settings-sidebar %h4.prepend-top-0.warning-title Change username %p Changing your username will change path to all personal projects! .col-lg-9 = form_for @user, url: update_username_profile_path, method: :put, html: {class: "update-username"} do |f| .form-group = f.label :username, "Path", class: "label-light" .input-group .input-group-addon = root_url = f.text_field :username, required: true, class: 'form-control' .help-block Current path: #{root_url}#{current_user.username} .prepend-top-default = f.button class: "btn btn-warning", type: "submit" do = icon "spinner spin", class: "hidden loading-username" Update username %hr - if signup_enabled? .row.prepend-top-default .col-lg-3.profile-settings-sidebar %h4.prepend-top-0.danger-title Remove account .col-lg-9 - if @user.can_be_removed? && can?(current_user, :destroy_user, @user) %p Deleting an account has the following effects: = render 'users/deletion_guidance', user: current_user = link_to 'Delete account', user_registration_path, data: { confirm: "REMOVE #{current_user.name}? Are you sure?" }, method: :delete, class: "btn btn-remove" - else - if @user.solo_owned_groups.present? %p Your account is currently an owner in these groups: %strong= @user.solo_owned_groups.map(&:name).join(', ') %p You must transfer ownership or delete these groups before you can delete your account. - else %p You don't have access to delete this user. .append-bottom-default