diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 04:45:44 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 04:45:44 +0300 |
commit | 85dc423f7090da0a52c73eb66faf22ddb20efff9 (patch) | |
tree | 9160f299afd8c80c038f08e1545be119f5e3f1e1 /app/views/profiles | |
parent | 15c2c8c66dbe422588e5411eee7e68f1fa440bb8 (diff) |
Add latest changes from gitlab-org/gitlab@13-4-stable-ee
Diffstat (limited to 'app/views/profiles')
-rw-r--r-- | app/views/profiles/accounts/_providers.html.haml | 6 | ||||
-rw-r--r-- | app/views/profiles/accounts/show.html.haml | 4 | ||||
-rw-r--r-- | app/views/profiles/gpg_keys/_key.html.haml | 2 | ||||
-rw-r--r-- | app/views/profiles/notifications/_group_settings.html.haml | 2 | ||||
-rw-r--r-- | app/views/profiles/notifications/_project_settings.html.haml | 2 | ||||
-rw-r--r-- | app/views/profiles/notifications/show.html.haml | 3 | ||||
-rw-r--r-- | app/views/profiles/preferences/_gitpod.html.haml | 11 | ||||
-rw-r--r-- | app/views/profiles/preferences/_integrations.html.haml | 18 | ||||
-rw-r--r-- | app/views/profiles/preferences/_sourcegraph.html.haml | 36 | ||||
-rw-r--r-- | app/views/profiles/preferences/show.html.haml | 5 | ||||
-rw-r--r-- | app/views/profiles/preferences/update.js.erb | 4 | ||||
-rw-r--r-- | app/views/profiles/show.html.haml | 10 | ||||
-rw-r--r-- | app/views/profiles/two_factor_auths/create.html.haml | 2 | ||||
-rw-r--r-- | app/views/profiles/two_factor_auths/show.html.haml | 45 |
14 files changed, 93 insertions, 57 deletions
diff --git a/app/views/profiles/accounts/_providers.html.haml b/app/views/profiles/accounts/_providers.html.haml index a87191d0fa4..f7368c5e921 100644 --- a/app/views/profiles/accounts/_providers.html.haml +++ b/app/views/profiles/accounts/_providers.html.haml @@ -11,11 +11,11 @@ - if auth_active?(provider) - if unlink_allowed = link_to unlink_profile_account_path(provider: provider), method: :delete, class: 'provider-btn' do - = s_('Profiles|Disconnect') + = s_('Profiles|Disconnect %{provider}') % { provider: label_for_provider(provider) } - else %a.provider-btn - = s_('Profiles|Active') + = s_('Profiles|%{provider} Active') % { provider: label_for_provider(provider) } - elsif link_allowed = link_to omniauth_authorize_path(:user, provider), method: :post, class: 'provider-btn gl-text-blue-500' do - = s_('Profiles|Connect') + = s_('Profiles|Connect %{provider}') % { provider: label_for_provider(provider) } = render_if_exists 'profiles/accounts/group_saml_unlink_buttons', group_saml_identities: group_saml_identities diff --git a/app/views/profiles/accounts/show.html.haml b/app/views/profiles/accounts/show.html.haml index 20660e61f38..c875caca94a 100644 --- a/app/views/profiles/accounts/show.html.haml +++ b/app/views/profiles/accounts/show.html.haml @@ -55,8 +55,8 @@ = s_('Profiles|Deleting an account has the following effects:') = render 'users/deletion_guidance', user: current_user - %button#delete-account-button.btn.btn-danger.disabled{ data: { toggle: 'modal', - target: '#delete-account-modal', qa_selector: 'delete_account_button' } } + -# Delete button here + %button#delete-account-button.btn.btn-danger.disabled{ data: { qa_selector: 'delete_account_button' } } = s_('Profiles|Delete account') #delete-account-modal{ data: { action_url: user_registration_path, diff --git a/app/views/profiles/gpg_keys/_key.html.haml b/app/views/profiles/gpg_keys/_key.html.haml index e05f121c5d9..f1abafa4149 100644 --- a/app/views/profiles/gpg_keys/_key.html.haml +++ b/app/views/profiles/gpg_keys/_key.html.haml @@ -21,7 +21,7 @@ = s_('Profiles|Created %{time_ago}'.html_safe) % { time_ago:time_ago_with_tooltip(key.created_at)} = link_to profile_gpg_key_path(key), data: { confirm: _('Are you sure? Removing this GPG key does not affect already signed commits.') }, method: :delete, class: "btn btn-danger gl-ml-3" do %span.sr-only= _('Remove') - = icon('trash') + = sprite_icon('remove') = link_to revoke_profile_gpg_key_path(key), data: { confirm: _('Are you sure? All commits that were signed with this GPG key will be unverified.') }, method: :put, class: "btn btn-danger gl-ml-3" do %span.sr-only= _('Revoke') = _('Revoke') diff --git a/app/views/profiles/notifications/_group_settings.html.haml b/app/views/profiles/notifications/_group_settings.html.haml index 404bb224655..ea698a296fb 100644 --- a/app/views/profiles/notifications/_group_settings.html.haml +++ b/app/views/profiles/notifications/_group_settings.html.haml @@ -2,7 +2,7 @@ .gl-responsive-table-row.notification-list-item .table-section.section-40 - %span.notification.fa.fa-holder.gl-mr-2 + %span.notification.gl-mr-2 = notification_icon(notification_icon_level(setting, emails_disabled)) %span.str-truncated diff --git a/app/views/profiles/notifications/_project_settings.html.haml b/app/views/profiles/notifications/_project_settings.html.haml index f9172ae87aa..6e81d585f24 100644 --- a/app/views/profiles/notifications/_project_settings.html.haml +++ b/app/views/profiles/notifications/_project_settings.html.haml @@ -1,7 +1,7 @@ - emails_disabled = project.emails_disabled? %li.notification-list-item - %span.notification.fa.fa-holder.gl-mr-2 + %span.notification.gl-mr-2 = notification_icon(notification_icon_level(setting, emails_disabled)) %span.str-truncated diff --git a/app/views/profiles/notifications/show.html.haml b/app/views/profiles/notifications/show.html.haml index ab04d977a4d..da684c29372 100644 --- a/app/views/profiles/notifications/show.html.haml +++ b/app/views/profiles/notifications/show.html.haml @@ -39,10 +39,11 @@ %hr %h5 - = _('Groups (%{count})') % { count: @group_notifications.size } + = _('Groups (%{count})') % { count: @user_groups.total_count } %div - @group_notifications.each do |setting| = render 'group_settings', setting: setting, group: setting.source + = paginate @user_groups, theme: 'gitlab' %h5 = _('Projects (%{count})') % { count: @project_notifications.size } %p.account-well diff --git a/app/views/profiles/preferences/_gitpod.html.haml b/app/views/profiles/preferences/_gitpod.html.haml new file mode 100644 index 00000000000..69c9443ebbb --- /dev/null +++ b/app/views/profiles/preferences/_gitpod.html.haml @@ -0,0 +1,11 @@ +- gitpod_link = link_to("Gitpod#{sprite_icon('external-link', size: 12, css_class: 'ml-1 vertical-align-center')}".html_safe, 'https://gitpod.io/', target: '_blank', rel: 'noopener noreferrer') + +%label.label-bold#gitpod + = s_('Gitpod') += link_to sprite_icon('question-o'), help_page_path('integration/gitpod.md'), target: '_blank', class: 'has-tooltip', title: _('More information') +.form-group.form-check + = f.check_box :gitpod_enabled, class: 'form-check-input' + = f.label :gitpod_enabled, class: 'form-check-label' do + = s_('Gitpod|Enable Gitpod integration').html_safe + .form-text.text-muted + = s_('Enable %{gitpod_link} integration to launch a development environment in your browser directly from GitLab.').html_safe % { gitpod_link: gitpod_link } diff --git a/app/views/profiles/preferences/_integrations.html.haml b/app/views/profiles/preferences/_integrations.html.haml new file mode 100644 index 00000000000..037fe5df263 --- /dev/null +++ b/app/views/profiles/preferences/_integrations.html.haml @@ -0,0 +1,18 @@ +- views = integration_views +- return unless views.any? + +.col-sm-12 + %hr + +.col-lg-4.profile-settings-sidebar#integrations + %h4.gl-mt-0 + = s_('Preferences|Integrations') + %p + = s_('Preferences|Customize integrations with third party services.') + = succeed '.' do + = link_to _('Learn more'), help_page_path('user/profile/preferences.md', anchor: 'integrations'), target: '_blank' + +.col-lg-8 + - views.each do |view| + = render view, f: f + diff --git a/app/views/profiles/preferences/_sourcegraph.html.haml b/app/views/profiles/preferences/_sourcegraph.html.haml index f3530da9a5f..fdd0be22664 100644 --- a/app/views/profiles/preferences/_sourcegraph.html.haml +++ b/app/views/profiles/preferences/_sourcegraph.html.haml @@ -1,26 +1,10 @@ -- return unless Gitlab::Sourcegraph::feature_available? && Gitlab::CurrentSettings.sourcegraph_enabled -- sourcegraph_url = Gitlab::CurrentSettings.sourcegraph_url - -.col-sm-12 - %hr - -.col-lg-4.profile-settings-sidebar#integrations - %h4.gl-mt-0 - = s_('Preferences|Integrations') - %p - = s_('Preferences|Customize integrations with third party services.') - = succeed '.' do - = link_to _('Learn more'), help_page_path('user/profile/preferences.md', anchor: 'integrations'), target: '_blank' -.col-lg-8 - %label.label-bold - = s_('Preferences|Sourcegraph') - = link_to icon('question-circle'), help_page_path('user/profile/preferences.md', anchor: 'sourcegraph'), target: '_blank', class: 'has-tooltip', title: _('More information') - .form-group.form-check - = f.check_box :sourcegraph_enabled, class: 'form-check-input' - = f.label :sourcegraph_enabled, class: 'form-check-label' do - - link_start = '<a href="%{url}">'.html_safe % { url: sourcegraph_url } - - link_end = '</a>'.html_safe - = s_('Preferences|Enable integrated code intelligence on code views').html_safe % { link_start: link_start, link_end: link_end } - .form-text.text-muted - = sourcegraph_url_message - = sourcegraph_experimental_message +%label.label-bold + = s_('Preferences|Sourcegraph') += link_to sprite_icon('question-o'), help_page_path('user/profile/preferences.md', anchor: 'sourcegraph'), target: '_blank', class: 'has-tooltip', title: _('More information') +.form-group.form-check + = f.check_box :sourcegraph_enabled, class: 'form-check-input' + = f.label :sourcegraph_enabled, class: 'form-check-label' do + = s_('Preferences|Enable integrated code intelligence on code views').html_safe + .form-text.text-muted + = sourcegraph_url_message + = sourcegraph_experimental_message diff --git a/app/views/profiles/preferences/show.html.haml b/app/views/profiles/preferences/show.html.haml index 54ca8788864..2c705886f47 100644 --- a/app/views/profiles/preferences/show.html.haml +++ b/app/views/profiles/preferences/show.html.haml @@ -1,6 +1,9 @@ - page_title _('Preferences') - @content_class = "limit-container-width" unless fluid_layout +- Gitlab::Themes.each do |theme| + = stylesheet_link_tag "themes/theme_#{theme.css_class.gsub('ui-', '')}" + = form_for @user, url: profile_preferences_path, remote: true, method: :put, html: { class: 'row gl-mt-3 js-preferences-form' } do |f| .col-lg-4.application-theme#navigation-theme %h4.gl-mt-0 @@ -135,7 +138,7 @@ .form-text.text-muted = s_('Preferences|For example: 30 mins ago.') - = render 'sourcegraph', f: f + = render 'integrations', f: f .col-lg-4.profile-settings-sidebar .col-lg-8 diff --git a/app/views/profiles/preferences/update.js.erb b/app/views/profiles/preferences/update.js.erb index 8397acbf1b3..241262880c1 100644 --- a/app/views/profiles/preferences/update.js.erb +++ b/app/views/profiles/preferences/update.js.erb @@ -14,7 +14,7 @@ $('input[type=submit]').enable() // Show flash messages <% if flash.notice %> - new Flash('<%= flash.discard(:notice) %>', 'notice') + new Flash({ message: '<%= flash.discard(:notice) %>', type: 'notice'}) <% elsif flash.alert %> - new Flash('<%= flash.discard(:alert) %>', 'alert') + new Flash({ message: '<%= flash.discard(:alert) %>', type: 'alert'}) <% end %> diff --git a/app/views/profiles/show.html.haml b/app/views/profiles/show.html.haml index 672f9c9a0c0..1eb3a14525f 100644 --- a/app/views/profiles/show.html.haml +++ b/app/views/profiles/show.html.haml @@ -113,7 +113,7 @@ - private_profile_label = capture do = s_("Profiles|Don't display activity-related personal information on your profiles") = f.check_box :private_profile, label: private_profile_label, inline: true, wrapper_class: 'mr-0' - = link_to icon('question-circle'), help_page_path('user/profile/index.md', anchor: 'private-profile') + = link_to sprite_icon('question-o'), help_page_path('user/profile/index.md', anchor: 'private-profile') %h5= s_("Profiles|Private contributions") = f.check_box :include_private_contributions, label: s_('Profiles|Include private contributions on my profile'), wrapper_class: 'mb-2', inline: true .help-block @@ -135,10 +135,12 @@ %img.modal-profile-crop-image{ alt: s_("Profiles|Avatar cropper") } .crop-controls .btn-group - %button.btn.btn-primary{ data: { method: 'zoom', option: '0.1' } } - %span.fa.fa-search-plus %button.btn.btn-primary{ data: { method: 'zoom', option: '-0.1' } } - %span.fa.fa-search-minus + %span + = sprite_icon('search-minus') + %button.btn.btn-primary{ data: { method: 'zoom', option: '0.1' } } + %span + = sprite_icon('search-plus') .modal-footer %button.btn.btn-primary.js-upload-user-avatar{ type: 'button' } = s_("Profiles|Set new profile picture") diff --git a/app/views/profiles/two_factor_auths/create.html.haml b/app/views/profiles/two_factor_auths/create.html.haml index 973eb8136c4..5a756cca0ab 100644 --- a/app/views/profiles/two_factor_auths/create.html.haml +++ b/app/views/profiles/two_factor_auths/create.html.haml @@ -1,6 +1,6 @@ - page_title _('Two-factor Authentication'), _('Account') -.alert.alert-success +.gl-alert.gl-alert-success.gl-mb-5 = _('Congratulations! You have enabled Two-factor Authentication!') = render 'codes' diff --git a/app/views/profiles/two_factor_auths/show.html.haml b/app/views/profiles/two_factor_auths/show.html.haml index bce43b16d27..82265938180 100644 --- a/app/views/profiles/two_factor_auths/show.html.haml +++ b/app/views/profiles/two_factor_auths/show.html.haml @@ -1,6 +1,7 @@ - page_title _('Two-Factor Authentication'), _('Account') - add_to_breadcrumbs(_('Two-Factor Authentication'), profile_account_path) - @content_class = "limit-container-width" unless fluid_layout +- webauthn_enabled = Feature.enabled?(:webauthn) .js-two-factor-auth{ 'data-two-factor-skippable' => "#{two_factor_skippable?}", 'data-two_factor_skip_url' => skip_profile_two_factor_auth_path } .row.gl-mt-3 @@ -18,7 +19,7 @@ %div = link_to _('Disable two-factor authentication'), profile_two_factor_auth_path, method: :delete, - data: { confirm: _('Are you sure? This will invalidate your registered applications and U2F devices.') }, + data: { confirm: webauthn_enabled ? _('Are you sure? This will invalidate your registered applications and U2F / WebAuthn devices.') : _('Are you sure? This will invalidate your registered applications and U2F devices.') }, class: 'btn btn-danger gl-mr-3' = form_tag codes_profile_two_factor_auth_path, {style: 'display: inline-block', method: :post} do |f| = submit_tag _('Regenerate recovery codes'), class: 'btn' @@ -45,7 +46,7 @@ = _('Time based: Yes') = form_tag profile_two_factor_auth_path, method: :post do |f| - if @error - .alert.alert-danger + .gl-alert.gl-alert-danger.gl-mb-5 = @error .form-group = label_tag :pin_code, _('Pin code'), class: "label-bold" @@ -58,22 +59,35 @@ .row.gl-mt-3 .col-lg-4 %h4.gl-mt-0 - = _('Register Universal Two-Factor (U2F) Device') + - if webauthn_enabled + = _('Register WebAuthn Device') + - else + = _('Register Universal Two-Factor (U2F) Device') %p = _('Use a hardware device to add the second factor of authentication.') %p - = _("As U2F devices are only supported by a few browsers, we require that you set up a two-factor authentication app before a U2F device. That way you'll always be able to log in - even when you're using an unsupported browser.") + - if webauthn_enabled + = _("As WebAuthn devices are only supported by a few browsers, we require that you set up a two-factor authentication app before a WebAuthn device. That way you'll always be able to log in - even when you're using an unsupported browser.") + - else + = _("As U2F devices are only supported by a few browsers, we require that you set up a two-factor authentication app before a U2F device. That way you'll always be able to log in - even when you're using an unsupported browser.") .col-lg-8 - - if @u2f_registration.errors.present? - = form_errors(@u2f_registration) - = render "u2f/register" + - registration = webauthn_enabled ? @webauthn_registration : @u2f_registration + - if registration.errors.present? + = form_errors(registration) + - if webauthn_enabled + = render "authentication/register", target_path: create_webauthn_profile_two_factor_auth_path + - else + = render "authentication/register", target_path: create_u2f_profile_two_factor_auth_path %hr %h5 - = _('U2F Devices (%{length})') % { length: @u2f_registrations.length } + - if webauthn_enabled + = _('WebAuthn Devices (%{length})') % { length: @registrations.length } + - else + = _('U2F Devices (%{length})') % { length: @registrations.length } - - if @u2f_registrations.present? + - if @registrations.present? .table-responsive %table.table.table-bordered.u2f-registrations %colgroup @@ -86,12 +100,15 @@ %th= s_('2FADevice|Registered On') %th %tbody - - @u2f_registrations.each do |registration| + - @registrations.each do |registration| %tr - %td= registration.name.presence || html_escape_once(_("<no name set>")).html_safe - %td= registration.created_at.to_date.to_s(:medium) - %td= link_to _('Delete'), profile_u2f_registration_path(registration), method: :delete, class: "btn btn-danger float-right", data: { confirm: _('Are you sure you want to delete this device? This action cannot be undone.') } + %td= registration[:name].presence || html_escape_once(_("<no name set>")).html_safe + %td= registration[:created_at].to_date.to_s(:medium) + %td= link_to _('Delete'), registration[:delete_path], method: :delete, class: "btn btn-danger float-right", data: { confirm: _('Are you sure you want to delete this device? This action cannot be undone.') } - else .settings-message.text-center - = _("You don't have any U2F devices registered yet.") + - if webauthn_enabled + = _("You don't have any WebAuthn devices registered yet.") + - else + = _("You don't have any U2F devices registered yet.") |