summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-01-22 19:05:01 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-01-22 19:05:01 +0200
commit70690e1971f6d009da9a37782764ae7446f69636 (patch)
treef8360d13ca2b44e4531cd90120b407ced93c935d
parente0fb0703c4fecb6ed036d7599b0692de9c92b206 (diff)
downloadgitlab-ce-70690e1971f6d009da9a37782764ae7446f69636.tar.gz
base implementation
-rw-r--r--app/assets/stylesheets/gitlab_bootstrap/common.scss1
-rw-r--r--app/assets/stylesheets/sections/header.scss2
-rw-r--r--app/controllers/users_controller.rb7
-rw-r--r--app/helpers/events_helper.rb7
-rw-r--r--app/views/users/show.html.haml44
-rw-r--r--config/routes.rb3
6 files changed, 59 insertions, 5 deletions
diff --git a/app/assets/stylesheets/gitlab_bootstrap/common.scss b/app/assets/stylesheets/gitlab_bootstrap/common.scss
index 6f439c9eaed..f6b4881658c 100644
--- a/app/assets/stylesheets/gitlab_bootstrap/common.scss
+++ b/app/assets/stylesheets/gitlab_bootstrap/common.scss
@@ -95,6 +95,7 @@ img.avatar { float: left; margin-right: 12px; width: 40px; border: 1px solid #dd
img.avatar.s16 { width: 16px; height: 16px; margin-right: 6px; }
img.avatar.s24 { width: 24px; height: 24px; margin-right: 8px; }
img.avatar.s32 { width: 32px; height: 32px; margin-right: 10px; }
+img.avatar.s90 { width: 90px; height: 90px; margin-right: 15px; }
img.lil_av { padding-left: 4px; padding-right: 3px; }
img.small { width: 80px; }
diff --git a/app/assets/stylesheets/sections/header.scss b/app/assets/stylesheets/sections/header.scss
index 048a3ffcbb2..5fe18131828 100644
--- a/app/assets/stylesheets/sections/header.scss
+++ b/app/assets/stylesheets/sections/header.scss
@@ -13,7 +13,7 @@ header {
color: $style_color;
text-shadow: 0 1px 0 #fff;
font-size: 18px;
- padding: 11px;
+ padding: 12px;
}
/** NAV block with links and profile **/
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
new file mode 100644
index 00000000000..4d106dc7a21
--- /dev/null
+++ b/app/controllers/users_controller.rb
@@ -0,0 +1,7 @@
+class UsersController < ApplicationController
+ def show
+ @user = User.find_by_username(params[:username])
+ @projects = @user.authorized_projects.where('projects.id in (?)', current_user.authorized_projects.map(&:id))
+ @events = @user.recent_events.where(project_id: @projects.map(&:id)).limit(20)
+ end
+end
diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb
index f4d9b17bce5..38374e3394d 100644
--- a/app/helpers/events_helper.rb
+++ b/app/helpers/events_helper.rb
@@ -1,10 +1,9 @@
module EventsHelper
def link_to_author(event)
- project = event.project
- tm = project.team_member_by_id(event.author_id) if project
+ author = event.author
- if tm
- link_to event.author_name, project_team_member_path(project, tm)
+ if author
+ link_to author.name, user_path(author.username)
else
event.author_name
end
diff --git a/app/views/users/show.html.haml b/app/views/users/show.html.haml
new file mode 100644
index 00000000000..613ff358a87
--- /dev/null
+++ b/app/views/users/show.html.haml
@@ -0,0 +1,44 @@
+.row
+ .span8
+ %h3.page_title
+ = image_tag gravatar_icon(@user.email, 90), class: "avatar s90"
+ = @user.name
+ %span.light (@#{@user.username})
+ .clearfix
+ %hr
+ %h5 Recent events
+ = render @events
+ .span4
+ .ui-box
+ %h5.title Profile
+ %ul.well-list
+ %li
+ %strong Email
+ %span.right= mail_to @user.email
+ - unless @user.skype.blank?
+ %li
+ %strong Skype
+ %span.right= @user.skype
+ - unless @user.linkedin.blank?
+ %li
+ %strong LinkedIn
+ %span.right= @user.linkedin
+ - unless @user.twitter.blank?
+ %li
+ %strong Twitter
+ %span.right= @user.twitter
+ - unless @user.bio.blank?
+ %li
+ %strong Bio
+ %span.right= @user.bio
+ .ui-box
+ %h5.title Projects
+ %ul.well-list
+ - @projects.each do |project|
+ %li
+ = link_to project_path(project), class: dom_class(project) do
+ - if project.namespace
+ = project.namespace.human_name
+ \/
+ %strong.well-title
+ = truncate(project.name, length: 45)
diff --git a/config/routes.rb b/config/routes.rb
index 00ff3f63752..c48d66a78e8 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -97,6 +97,9 @@ Gitlab::Application.routes.draw do
end
resources :keys
+ match "/u/:username" => "users#show", as: :user
+
+
#
# Dashboard Area