BigW Consortium Gitlab

show.html.haml 4.61 KB
Newer Older
1
- page_title "Account"
2 3 4 5 6
%h3.page-title
  = page_title
%p.light
  Change your username and basic account settings.
%hr
7 8
- if current_user.ldap_user?
  .alert.alert-info
9 10
    Some options are unavailable for LDAP accounts

11
.account-page
12 13
  .panel.panel-default.update-token
    .panel-heading
14
      Reset Private token
15
    .panel-body
16 17 18 19 20 21 22 23 24 25 26
      = form_for @user, url: reset_private_token_profile_path, method: :put do |f|
        .data
          %p
            Your private token is used to access application resources without authentication.
            %br
            It can be used for atom feeds or the API.
            %span.cred
              Keep it secret!

          %p.cgray
            - if current_user.private_token
27 28
              = text_field_tag "token", current_user.private_token, class: "form-control"
              %div
29
                = f.submit 'Reset private token', data: { confirm: "Are you sure?" }, class: "btn btn-default btn-build-token"
30 31
            - else
              %span You don`t have one yet. Click generate to fix it.
32
              = f.submit 'Generate', class: "btn btn-default btn-build-token"
33

34
  - unless current_user.ldap_user?
35 36 37 38 39
    .panel.panel-default
      .panel-heading
        Two-factor Authentication
      .panel-body
        - if current_user.otp_required_for_login
40
          .pull-right
41
            = link_to 'Disable Two-factor Authentication', profile_two_factor_auth_path, method: :delete, class: 'btn btn-close btn-sm',
42
                data: { confirm: 'Are you sure?' }
43 44 45
          %p.text-success
            %strong
              Two-factor Authentication is enabled
46
          %p
47
            If you lose your recovery codes you can
48
            %strong
49
              = succeed ',' do
50
                = link_to 'generate new ones', codes_profile_two_factor_auth_path, method: :post, data: { confirm: 'Are you sure?' }
51
            invalidating all previous codes.
52

53
        - else
54
          %p
55 56 57 58
            Increase your account's security by enabling two-factor authentication (2FA).
          %p
            Each time you log in you’ll be required to provide your username and
            password as usual, plus a randomly-generated code from your phone.
59
          %div
60
            = link_to 'Enable Two-factor Authentication', new_profile_two_factor_auth_path, class: 'btn btn-success'
61 62

  - if show_profile_social_tab?
63 64 65 66 67 68 69 70 71 72 73 74 75
    .panel.panel-default
      .panel-heading
        Connected Accounts
      .panel-body
        .oauth-buttons.append-bottom-10
          %p Click on icon to activate signin with one of the following services
          - enabled_social_providers.each do |provider|
            .btn-group
              = link_to oauth_image_tag(provider), omniauth_authorize_path(User, provider),
                method: :post, class: "btn btn-lg #{'active' if oauth_active?(provider)}"
              - if oauth_active?(provider)
                = link_to unlink_profile_account_path(provider: provider), method: :delete, class: 'btn btn-lg' do
                  = icon('close')
76 77

  - if show_profile_username_tab?
78 79
    .panel.panel-warning.update-username
      .panel-heading
80
        Change Username
81 82
      .panel-body
        = form_for @user, url: update_username_profile_path,  method: :put, remote: true do |f|
83
          %p
84 85 86 87 88 89 90 91 92 93 94 95
            Changing your username will change path to all personal projects!
          %div
            = f.text_field :username, required: true, class: 'form-control'
             
          .loading-gif.hide
            %p
              = icon('spinner spin')
              Saving new username
          %p.light
            = user_url(@user)
          %div
            = f.submit 'Save username', class: "btn btn-warning"
96 97

  - if show_profile_remove_tab?
98 99
    .panel.panel-danger.remove-account
      .panel-heading
100
        Remove account
101
      .panel-body
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
        - if @user.can_be_removed?
          %p Deleting an account has the following effects:
          %ul
            %li All user content like authored issues, snippets, comments will be removed
            - rp = current_user.personal_projects.count
            - unless rp.zero?
              %li #{pluralize rp, 'personal project'} will be removed and cannot be restored
          = 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 yur account.