Activities page added. Dashboard few specs. Preparing for 2.3
This commit is contained in:
parent
d87abbe9af
commit
724ea16c34
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ $app_padding:20px;
|
|||
$bg_color: #FFF;
|
||||
$styled_border_color: #2FA0BB;
|
||||
$color: "#4BB8D2";
|
||||
$blue_link: "#2fa0bb";
|
||||
$blue_link: #2fa0bb;
|
||||
|
||||
|
||||
/** Style colors **/
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
color: $link_color;
|
||||
&:hover {
|
||||
text-decoration:none;
|
||||
color: $style_color;
|
||||
color: $blue_link;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
= render @events
|
||||
|
|
@ -3,8 +3,10 @@
|
|||
= link_to [issue.project, issue] do
|
||||
%p
|
||||
%strong
|
||||
%span.label= issue.project.name
|
||||
%span.pretty_label= issue.project.name
|
||||
–
|
||||
Issue #
|
||||
= issue.id
|
||||
= truncate issue.title, :length => 50
|
||||
%span.right.cgray
|
||||
= issue.updated_at.stamp("Aug 21, 2011")
|
||||
|
|
|
@ -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
|
||||
–
|
||||
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")
|
||||
|
|
|
@ -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
|
||||
→
|
||||
|
|
10
app/views/dashboard/activities.html.haml
Normal file
10
app/views/dashboard/activities.html.haml
Normal 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
|
|
@ -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 →
|
||||
|
||||
%hr
|
||||
.row
|
||||
.dashboard_block= render "dashboard/events_feed"
|
||||
.dashboard_block= render @events
|
||||
|
|
|
@ -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"}"
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
%h4.title
|
||||
%h5.title
|
||||
= @project.name
|
||||
%br
|
||||
%div
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
%li Visit profile → 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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue