2017-08-16 05:35:59 -04:00
- breadcrumb_title "Edit Profile"
2017-06-22 10:47:50 -04:00
- @content_class = "limit-container-width" unless fluid_layout
2016-06-30 12:42:07 -04:00
= render 'profiles/head'
2016-06-28 14:17:29 -04:00
2017-09-01 21:13:14 -04:00
= bootstrap_form_for @user, url: profile_path, method: :put, html: { multipart: true, class: 'edit-user prepend-top-default js-quick-submit' }, authenticity_token: true do |f|
2016-04-04 21:25:38 -04:00
= form_errors(@user)
2012-03-23 19:01:36 -04:00
.row
2017-06-22 10:47:50 -04:00
.col-lg-4.profile-settings-sidebar
2016-02-29 06:37:27 -05:00
%h4.prepend-top-0
Public Avatar
%p
- if @user.avatar?
You can change your avatar here
2016-04-30 10:35:10 -04:00
- if gravatar_enabled?
2017-04-28 11:33:23 -04:00
or remove the current avatar to revert to #{link_to Gitlab.config.gravatar.host, 'http://' + Gitlab.config.gravatar.host}
2016-02-29 06:37:27 -05:00
- else
You can upload an avatar here
2016-04-30 10:35:10 -04:00
- if gravatar_enabled?
2017-04-28 11:33:23 -04:00
or change it at #{link_to Gitlab.config.gravatar.host, 'http://' + Gitlab.config.gravatar.host}
2017-06-22 10:47:50 -04:00
.col-lg-8
2016-02-29 06:37:27 -05:00
.clearfix.avatar-image.append-bottom-default
2017-03-15 17:21:48 -04:00
= link_to avatar_icon(@user, 400), target: '_blank', rel: 'noopener noreferrer' do
2017-01-03 08:51:19 -05:00
= image_tag avatar_icon(@user, 160), alt: '', class: 'avatar s160'
2016-02-29 06:37:27 -05:00
%h5.prepend-top-0
Upload new avatar
.prepend-top-5.append-bottom-10
%a.btn.js-choose-user-avatar-button
Browse file...
%span.avatar-file-name.prepend-left-default.js-avatar-filename No file chosen
2017-04-28 11:33:23 -04:00
= f.file_field_without_bootstrap :avatar, class: 'js-user-avatar-input hidden', accept: 'image/*'
2016-02-29 06:37:27 -05:00
.help-block
The maximum file size allowed is 200KB.
- if @user.avatar?
%hr
2017-04-28 11:33:23 -04:00
= link_to 'Remove avatar', profile_avatar_path, data: { confirm: 'Avatar will be removed. Are you sure?' }, method: :delete, class: 'btn btn-gray'
2016-02-29 06:37:27 -05:00
%hr
.row
2017-06-22 10:47:50 -04:00
.col-lg-4.profile-settings-sidebar
2016-02-29 06:37:27 -05:00
%h4.prepend-top-0
Main settings
%p
This information will appear on your profile.
- if current_user.ldap_user?
Some options are unavailable for LDAP accounts
2017-06-22 10:47:50 -04:00
.col-lg-8
2017-06-13 13:13:01 -04:00
.row
2017-08-29 04:57:41 -04:00
- if @user.read_only_attribute?(:name)
= f.text_field :name, required: true, readonly: true, wrapper: { class: 'col-md-9' },
help: "Your name was automatically set based on your #{ attribute_provider_label(:name) } account, so people you know can recognize you."
- else
= f.text_field :name, required: true, wrapper: { class: 'col-md-9' }, help: "Enter your name, so people you know can recognize you."
2017-04-28 11:33:23 -04:00
= f.text_field :id, readonly: true, label: 'User ID', wrapper: { class: 'col-md-3' }
2017-06-13 13:13:01 -04:00
2017-08-29 04:57:41 -04:00
- if @user.read_only_attribute?(:email)
= f.text_field :email, required: true, readonly: true, help: "Your email address was automatically set based on your #{ attribute_provider_label(:email) } account."
2017-04-28 11:33:23 -04:00
- else
= f.text_field :email, required: true, value: (@user.email unless @user.temp_oauth_email?),
help: user_email_help_text(@user)
= f.select :public_email, options_for_select(@user.all_emails, selected: @user.public_email),
{ help: 'This email will be displayed on your public profile.', include_blank: 'Do not show on profile' },
control_class: 'select2'
= f.select :preferred_language, Gitlab::I18n::AVAILABLE_LANGUAGES.map { |value, label| [label, value] },
{ help: 'This feature is experimental and translations are not complete yet.' },
control_class: 'select2'
= f.text_field :skype
= f.text_field :linkedin
= f.text_field :twitter
= f.text_field :website_url, label: 'Website'
2017-08-29 04:57:41 -04:00
- if @user.read_only_attribute?(:location)
= f.text_field :location, readonly: true, help: "Your location was automatically set based on your #{ attribute_provider_label(:location) } account."
- else
= f.text_field :location
2017-04-28 11:33:23 -04:00
= f.text_field :organization
= f.text_area :bio, rows: 4, maxlength: 250, help: 'Tell us about yourself in fewer than 250 characters.'
2016-02-29 06:37:27 -05:00
.prepend-top-default.append-bottom-default
2017-04-28 11:33:23 -04:00
= f.submit 'Update profile settings', class: 'btn btn-success'
= link_to 'Cancel', user_path(current_user), class: 'btn btn-cancel'
2016-03-17 10:48:47 -04:00
.modal.modal-profile-crop
.modal-dialog
.modal-content
.modal-header
2017-04-28 11:33:23 -04:00
%button.close{ type: 'button', 'data-dismiss': 'modal' }
2016-03-17 10:48:47 -04:00
%span
×
%h4.modal-title
Position and size your new avatar
.modal-body
.profile-crop-image-container
2017-04-28 11:33:23 -04:00
%img.modal-profile-crop-image{ alt: 'Avatar cropper' }
2016-03-17 10:48:47 -04:00
.crop-controls
.btn-group
2017-04-28 11:33:23 -04:00
%button.btn.btn-primary{ data: { method: 'zoom', option: '0.1' } }
2016-03-17 10:48:47 -04:00
%span.fa.fa-search-plus
2017-04-28 11:33:23 -04:00
%button.btn.btn-primary{ data: { method: 'zoom', option: '-0.1' } }
2016-03-17 10:48:47 -04:00
%span.fa.fa-search-minus
.modal-footer
2017-04-28 11:33:23 -04:00
%button.btn.btn-primary.js-upload-user-avatar{ type: 'button' }
2016-03-17 10:48:47 -04:00
Set new profile picture