summaryrefslogtreecommitdiff
path: root/app/views/profiles/accounts/show.html.haml
blob: be3ae942e7ffb43bda4abf009df0cb3008841817 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
- page_title "Account"
- header_title page_title, profile_account_path

- 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
      Private Token
    %p
      Your private token is used to access application resources without authentication.
  .col-lg-9
    = form_for @user, url: reset_private_token_profile_path, method: :put do |f|
      %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.two-factor-new-manual-content
              Can't scan the code?
            %p.two-factor-new-manual-content
              To add the entry manually, provide the following details to the application on your phone.
            %p.two-factor-new-manual-content
              Account:
              = current_user.email
            %p.two-factor-new-manual-content
              Key:
              = current_user.otp_secret.scan(/.{4}/).join(' ')
            %p.two-factor-new-manual-content
              Time based: Yes
      = form_for @user, url: "", method: :put do |f|
        .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'
%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
          - else
            = 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

- 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?
        %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 your account.
.append-bottom-default