
* master: (389 commits)
Document "No gems fetched from git repositories" policy [ci skip]
Typos
Small gramatical tweaks
Typos
Added PHP & NPM doc
Use `:empty_project` where possible in request specs
Add caching of droplab ajax requests
Use `:empty_project` where possible in model specs
Revert 3f17f29a
Remove unused js response from refs controller
Add MR id to changelog entry
fixed small mini pipeline graph line glitch
Prevent form to be submitted twice
Fix Error 500 when repositories contain annotated tags pointing to blobs
Fix /explore sorting (trending)
Simplify wording in "adding an image" docs
Remove "official merge window" from CONTRIBUTING.md [ci skip]
Update repository check documentation
Fixed flexbox and wrap issues
Update two_factor_authentication.md
...
132 lines
4.9 KiB
Text
132 lines
4.9 KiB
Text
- page_title @user.name
|
|
- page_description @user.bio
|
|
- content_for :page_specific_javascripts do
|
|
= page_specific_javascript_bundle_tag('lib_d3')
|
|
= page_specific_javascript_bundle_tag('users')
|
|
- header_title @user.name, user_path(@user)
|
|
- @no_container = true
|
|
|
|
= content_for :meta_tags do
|
|
= auto_discovery_link_tag(:atom, user_url(@user, format: :atom), title: "#{@user.name} activity")
|
|
|
|
.user-profile
|
|
.cover-block.user-cover-block
|
|
.cover-controls
|
|
- if @user == current_user
|
|
= link_to profile_path, class: 'btn btn-gray' do
|
|
= icon('pencil')
|
|
- elsif current_user
|
|
- if @user.abuse_report
|
|
%button.btn.btn-danger{ title: 'Already reported for abuse',
|
|
data: { toggle: 'tooltip', placement: 'bottom', container: 'body' } }
|
|
= icon('exclamation-circle')
|
|
- else
|
|
= link_to new_abuse_report_path(user_id: @user.id, ref_url: request.referrer), class: 'btn btn-gray',
|
|
title: 'Report abuse', data: { toggle: 'tooltip', placement: 'bottom', container: 'body' } do
|
|
= icon('exclamation-circle')
|
|
- if current_user
|
|
= link_to user_path(@user, :atom, { private_token: current_user.private_token }), class: 'btn btn-gray' do
|
|
= icon('rss')
|
|
- if current_user.admin?
|
|
= link_to [:admin, @user], class: 'btn btn-gray', title: 'View user in admin area',
|
|
data: {toggle: 'tooltip', placement: 'bottom', container: 'body'} do
|
|
= icon('users')
|
|
|
|
.profile-header
|
|
.avatar-holder
|
|
= link_to avatar_icon(@user, 400), target: '_blank' do
|
|
= image_tag avatar_icon(@user, 90), class: "avatar s90", alt: ''
|
|
|
|
.user-info
|
|
.cover-title
|
|
= @user.name
|
|
|
|
.cover-desc.member-date
|
|
%span.middle-dot-divider
|
|
@#{@user.username}
|
|
%span.middle-dot-divider
|
|
Member since #{@user.created_at.to_s(:medium)}
|
|
|
|
.cover-desc
|
|
- unless @user.public_email.blank?
|
|
.profile-link-holder.middle-dot-divider
|
|
= link_to @user.public_email, "mailto:#{@user.public_email}"
|
|
- unless @user.skype.blank?
|
|
.profile-link-holder.middle-dot-divider
|
|
= link_to "skype:#{@user.skype}", title: "Skype" do
|
|
= icon('skype')
|
|
- unless @user.linkedin.blank?
|
|
.profile-link-holder.middle-dot-divider
|
|
= link_to "https://www.linkedin.com/in/#{@user.linkedin}", title: "LinkedIn" do
|
|
= icon('linkedin-square')
|
|
- unless @user.twitter.blank?
|
|
.profile-link-holder.middle-dot-divider
|
|
= link_to "https://twitter.com/#{@user.twitter}", title: "Twitter" do
|
|
= icon('twitter-square')
|
|
- unless @user.website_url.blank?
|
|
.profile-link-holder.middle-dot-divider
|
|
= link_to @user.short_website_url, @user.full_website_url
|
|
- unless @user.location.blank?
|
|
.profile-link-holder.middle-dot-divider
|
|
= icon('map-marker')
|
|
= @user.location
|
|
- unless @user.organization.blank?
|
|
.profile-link-holder.middle-dot-divider
|
|
= icon('building')
|
|
= @user.organization
|
|
|
|
- if @user.bio.present?
|
|
.cover-desc
|
|
%p.profile-user-bio
|
|
= @user.bio
|
|
|
|
%ul.nav-links.center.user-profile-nav
|
|
%li.js-activity-tab
|
|
= link_to user_path, data: {target: 'div#activity', action: 'activity', toggle: 'tab'} do
|
|
Activity
|
|
%li.js-groups-tab
|
|
= link_to user_groups_path, data: {target: 'div#groups', action: 'groups', toggle: 'tab'} do
|
|
Groups
|
|
%li.js-contributed-tab
|
|
= link_to user_contributed_projects_path, data: {target: 'div#contributed', action: 'contributed', toggle: 'tab'} do
|
|
Contributed projects
|
|
%li.js-projects-tab
|
|
= link_to user_projects_path, data: {target: 'div#projects', action: 'projects', toggle: 'tab'} do
|
|
Personal projects
|
|
%li.js-snippets-tab
|
|
= link_to user_snippets_path, data: {target: 'div#snippets', action: 'snippets', toggle: 'tab'} do
|
|
Snippets
|
|
|
|
%div{ class: container_class }
|
|
.tab-content
|
|
#activity.tab-pane
|
|
.row-content-block.calender-block.white.second-block.hidden-xs
|
|
.user-calendar{ data: { href: user_calendar_path } }
|
|
%h4.center.light
|
|
%i.fa.fa-spinner.fa-spin
|
|
.user-calendar-activities
|
|
|
|
.content_list{ data: { href: user_path } }
|
|
= spinner
|
|
|
|
#groups.tab-pane
|
|
-# This tab is always loaded via AJAX
|
|
|
|
#contributed.tab-pane
|
|
-# This tab is always loaded via AJAX
|
|
|
|
#projects.tab-pane
|
|
-# This tab is always loaded via AJAX
|
|
|
|
#snippets.tab-pane
|
|
-# This tab is always loaded via AJAX
|
|
|
|
.loading-status
|
|
= spinner
|
|
|
|
:javascript
|
|
var userProfile;
|
|
|
|
userProfile = new gl.User({
|
|
action: "#{controller.action_name}"
|
|
});
|