Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-03-20 00:52:16 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-03-20 00:52:16 +0400
commit724ea16c348bc61cf7cb3dbe362c6f30cff1b2c7 (patch)
treeb1dba73a4cbac8a59a1ae6139ac97b6d97f3656a
parentd87abbe9af31a7183a53062518d3fbc0bdd8d218 (diff)
Activities page added. Dashboard few specs. Preparing for 2.3
-rw-r--r--app/assets/stylesheets/common.scss26
-rw-r--r--app/assets/stylesheets/main.scss2
-rw-r--r--app/assets/stylesheets/ui_basic.scss2
-rw-r--r--app/controllers/dashboard_controller.rb5
-rw-r--r--app/views/dashboard/_events_feed.html.haml2
-rw-r--r--app/views/dashboard/_issues_feed.html.haml4
-rw-r--r--app/views/dashboard/_merge_requests_feed.html.haml7
-rw-r--r--app/views/dashboard/_projects_feed.html.haml4
-rw-r--r--app/views/dashboard/activities.html.haml10
-rw-r--r--app/views/dashboard/index.html.haml5
-rw-r--r--app/views/layouts/_app_menu.html.haml3
-rw-r--r--app/views/profile/password.html.haml82
-rw-r--r--app/views/projects/_show.html.haml2
-rw-r--r--app/views/projects/empty.html.haml2
-rw-r--r--app/views/projects/show.html.haml8
-rw-r--r--config/routes.rb1
-rw-r--r--spec/requests/dashboard_spec.rb28
17 files changed, 121 insertions, 72 deletions
diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss
index 03bfd1852a2..c0ead28ee49 100644
--- a/app/assets/stylesheets/common.scss
+++ b/app/assets/stylesheets/common.scss
@@ -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;
+}
diff --git a/app/assets/stylesheets/main.scss b/app/assets/stylesheets/main.scss
index 5881880982a..10388bcf223 100644
--- a/app/assets/stylesheets/main.scss
+++ b/app/assets/stylesheets/main.scss
@@ -15,7 +15,7 @@ $app_padding:20px;
$bg_color: #FFF;
$styled_border_color: #2FA0BB;
$color: "#4BB8D2";
-$blue_link: "#2fa0bb";
+$blue_link: #2fa0bb;
/** Style colors **/
diff --git a/app/assets/stylesheets/ui_basic.scss b/app/assets/stylesheets/ui_basic.scss
index 64347525099..a1e6133d4f3 100644
--- a/app/assets/stylesheets/ui_basic.scss
+++ b/app/assets/stylesheets/ui_basic.scss
@@ -17,7 +17,7 @@
color: $link_color;
&:hover {
text-decoration:none;
- color: $style_color;
+ color: $blue_link;
}
}
diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb
index f6b09e23430..e098f571913 100644
--- a/app/controllers/dashboard_controller.rb
+++ b/app/controllers/dashboard_controller.rb
@@ -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
diff --git a/app/views/dashboard/_events_feed.html.haml b/app/views/dashboard/_events_feed.html.haml
deleted file mode 100644
index 976597531df..00000000000
--- a/app/views/dashboard/_events_feed.html.haml
+++ /dev/null
@@ -1,2 +0,0 @@
-= render @events
-
diff --git a/app/views/dashboard/_issues_feed.html.haml b/app/views/dashboard/_issues_feed.html.haml
index 5c0e05ef0a5..f867b3589cd 100644
--- a/app/views/dashboard/_issues_feed.html.haml
+++ b/app/views/dashboard/_issues_feed.html.haml
@@ -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")
diff --git a/app/views/dashboard/_merge_requests_feed.html.haml b/app/views/dashboard/_merge_requests_feed.html.haml
index db1ebd32a63..7fb7998d537 100644
--- a/app/views/dashboard/_merge_requests_feed.html.haml
+++ b/app/views/dashboard/_merge_requests_feed.html.haml
@@ -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")
diff --git a/app/views/dashboard/_projects_feed.html.haml b/app/views/dashboard/_projects_feed.html.haml
index 5f146d49817..61154147841 100644
--- a/app/views/dashboard/_projects_feed.html.haml
+++ b/app/views/dashboard/_projects_feed.html.haml
@@ -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;
diff --git a/app/views/dashboard/activities.html.haml b/app/views/dashboard/activities.html.haml
new file mode 100644
index 00000000000..2b96acc60ec
--- /dev/null
+++ b/app/views/dashboard/activities.html.haml
@@ -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
diff --git a/app/views/dashboard/index.html.haml b/app/views/dashboard/index.html.haml
index 5dde57e8a22..895c47124f0 100644
--- a/app/views/dashboard/index.html.haml
+++ b/app/views/dashboard/index.html.haml
@@ -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
diff --git a/app/views/layouts/_app_menu.html.haml b/app/views/layouts/_app_menu.html.haml
index e6a6ebf0612..b96bdacc385 100644
--- a/app/views/layouts/_app_menu.html.haml
+++ b/app/views/layouts/_app_menu.html.haml
@@ -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"}"
diff --git a/app/views/profile/password.html.haml b/app/views/profile/password.html.haml
index dc1f221435e..350d6801fd3 100644
--- a/app/views/profile/password.html.haml
+++ b/app/views/profile/password.html.haml
@@ -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
+.row
+ .span8
+ %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"
- .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.
+ .span7.right
+ %h3
+ Private token
+ %span.cred.right
+ keep it in secret!
%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_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"
diff --git a/app/views/projects/_show.html.haml b/app/views/projects/_show.html.haml
index 5d30b75bb64..edb9c1cefe6 100644
--- a/app/views/projects/_show.html.haml
+++ b/app/views/projects/_show.html.haml
@@ -1,4 +1,4 @@
-%h4.title
+%h5.title
= @project.name
%br
%div
diff --git a/app/views/projects/empty.html.haml b/app/views/projects/empty.html.haml
index 5088c2e7297..3fb81370853 100644
--- a/app/views/projects/empty.html.haml
+++ b/app/views/projects/empty.html.haml
@@ -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.
diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml
index 89a3a4265e4..ae92b1ca7b3 100644
--- a/app/views/projects/show.html.haml
+++ b/app/views/projects/show.html.haml
@@ -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
diff --git a/config/routes.rb b/config/routes.rb
index be559282ae6..8241b542794 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -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"
diff --git a/spec/requests/dashboard_spec.rb b/spec/requests/dashboard_spec.rb
index 98de046fee1..1ca256f93ca 100644
--- a/spec/requests/dashboard_spec.rb
+++ b/spec/requests/dashboard_spec.rb
@@ -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
- # 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
+ describe "GET /dashboard/activities" do
+ before do
+ visit dashboard_activities_path
+ 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