Merge branch 'improve-profile-page'

This commit is contained in:
Dmitriy Zaporozhets 2015-11-03 17:33:29 +01:00
commit 482a17089f
9 changed files with 109 additions and 50 deletions

View file

@ -25,6 +25,7 @@ v 8.2.0 (unreleased)
v 8.1.3
- Spread out runner contacted_at updates
- New design for user profile page
v 8.1.1
- Fix cloning Wiki repositories via HTTP (Stan Hu)

View file

@ -25,7 +25,7 @@ class @Calendar
30
]
legendCellPadding: 3
cellSize: $('.user-calendar').width() / 80
cellSize: $('.user-calendar').width() / 76
onClick: (date, count) ->
formated_date = date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate()
$.ajax

View file

@ -100,7 +100,7 @@
}
.cover-desc {
padding: 0 $gl-padding;
padding: 0 $gl-padding 3px;
color: $gl-text-color;
}

View file

@ -387,6 +387,16 @@ table {
}
}
.center-middle-menu {
@include nav-menu;
text-align: center;
margin: -$gl-padding;
height: auto;
margin-top: 0;
margin-bottom: 0;
border-bottom: 1px solid $border-color;
}
.dropzone .dz-preview .dz-progress {
border-color: $border-color !important;
}

View file

@ -53,3 +53,29 @@
float: right;
font-size: 12px;
}
.profile-link-holder {
display: inline;
&:after {
content: "\00B7";
padding: 0px 6px;
font-weight: bold;
}
&:last-child {
&:after {
content: "";
padding: 0;
}
}
a {
color: $blue-dark;
text-decoration: none;
}
}
.cal-heatmap-container {
margin: 0 auto;
}

View file

@ -1,13 +0,0 @@
- if local_assigns.has_key?(:contributed_projects) && contributed_projects.present?
.panel.panel-default.contributed-projects
.panel-heading Projects contributed to
= render 'shared/projects/list',
projects: contributed_projects.sort_by(&:star_count).reverse,
projects_limit: 5, stars: true, avatar: false
- if local_assigns.has_key?(:projects) && projects.present?
.panel.panel-default
.panel-heading Personal projects
= render 'shared/projects/list',
projects: projects.sort_by(&:star_count).reverse,
projects_limit: 10, stars: true, avatar: false

View file

@ -24,22 +24,27 @@
.cover-desc
- unless @user.public_email.blank?
= link_to @user.public_email, "mailto:#{@user.public_email}"
.profile-link-holder
= link_to @user.public_email, "mailto:#{@user.public_email}"
- unless @user.skype.blank?
·
= link_to "Skype", "skype:#{@user.skype}"
.profile-link-holder
= link_to "skype:#{@user.skype}", title: "Skype" do
= icon('skype')
- unless @user.linkedin.blank?
·
= link_to "LinkedIn", "http://www.linkedin.com/in/#{@user.linkedin}"
.profile-link-holder
= link_to "http://www.linkedin.com/in/#{@user.linkedin}", title: "LinkedIn" do
= icon('linkedin-square')
- unless @user.twitter.blank?
·
= link_to "Twitter", "http://www.twitter.com/#{@user.twitter}"
.profile-link-holder
= link_to "http://www.twitter.com/#{@user.twitter}", title: "Twitter" do
= icon('twitter-square')
- unless @user.website_url.blank?
·
= link_to @user.short_website_url, @user.full_website_url
.profile-link-holder
= link_to @user.short_website_url, @user.full_website_url
- unless @user.location.blank?
·
= @user.location
.profile-link-holder
= icon('map-marker')
= @user.location
.cover-controls
@ -47,7 +52,7 @@
= link_to profile_path, class: 'btn btn-gray' do
= icon('pencil')
- elsif current_user
.report-abuse
%span.report-abuse
- if @user.abuse_report
%button.btn.btn-danger{ title: 'Already reported for abuse',
data: { toggle: 'tooltip', placement: 'left', container: 'body' }}
@ -56,6 +61,10 @@
= link_to new_abuse_report_path(user_id: @user.id), class: 'btn btn-gray',
title: 'Report abuse', data: {toggle: 'tooltip', placement: 'left', 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')
.gray-content-block.second-block
.user-calendar
@ -64,27 +73,47 @@
.user-calendar-activities
.row.prepend-top-20
%section.col-md-7
- if @groups.any?
.prepend-top-20
%h4 Groups
= render 'groups', groups: @groups
%hr
%h4
User Activity
- if current_user
%span.rss-icon.pull-right
= link_to user_path(@user, :atom, { private_token: current_user.private_token }) do
%strong
%i.fa.fa-rss
%ul.nav.center-middle-menu
%li.active
= link_to "#activity", 'data-toggle' => 'tab' do
Activity
- if @groups.any?
%li
= link_to "#groups", 'data-toggle' => 'tab' do
Groups
- if @contributed_projects.present?
%li
= link_to "#contributed", 'data-toggle' => 'tab' do
Contributed projects
- if @projects.present?
%li
= link_to "#personal", 'data-toggle' => 'tab' do
Personal projects
.tab-content
.tab-pane.active#activity
.content_list
= spinner
%aside.col-md-5
= render 'projects', projects: @projects, contributed_projects: @contributed_projects
- if @groups.any?
.tab-pane#groups
%ul.content-list
- @groups.each do |group|
= render 'shared/groups/group', group: group
- if @contributed_projects.present?
.tab-pane#contributed
.contributed-projects
= render 'shared/projects/list',
projects: @contributed_projects.sort_by(&:star_count).reverse,
projects_limit: 5, stars: true, avatar: false
- if @projects.present?
.tab-pane#personal
.personal-projects
= render 'shared/projects/list',
projects: @projects.sort_by(&:star_count).reverse,
projects_limit: 10, stars: true, avatar: false
:coffeescript
$(".user-calendar").load("#{user_calendar_path}")

View file

@ -7,6 +7,7 @@ Feature: Profile
Given I visit profile page
Then I should see my profile info
@javascript
Scenario: I can see groups I belong to
Given I have group with projects
When I visit profile page

View file

@ -59,7 +59,7 @@ class Spinach::Features::Profile < Spinach::FeatureSteps
step 'I should not see the "Remove avatar" button' do
expect(page).not_to have_link("Remove avatar")
end
step 'I should see the gravatar host link' do
expect(page).to have_link("gravatar.com")
end
@ -159,10 +159,9 @@ class Spinach::Features::Profile < Spinach::FeatureSteps
end
step 'I should see my user page' do
expect(page).to have_content "User Activity"
page.within '.navbar-gitlab' do
page.within ".cover-block" do
expect(page).to have_content current_user.name
expect(page).to have_content current_user.username
end
end
@ -176,7 +175,13 @@ class Spinach::Features::Profile < Spinach::FeatureSteps
end
step 'I should see groups I belong to' do
expect(page).to have_css('.profile-groups-avatars', visible: true)
page.within ".content" do
click_link "Groups"
end
page.within "#groups" do
expect(page).to have_content @group.name
end
end
step 'I click on new application button' do