mixed dashboard - first try
This commit is contained in:
parent
8e0126e9ec
commit
4107f2cc2e
12 changed files with 125 additions and 51 deletions
|
@ -506,3 +506,4 @@ body.project-page table.no-borders td{
|
||||||
top: 6px;
|
top: 6px;
|
||||||
right: 5px;
|
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;}
|
||||||
|
|
|
@ -351,7 +351,7 @@ header h1.logo a{
|
||||||
text-indent: -1000em;
|
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-gradient(linear, 0 0, 0 30, color-stop(0.066, #595d63), to(#31363e));
|
||||||
background-image: -webkit-linear-gradient(#595d63 6.6%, #31363e);
|
background-image: -webkit-linear-gradient(#595d63 6.6%, #31363e);
|
||||||
background-image: -moz-linear-gradient(#595d63 6.6%, #31363e);
|
background-image: -moz-linear-gradient(#595d63 6.6%, #31363e);
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
class UserIssuesController < ApplicationController
|
class UserIssuesController < ApplicationController
|
||||||
before_filter :authenticate_user!
|
before_filter :authenticate_user!
|
||||||
|
|
||||||
layout "user"
|
|
||||||
|
|
||||||
respond_to :js, :html
|
respond_to :js, :html
|
||||||
|
|
||||||
def index
|
def index
|
||||||
|
@projects = current_user.projects.all
|
||||||
@user = current_user
|
@user = current_user
|
||||||
@issues = current_user.assigned_issues.opened
|
@issues = current_user.assigned_issues.opened
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
class UserMergeRequestsController < ApplicationController
|
class UserMergeRequestsController < ApplicationController
|
||||||
before_filter :authenticate_user!
|
before_filter :authenticate_user!
|
||||||
|
|
||||||
layout "user"
|
|
||||||
|
|
||||||
def index
|
def index
|
||||||
|
@projects = current_user.projects.all
|
||||||
@merge_requests = current_user.assigned_merge_requests
|
@merge_requests = current_user.assigned_merge_requests
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
28
app/views/dashboard/_issues_feed.html.haml
Normal file
28
app/views/dashboard/_issues_feed.html.haml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
#news-feed.news-feed
|
||||||
|
%div
|
||||||
|
= link_to dashboard_path, :class => "left" do
|
||||||
|
.box-arrow
|
||||||
|
←
|
||||||
|
%h2{:style => "width:86%; text-align:center"}
|
||||||
|
Issues
|
||||||
|
= link_to merge_requests_path, :class => "right" do
|
||||||
|
.box-arrow
|
||||||
|
→
|
||||||
|
|
||||||
|
|
||||||
|
.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
|
||||||
|
|
27
app/views/dashboard/_merge_requests_feed.html.haml
Normal file
27
app/views/dashboard/_merge_requests_feed.html.haml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#news-feed.news-feed
|
||||||
|
%div
|
||||||
|
= link_to issues_path, :class => "left" do
|
||||||
|
.box-arrow
|
||||||
|
←
|
||||||
|
%h2{:style => "width:86%; text-align:center"}
|
||||||
|
Merge Requests
|
||||||
|
= link_to dashboard_path, :class => "right" do
|
||||||
|
.box-arrow
|
||||||
|
→
|
||||||
|
|
||||||
|
.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
|
||||||
|
|
30
app/views/dashboard/_projects_feed.html.haml
Normal file
30
app/views/dashboard/_projects_feed.html.haml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
#news-feed.news-feed
|
||||||
|
%div
|
||||||
|
= link_to merge_requests_path, :class => "left" do
|
||||||
|
.box-arrow
|
||||||
|
←
|
||||||
|
%h2{:style => "width:86%; text-align:center"}
|
||||||
|
Activities
|
||||||
|
= link_to issues_path, :class => "right" do
|
||||||
|
.box-arrow
|
||||||
|
→
|
||||||
|
|
||||||
|
- @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
|
||||||
|
|
|
@ -15,25 +15,4 @@
|
||||||
%span.time
|
%span.time
|
||||||
%strong Last activity:
|
%strong Last activity:
|
||||||
= project.last_activity_date ? time_ago_in_words(project.last_activity_date) + " ago" : "Never"
|
= project.last_activity_date ? time_ago_in_words(project.last_activity_date) + " ago" : "Never"
|
||||||
#news-feed.news-feed
|
= render "dashboard/projects_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
|
|
||||||
|
|
|
@ -2,13 +2,10 @@
|
||||||
%td
|
%td
|
||||||
%strong.issue-number{:class => sort_class}= "##{issue.id}"
|
%strong.issue-number{:class => sort_class}= "##{issue.id}"
|
||||||
%span
|
%span
|
||||||
= truncate(html_escape(issue.title), :length => fixed_mode? ? 100 : 200)
|
= truncate(html_escape(issue.title), :length => 40)
|
||||||
%br
|
%br
|
||||||
%br
|
%br
|
||||||
%div.note-author
|
%div.note-author
|
||||||
- if not @project.present?
|
|
||||||
%strong= issue.project.name
|
|
||||||
= '-'
|
|
||||||
%strong= issue.assignee.name
|
%strong= issue.assignee.name
|
||||||
%cite.cgray
|
%cite.cgray
|
||||||
= time_ago_in_words(issue.created_at)
|
= time_ago_in_words(issue.created_at)
|
||||||
|
|
|
@ -25,9 +25,6 @@
|
||||||
<%= link_to dashboard_path, :class => current_page?(root_path) ? "current dashboard" : "dashboard" do %>
|
<%= link_to dashboard_path, :class => current_page?(root_path) ? "current dashboard" : "dashboard" do %>
|
||||||
<span></span>Dashboard
|
<span></span>Dashboard
|
||||||
<% end %>
|
<% 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 %>
|
<%= link_to projects_path, :class => current_page?(projects_path) ? "current project" : "project" do %>
|
||||||
<span></span>Projects
|
<span></span>Projects
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -1,9 +1,18 @@
|
||||||
%div#issues-table-holder
|
- content_for(:body_class, "dashboard-page")
|
||||||
%table.round-borders#issues-table
|
|
||||||
%thead
|
|
||||||
%th
|
|
||||||
.top_panel_issues
|
|
||||||
%h2 Issues assigned to me
|
|
||||||
|
|
||||||
= render 'issues/issues'
|
#dashboard-content.dashboard-content.content
|
||||||
%br
|
%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"
|
||||||
|
|
|
@ -1,10 +1,18 @@
|
||||||
- if @merge_requests.opened.count > 0
|
- content_for(:body_class, "dashboard-page")
|
||||||
%div{ :class => "update-data ui-box ui-box-small ui-box-big" }
|
|
||||||
%h3
|
|
||||||
%span.tag.open Open
|
|
||||||
.data
|
|
||||||
= render @merge_requests.opened
|
|
||||||
|
|
||||||
.clear
|
|
||||||
%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/merge_requests_feed"
|
||||||
|
|
Loading…
Reference in a new issue