show.html.haml 5.76 KB
Newer Older
1
- page_title "Account"
2 3
- header_title page_title, profile_account_path

4 5
- if current_user.ldap_user?
  .alert.alert-info
6 7
    Some options are unavailable for LDAP accounts

Phil Hughes's avatar
Phil Hughes committed
8 9 10 11 12 13 14
.row.prepend-top-default
  .col-lg-3.profile-settings-sidebar
    %h4.prepend-top-0
      Private Token
    %p
      Your private token is used to access application resources without authentication.
  .col-lg-9
Phil Hughes's avatar
Phil Hughes committed
15
    = form_for @user, url: reset_private_token_profile_path, method: :put, html: {class: "private-token"} do |f|
Phil Hughes's avatar
Phil Hughes committed
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
      %p.cgray
        - if current_user.private_token
          = label_tag "token", "Private token", class: "label-light"
          = text_field_tag "token", current_user.private_token, class: "form-control"
        - else
          %span You don`t have one yet. Click generate to fix it.
      %p.help-block
        It can be used for atom feeds or the API. Keep it secret!
      .prepend-top-default
        - if current_user.private_token
          = f.submit 'Reset private token', data: { confirm: "Are you sure?" }, class: "btn btn-default"
        - else
          = f.submit 'Generate', class: "btn btn-default"
%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?
      %p
        Download the Google Authenticator application from App Store for iOS or Google Play for Android and scan this code.
        More information is available in the #{link_to('documentation', help_page_path('profile', 'two_factor_authentication'))}.
      .row.append-bottom-10
        .col-md-3
          = raw @qr_code
        .col-md-9
          .account-well
            %p.prepend-top-0.append-bottom-0
              Can't scan the code?
            %p.prepend-top-0.append-bottom-0
              To add the entry manually, provide the following details to the application on your phone.
            %p.prepend-top-0.append-bottom-0
              Account:
              = current_user.email
            %p.prepend-top-0.append-bottom-0
              Key:
              = current_user.otp_secret.scan(/.{4}/).join(' ')
            %p.two-factor-new-manual-content
              Time based: Yes
60 61 62 63
      = form_for @user, url: profile_two_factor_auth_path, method: :post do |f|
        - if flash[:error]
          .alert.alert-danger
            = flash[:error]
Phil Hughes's avatar
Phil Hughes committed
64 65 66 67 68
        .form-group
          = label_tag :pin_code, nil, class: "label-light"
          = text_field_tag :pin_code, nil, class: "form-control", required: true
        .prepend-top-default
          = submit_tag 'Enable two-factor authentication', class: 'btn btn-success'
69 70 71
    - else
      = link_to 'Disable Two-factor Authentication', profile_two_factor_auth_path, method: :delete, class: 'btn btn-danger',
              data: { confirm: 'Are you sure?' }
Phil Hughes's avatar
Phil Hughes committed
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
%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)
            = link_to unlink_profile_account_path(provider: provider), method: :delete, class: 'provider-btn' do
              Disconnect
91
          - else
Phil Hughes's avatar
Phil Hughes committed
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
            = link_to user_omniauth_authorize_path(provider), method: :post, class: "provider-btn #{'not-active' if !auth_active?(provider)}", "data-no-turbolink" => "true" do
              Connect
  %hr
- if current_user.can_change_username?
  .row.prepend-top-default
    .col-lg-3.profile-settings-sidebar
      %h4.prepend-top-0.change-username-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, remote: true, html: {class: "update-username"} do |f|
        .form-group
          = f.label :username, "Path", class: "label-light"
          .input-group
            .input-group-addon
              = "#{root_url}u/"
            = f.text_field :username, required: true, class: 'form-control'
        .help-block
          Current path:
          = "#{root_url}u/#{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
118

Phil Hughes's avatar
Phil Hughes committed
119 120 121 122 123 124 125
- if signup_enabled?
  .row.prepend-top-default
    .col-lg-3.profile-settings-sidebar
      %h4.prepend-top-0.remove-account-title
        Remove account
    .col-lg-9
      - if @user.can_be_removed?
126
        %p
Phil Hughes's avatar
Phil Hughes committed
127 128 129 130 131 132 133
          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"
134
      - else
Phil Hughes's avatar
Phil Hughes committed
135
        - if @user.solo_owned_groups.present?
136
          %p
Phil Hughes's avatar
Phil Hughes committed
137 138 139 140 141
            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.
.append-bottom-default