Commit 376bec26de89c3d287560e5fe755deeaffc68d67
1 parent
34e15801
Exists in
master
and in
4 other branches
Added dashboard page. Projects page not root from now
Showing
16 changed files
with
141 additions
and
39 deletions
Show diff stats
app/assets/images/Gear-UI.PNG
940 Bytes
556 Bytes
app/assets/stylesheets/common.scss
... | ... | @@ -40,6 +40,7 @@ a { |
40 | 40 | .cred { color:#D12F19; } |
41 | 41 | .cgreen { color:#44aa22; } |
42 | 42 | .cblack { color:#111; } |
43 | +.cwhite { color:#fff !important } | |
43 | 44 | |
44 | 45 | /** COMMON STYLES **/ |
45 | 46 | .left { |
... | ... | @@ -75,6 +76,10 @@ a { |
75 | 76 | .no-borders { |
76 | 77 | border:none; |
77 | 78 | } |
79 | +table.no-borders { | |
80 | + border:none; | |
81 | + tr, td { border:none } | |
82 | +} | |
78 | 83 | .no-padding { |
79 | 84 | padding:0 !important; |
80 | 85 | } |
... | ... | @@ -433,7 +438,7 @@ input.git_clone_url { |
433 | 438 | } |
434 | 439 | |
435 | 440 | .project_list_url { |
436 | - width:270px; | |
441 | + width:250px; | |
437 | 442 | background:#fff !important; |
438 | 443 | } |
439 | 444 | |
... | ... | @@ -441,7 +446,7 @@ input.git_clone_url { |
441 | 446 | @include shade; |
442 | 447 | @include round-borders-all(4px); |
443 | 448 | margin-bottom:20px; |
444 | - width:338px; | |
449 | + width:298px; | |
445 | 450 | float:left; |
446 | 451 | margin-left:20px; |
447 | 452 | border: 1px solid #DDD; |
... | ... | @@ -600,3 +605,24 @@ p.time { |
600 | 605 | font-size: 90%; |
601 | 606 | margin: 30px 3px 3px 2px; |
602 | 607 | } |
608 | + | |
609 | + | |
610 | +.dashboard_category { | |
611 | + margin-bottom:30px; | |
612 | + | |
613 | + .dashboard_block { | |
614 | + width:700px; | |
615 | + margin:auto; | |
616 | + | |
617 | + .wll { | |
618 | + border:none; | |
619 | + &:hover { | |
620 | + background:none; | |
621 | + } | |
622 | + | |
623 | + h4 { | |
624 | + color:#666; | |
625 | + } | |
626 | + } | |
627 | + } | |
628 | +} | ... | ... |
app/assets/stylesheets/ui_basic.scss
... | ... | @@ -57,11 +57,30 @@ |
57 | 57 | text-shadow: 0 1px 1px #FFF; |
58 | 58 | } |
59 | 59 | |
60 | - img { | |
61 | - float: left; | |
62 | - position: relative; | |
63 | - top: -9px; | |
64 | - width:46px; | |
60 | + &.home { | |
61 | + img { | |
62 | + float: left; | |
63 | + position: relative; | |
64 | + top: -9px; | |
65 | + width:46px; | |
66 | + | |
67 | + } | |
68 | + } | |
69 | + &.admin_link { | |
70 | + width:16px; | |
71 | + height:16px; | |
72 | + padding: 5px; | |
73 | + border: 1px solid #ccc; | |
74 | + border-radius: 4px; | |
75 | + margin: 0px; | |
76 | + background: #eee; | |
77 | + margin-left:20px; | |
78 | + &:hover { | |
79 | + background:#f7f7f7; | |
80 | + } | |
81 | + img { | |
82 | + width:16px; | |
83 | + } | |
65 | 84 | } |
66 | 85 | } |
67 | 86 | } | ... | ... |
app/controllers/dashboard_controller.rb
... | ... | @@ -3,7 +3,14 @@ class DashboardController < ApplicationController |
3 | 3 | |
4 | 4 | def index |
5 | 5 | @projects = current_user.projects.all |
6 | + | |
6 | 7 | @active_projects = @projects.select(&:repo_exists?).select(&:last_activity_date_cached).sort_by(&:last_activity_date_cached).reverse |
8 | + | |
9 | + @merge_requests = MergeRequest.where("author_id = :id or assignee_id = :id", :id => current_user.id).opened.order("created_at DESC").limit(10) | |
10 | + | |
11 | + @user = current_user | |
12 | + @issues = current_user.assigned_issues.opened.order("created_at DESC").limit(10) | |
13 | + @issues = @issues.includes(:author, :project) | |
7 | 14 | end |
8 | 15 | |
9 | 16 | # Get authored or assigned open merge requests | ... | ... |
app/views/dashboard/_projects_feed.html.haml
1 | -- @active_projects.first(3).each do |project| | |
2 | - = link_to project do | |
3 | - %h4= project.name | |
4 | - - project.updates(3).each do |update| | |
5 | - %a.project-update{:href => dashboard_feed_path(project, update)} | |
6 | - = image_tag gravatar_icon(update.author_email), :class => "avatar", :width => 32 | |
7 | - %div | |
8 | - = dashboard_feed_title(update) | |
9 | - %span.update-author | |
10 | - %strong= update.author_name | |
11 | - authored | |
12 | - = time_ago_in_words(update.created_at) | |
13 | - ago | |
14 | - .right | |
15 | - - klass = update.class.to_s.split("::").last.downcase | |
16 | - %span.tag{ :class => klass }= klass | |
17 | - | |
1 | +- @active_projects.first(10).each do |project| | |
2 | + .wll | |
3 | + = link_to project do | |
4 | + %h4 | |
5 | + = project.name | |
6 | + %small | |
7 | + last activity at | |
8 | + = project.last_activity_date_cached.stamp("Aug 25, 2011") | ... | ... |
app/views/dashboard/index.html.haml
1 | -%h3 Activities | |
2 | -%hr | |
3 | -.news-feed= render "dashboard/projects_feed" | |
1 | +- if current_user.require_ssh_key? | |
2 | + .alert-message.warning | |
3 | + %p | |
4 | + You wont be able to pull/push project code unless you | |
5 | + = link_to new_key_path, :class => "vlink" do | |
6 | + add new key | |
7 | + to your profile | |
8 | + | |
9 | +%div.dashboard_category | |
10 | + %h3 | |
11 | + Projects | |
12 | + %small | |
13 | + ( most recent ) | |
14 | + | |
15 | + %strong.right | |
16 | + = link_to projects_path do | |
17 | + Projects list → | |
18 | + %hr | |
19 | + .row | |
20 | + .dashboard_block | |
21 | + .row | |
22 | + .span9= render "dashboard/projects_feed" | |
23 | + .span3.right | |
24 | + - if current_user.can_create_project? | |
25 | + .alert-message.block-message.warning | |
26 | + You can create up to | |
27 | + = current_user.projects_limit | |
28 | + projects. Click on link below to add a new one | |
29 | + .link_holder | |
30 | + = link_to new_project_path, :class => "" do | |
31 | + New Project » | |
32 | + | |
33 | + | |
34 | +- unless @merge_requests.blank? | |
35 | + %div.dashboard_category | |
36 | + %h3 | |
37 | + Merge Requests | |
38 | + %small ( authored or assigned to you ) | |
39 | + %strong.right | |
40 | + = link_to dashboard_merge_requests_path do | |
41 | + Vist merge requests page → | |
42 | + %hr | |
43 | + .row | |
44 | + .dashboard_block= render "dashboard/merge_requests_feed" | |
45 | + | |
46 | +- unless @issues.blank? | |
47 | + %div.dashboard_category | |
48 | + %h3 | |
49 | + Issues | |
50 | + %small ( assigned to you ) | |
51 | + %strong.right | |
52 | + = link_to dashboard_merge_requests_path do | |
53 | + Vist issues page → | |
54 | + %hr | |
55 | + .row | |
56 | + .dashboard_block= render "dashboard/issues_feed" | ... | ... |
app/views/dashboard/issues.html.haml
app/views/dashboard/merge_requests.html.haml
app/views/layouts/_app_menu.html.haml
1 | 1 | %nav.main_menu |
2 | 2 | = render "layouts/const_menu_links" |
3 | - -#= link_to "Projects", projects_path, :class => "#{"current" if current_page?(projects_path) || current_page?(root_path)}" | |
3 | + = link_to "Projects", projects_path, :class => "#{"current" if current_page?(projects_path)}" | |
4 | 4 | = link_to "Issues", dashboard_issues_path, :class => "#{"current" if current_page?(dashboard_issues_path)}", :id => "issues_slide" |
5 | 5 | = link_to "Requests", dashboard_merge_requests_path, :class => "#{"current" if current_page?(dashboard_merge_requests_path)}", :id => "merge_requests_slide" |
6 | 6 | = link_to "Help", help_path, :class => "#{"current" if controller.controller_name == "help"}" | ... | ... |
app/views/layouts/_const_menu_links.html.haml
app/views/layouts/_head_panel.html.haml
... | ... | @@ -5,7 +5,11 @@ |
5 | 5 | %div.app_logo |
6 | 6 | = link_to root_path, :class => "home", :title => "Home" do |
7 | 7 | = image_tag "logo_tr.png", :width => 50 |
8 | - %h1 GITLAB | |
8 | + %h1 | |
9 | + GITLAB | |
10 | + | |
11 | + = link_to admin_projects_path, :class => "admin_link", :title => "Admin area" do | |
12 | + = image_tag "admin.PNG", :width => 16 | |
9 | 13 | |
10 | 14 | %h1.project_name= title |
11 | 15 | .search= text_field_tag "search", nil, :placeholder => "Search", :class => "search-input" | ... | ... |
app/views/layouts/application.html.haml
app/views/projects/_tile.html.haml
app/views/projects/index.html.haml