OSDN Git Service

mixed dashboard - first try
authorDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>
Thu, 8 Dec 2011 19:17:53 +0000 (21:17 +0200)
committerDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>
Thu, 8 Dec 2011 19:17:53 +0000 (21:17 +0200)
12 files changed:
app/assets/stylesheets/projects.css.scss
app/assets/stylesheets/style.scss
app/controllers/user_issues_controller.rb
app/controllers/user_merge_requests_controller.rb
app/views/dashboard/_issues_feed.html.haml [new file with mode: 0644]
app/views/dashboard/_merge_requests_feed.html.haml [new file with mode: 0644]
app/views/dashboard/_projects_feed.html.haml [new file with mode: 0644]
app/views/dashboard/index.html.haml
app/views/issues/_show.html.haml
app/views/layouts/_head_panel.html.erb
app/views/user_issues/index.html.haml
app/views/user_merge_requests/index.html.haml

index adf4614..a456d64 100644 (file)
@@ -506,3 +506,4 @@ body.project-page table.no-borders td{
   top: 6px;
   right: 5px;
 }
+.box-arrow{float: right; background: #E3E5EA; padding: 10px; border-radius: 5px; margin-top: 2px; text-shadow: none; color: #999; margin: 1.5em 0;}
index ca17f04..3ba2662 100644 (file)
@@ -351,7 +351,7 @@ header h1.logo a{
   text-indent: -1000em;
 }
 
-header nav{border-radius: 4px; box-shadow: 0 1px 2px black; width: 392px; margin: auto;
+header nav{border-radius: 4px; box-shadow: 0 1px 2px black; width: 294px; margin: auto;
   background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #595d63), to(#31363e));
   background-image: -webkit-linear-gradient(#595d63 6.6%, #31363e);
   background-image: -moz-linear-gradient(#595d63 6.6%, #31363e);
index 4b2245a..d7613aa 100644 (file)
@@ -1,11 +1,10 @@
 class UserIssuesController < ApplicationController
   before_filter :authenticate_user!
 
-  layout "user"
-
   respond_to :js, :html
 
   def index
+    @projects = current_user.projects.all
     @user   = current_user
     @issues = current_user.assigned_issues.opened
 
index 7b6710d..879499e 100644 (file)
@@ -1,9 +1,8 @@
 class UserMergeRequestsController < ApplicationController
   before_filter :authenticate_user!
 
-  layout "user"
-
   def index
+    @projects = current_user.projects.all
     @merge_requests = current_user.assigned_merge_requests
   end
 end
diff --git a/app/views/dashboard/_issues_feed.html.haml b/app/views/dashboard/_issues_feed.html.haml
new file mode 100644 (file)
index 0000000..bd0d144
--- /dev/null
@@ -0,0 +1,28 @@
+#news-feed.news-feed
+  %div
+    = link_to dashboard_path, :class => "left" do 
+      .box-arrow
+        &larr;
+    %h2{:style => "width:86%; text-align:center"}
+      Issues
+    = link_to merge_requests_path, :class => "right" do 
+      .box-arrow 
+        &rarr;
+
+
+  .project-box.project-updates.ui-box.ui-box-small.ui-box-big
+    .data
+      - @issues.each do |update|
+        %a.project-update{:href => dashboard_feed_path(update.project, update)}
+          = image_tag gravatar_icon(update.author_email), :class => "left", :width => 40
+          %span.update-title
+            = dashboard_feed_title(update)
+          %span.update-author
+            %strong= update.author_name
+            authored
+            = time_ago_in_words(update.created_at)
+            ago
+          .right
+            - klass = update.class.to_s.split("::").last.downcase
+            %span.tag{ :class => klass }= klass
+
diff --git a/app/views/dashboard/_merge_requests_feed.html.haml b/app/views/dashboard/_merge_requests_feed.html.haml
new file mode 100644 (file)
index 0000000..7443d5f
--- /dev/null
@@ -0,0 +1,27 @@
+#news-feed.news-feed
+  %div
+    = link_to issues_path, :class => "left" do 
+      .box-arrow
+        &larr;
+    %h2{:style => "width:86%; text-align:center"}
+      Merge Requests
+    = link_to dashboard_path, :class => "right" do 
+      .box-arrow 
+        &rarr;
+
+  .project-box.project-updates.ui-box.ui-box-small.ui-box-big
+    .data
+      - @merge_requests.each do |update|
+        %a.project-update{:href => dashboard_feed_path(update.project, update)}
+          = image_tag gravatar_icon(update.author_email), :class => "left", :width => 40
+          %span.update-title
+            = dashboard_feed_title(update)
+          %span.update-author
+            %strong= update.author_name
+            authored
+            = time_ago_in_words(update.created_at)
+            ago
+          .right
+            - klass = update.class.to_s.split("::").last.downcase
+            %span.tag{ :class => klass }= klass
+
diff --git a/app/views/dashboard/_projects_feed.html.haml b/app/views/dashboard/_projects_feed.html.haml
new file mode 100644 (file)
index 0000000..7fe9324
--- /dev/null
@@ -0,0 +1,30 @@
+#news-feed.news-feed
+  %div
+    = link_to merge_requests_path, :class => "left" do 
+      .box-arrow
+        &larr;
+    %h2{:style => "width:86%; text-align:center"}
+      Activities
+    = link_to issues_path, :class => "right" do 
+      .box-arrow 
+        &rarr;
+
+  - @active_projects.first(3).each do |project|
+    .project-box.project-updates.ui-box.ui-box-small.ui-box-big
+      = link_to project, do 
+        %h3= project.name
+        .data
+          - project.updates(3).each do |update|
+            %a.project-update{:href => dashboard_feed_path(project, update)}
+              = image_tag gravatar_icon(update.author_email), :class => "left", :width => 40
+              %span.update-title
+                = dashboard_feed_title(update)
+              %span.update-author
+                %strong= update.author_name
+                authored
+                = time_ago_in_words(update.created_at)
+                ago
+              .right
+                - klass = update.class.to_s.split("::").last.downcase
+                %span.tag{ :class => klass }= klass
+
index 554d207..2c93499 100644 (file)
             %span.time
               %strong Last activity:
               = project.last_activity_date ? time_ago_in_words(project.last_activity_date) + " ago" : "Never"
-  #news-feed.news-feed
-    %h2.icon
-      %span>
-      Dashboard
-    - @active_projects.first(3).each do |project|
-      .project-box.project-updates.ui-box.ui-box-small.ui-box-big
-        = link_to project, do 
-          %h3= project.name
-          .data
-            - project.updates(3).each do |update|
-              %a.project-update{:href => dashboard_feed_path(project, update)}
-                = image_tag gravatar_icon(update.author_email), :class => "left", :width => 40
-                %span.update-title
-                  = dashboard_feed_title(update)
-                %span.update-author
-                  %strong= update.author_name
-                  authored
-                  = time_ago_in_words(update.created_at)
-                  ago
-                .right
-                  - klass = update.class.to_s.split("::").last.downcase
-                  %span.tag{ :class => klass }= klass
+  = render "dashboard/projects_feed"
index a68659d..904b189 100644 (file)
@@ -2,13 +2,10 @@
   %td
     %strong.issue-number{:class => sort_class}= "##{issue.id}"
     %span
-      = truncate(html_escape(issue.title), :length => fixed_mode? ? 100 : 200)
+      = truncate(html_escape(issue.title), :length => 40)
     %br
     %br
     %div.note-author
-      - if not @project.present?
-        %strong= issue.project.name
-        = '-'
       %strong= issue.assignee.name
       %cite.cgray
         = time_ago_in_words(issue.created_at)
index 5110c18..5ad82ec 100644 (file)
@@ -25,9 +25,6 @@
     <%= link_to dashboard_path, :class => current_page?(root_path) ? "current dashboard" : "dashboard" do %>
       <span></span>Dashboard
     <% end %>
-    <%= link_to issues_path, :class => current_page?(issues_path) ? "current issues" : "issues" do %>
-      <span></span>Issues
-    <% end %>
     <%= link_to projects_path, :class => current_page?(projects_path) ? "current project" : "project" do %>
       <span></span>Projects
     <% end %>
index bf05ca5..d2c745e 100644 (file)
@@ -1,9 +1,18 @@
-%div#issues-table-holder
-  %table.round-borders#issues-table
-    %thead
-      %th
-        .top_panel_issues
-          %h2 Issues assigned to me
+- content_for(:body_class, "dashboard-page")
 
-    = render 'issues/issues'
-  %br
+#dashboard-content.dashboard-content.content
+  %aside
+    %h4
+      - if current_user.can_create_project?
+        %a.button-small.button-green{:href => new_project_path} New Project
+      Your Projects
+    %ol.project-list
+      - @projects.each do |project|
+        %li
+          %a{:href => project_path(project)}
+            %span.arrow →
+            %span.project-name= project.name
+            %span.time
+              %strong Last activity:
+              = project.last_activity_date ? time_ago_in_words(project.last_activity_date) + " ago" : "Never"
+  = render "dashboard/issues_feed"
index cf1c414..75d56bf 100644 (file)
@@ -1,10 +1,18 @@
-- if @merge_requests.opened.count > 0
-  %div{ :class => "update-data ui-box ui-box-small ui-box-big" }
-    %h3
-      %span.tag.open Open
-    .data
-      = render @merge_requests.opened
-
-  .clear
-  %br
+- content_for(:body_class, "dashboard-page")
 
+#dashboard-content.dashboard-content.content
+  %aside
+    %h4
+      - if current_user.can_create_project?
+        %a.button-small.button-green{:href => new_project_path} New Project
+      Your Projects
+    %ol.project-list
+      - @projects.each do |project|
+        %li
+          %a{:href => project_path(project)}
+            %span.arrow →
+            %span.project-name= project.name
+            %span.time
+              %strong Last activity:
+              = project.last_activity_date ? time_ago_in_words(project.last_activity_date) + " ago" : "Never"
+  = render "dashboard/merge_requests_feed"