Activities page added. Dashboard few specs. Preparing for 2.3

This commit is contained in:
Dmitriy Zaporozhets 2012-03-19 22:52:16 +02:00
parent d87abbe9af
commit 724ea16c34
17 changed files with 122 additions and 73 deletions

View file

@ -3,7 +3,7 @@ a {
color: $link_color;
&:hover {
text-decoration:none;
color: $style_color;
color: $blue_link;
}
&.btn {
@ -838,12 +838,19 @@ p.time {
width:840px;
margin:auto;
.wll {
padding:5px;
margin-top:5px;
.dash_project_item {
margin-bottom:10px;
border:none;
&:hover {
background:none;
h4 {
color:#2FA0BB;
.arrow {
background:#2FA0BB;
color:#fff;
}
}
}
h4 {
@ -988,3 +995,14 @@ p.time {
.merge_request_status_holder {
margin-bottom:20px;
}
.arrow{
float: right;
background: #E3E5EA;
padding: 10px;
border-radius: 5px;
text-shadow: none;
color: #999;
line-height: 16px;
font-weight:bold;
}

View file

@ -15,7 +15,7 @@ $app_padding:20px;
$bg_color: #FFF;
$styled_border_color: #2FA0BB;
$color: "#4BB8D2";
$blue_link: "#2fa0bb";
$blue_link: #2fa0bb;
/** Style colors **/

View file

@ -17,7 +17,7 @@
color: $link_color;
&:hover {
text-decoration:none;
color: $style_color;
color: $blue_link;
}
}

View file

@ -34,4 +34,9 @@ class DashboardController < ApplicationController
format.atom { render :layout => false }
end
end
def activities
@projects = current_user.projects.all
@events = Event.where(:project_id => @projects.map(&:id)).recent.limit(40)
end
end

View file

@ -1,2 +0,0 @@
= render @events

View file

@ -3,8 +3,10 @@
= link_to [issue.project, issue] do
%p
%strong
%span.label= issue.project.name
%span.pretty_label= issue.project.name
&ndash;
Issue #
= issue.id
= truncate issue.title, :length => 50
%span.right.cgray
= issue.updated_at.stamp("Aug 21, 2011")

View file

@ -3,8 +3,9 @@
= link_to [merge_request.project, merge_request] do
%p
%strong
%span.label= merge_request.project.name
%span.pretty_label= merge_request.project.name
&ndash;
Merge Request #
= merge_request.id
Merge Request ##{merge_request.id}
= truncate merge_request.title, :length => 50
%span.right.cgray
= merge_request.updated_at.stamp("Aug 21, 2011")

View file

@ -1,5 +1,5 @@
- projects.first(5).each do |project|
.wll
%div.dash_project_item
= link_to project do
%h4
%span.ico.project
@ -7,3 +7,5 @@
%small
last activity at
= project.last_activity_date.stamp("Aug 25, 2011")
%span.right.arrow
&rarr;

View file

@ -0,0 +1,10 @@
- if @events.any?
%div.dashboard_category
%h3
%span.ico.activities
= link_to "Activities" , "#activities", :id => "activities"
%hr
= render @events
- else
%h3 Nothing here

View file

@ -62,7 +62,10 @@
%h3
%span.ico.activities
= link_to "Activities" , "#activities", :id => "activities"
%strong.right
= link_to dashboard_activities_path do
Visit activities page &rarr;
%hr
.row
.dashboard_block= render "dashboard/events_feed"
.dashboard_block= render @events

View file

@ -1,11 +1,12 @@
%nav.main_menu
= render "layouts/const_menu_links"
= link_to "Projects", projects_path, :class => "#{"current" if current_page?(projects_path)}"
= link_to "Search", search_path, :class => "#{"current" if current_page?(search_path)}"
= link_to "Activities", dashboard_activities_path, :class => "#{"current" if current_page?(dashboard_activities_path)}"
= link_to dashboard_issues_path, :class => "#{"current" if current_page?(dashboard_issues_path)}", :id => "issues_slide" do
Issues
%span.count= current_user.assigned_issues.opened.count
= link_to dashboard_merge_requests_path, :class => "#{"current" if current_page?(dashboard_merge_requests_path)}", :id => "merge_requests_slide" do
Requests
%span.count= current_user.cared_merge_requests.count
= link_to "Search", search_path, :class => "#{"current" if current_page?(search_path)}"
= link_to "Help", help_path, :class => "#{"current" if controller.controller_name == "help"}"

View file

@ -1,42 +1,46 @@
%h3 Password
%hr
= form_for @user, :url => profile_password_path, :method => :put do |f|
.data
.alert-message.block-message.warning
%p After successfull password update you will be redirected to login page where you should login with new password
-if @user.errors.any?
.alert-message.block-message.error
%ul
- @user.errors.full_messages.each do |msg|
%li= msg
.clearfix
= f.label :password
.input= f.password_field :password
.clearfix
= f.label :password_confirmation
.input= f.password_field :password_confirmation
.actions
= f.submit 'Save', :class => "btn"
%h3
Private token
%span.cred.right
keep it in secret!
%hr
= form_for @user, :url => profile_reset_private_token_path, :method => :put do |f|
.data
%p Private token used to access application resources without authentication.
%p For example its required to access commits feed.
.row
.span8
%h3 Password
%hr
%p.cgray
- if current_user.private_token
= text_field_tag "token", current_user.private_token
- else
You don`t have one yet. Click generate to fix it.
.actions
- if current_user.private_token
= f.submit 'Reset', :confirm => "Are you sure?", :class => "btn"
- else
= f.submit 'Generate', :class => "btn"
= form_for @user, :url => profile_password_path, :method => :put do |f|
.data
.alert-message.block-message.warning
%p After successfull password update you will be redirected to login page where you should login with new password
-if @user.errors.any?
.alert-message.block-message.error
%ul
- @user.errors.full_messages.each do |msg|
%li= msg
.clearfix
= f.label :password
.input= f.password_field :password
.clearfix
= f.label :password_confirmation
.input= f.password_field :password_confirmation
.actions
= f.submit 'Save', :class => "btn"
.span7.right
%h3
Private token
%span.cred.right
keep it in secret!
%hr
= form_for @user, :url => profile_reset_private_token_path, :method => :put do |f|
.data
.alert-message.block-message.warning
%p Private token used to access application resources without authentication.
%hr
%p * required for rss feed
%p.cgray
- if current_user.private_token
= text_field_tag "token", current_user.private_token
- else
You don`t have one yet. Click generate to fix it.
.actions
- if current_user.private_token
= f.submit 'Reset', :confirm => "Are you sure?", :class => "btn"
- else
= f.submit 'Generate', :class => "btn"

View file

@ -1,4 +1,4 @@
%h4.title
%h5.title
= @project.name
%br
%div

View file

@ -6,7 +6,7 @@
%li Visit profile &rarr; keys and add public key of every machine you want to use for work with gitlabhq.
.alert-message.block-message.error
%ul.alert_holder
%ul.unstyled.alert_holder
%li You should push repository to proceed.
%li After push you will be able to browse code, commits etc.

View file

@ -21,9 +21,13 @@
= text_field_tag :project_clone, @project.url_to_repo, :class => "xlarge one_click_select git_clone_url"
- if @project.description.present?
= markdown @project.description
.prettyprint= markdown @project.description
- unless @events.blank?
%h5.cgray Recent Activity
%br
%h5.cgray
%span.ico.activities
Recent Activity
%hr
.content_list= render @events

View file

@ -40,6 +40,7 @@ Gitlab::Application.routes.draw do
get "dashboard", :to => "dashboard#index"
get "dashboard/issues", :to => "dashboard#issues"
get "dashboard/merge_requests", :to => "dashboard#merge_requests"
get "dashboard/activities", :to => "dashboard#activities"
#get "profile/:id", :to => "profile#show"

View file

@ -1,6 +1,4 @@
require 'spec_helper'
__END__
# Disabled for now
describe "Dashboard" do
before do
@project = Factory :project
@ -22,19 +20,21 @@ describe "Dashboard" do
end
it "should have projects panel" do
within ".project-list" do
page.should have_content(@project.name)
end
page.should have_content(@project.name)
end
end
describe "GET /dashboard/activities" do
before do
visit dashboard_activities_path
end
# Temporary disabled cause of travis
# TODO: fix or rewrite
#it "should have news feed" do
#within "#news-feed" do
#page.should have_content("commit")
#page.should have_content(@project.commit.author.name)
#page.should have_content(@project.commit.safe_message)
#end
#end
it "should be on dashboard page" do
current_path.should == dashboard_activities_path
end
it "should have projects panel" do
page.should have_content(@project.name)
end
end
end