Pagination and better perfomance for projects page.

This commit is contained in:
randx 2012-04-20 19:11:49 +03:00
parent 60bf502bf1
commit 1d601616a3
6 changed files with 42 additions and 19 deletions

View file

@ -668,12 +668,15 @@ p.time {
}
}
}
.bottom {
padding:10px;
}
}
.btn {
&.very_small {
font-size:11px;
padding:4px;
padding:2px 6px;
margin:2px;
}
}

View file

@ -103,6 +103,11 @@ $hover: #FDF5D9;
*/
@import "sections/issues.scss";
/**
* Styles related to projects
*/
@import "sections/projects.scss";
/**
* This scss file redefine chozen selectbox styles for
* project Branch/Tag select element

View file

@ -0,0 +1,15 @@
.projects {
@extend .row;
.activities {
}
.side {
@extend .span4;
@extend .right;
.projects_box {
@extend .leftbar;
@extend .ui-box;
}
}
}

View file

@ -43,8 +43,8 @@ class CommitsController < ApplicationController
end
def compare
first = project.commit(params[:to])
last = project.commit(params[:from])
first = project.commit(params[:to].try(:strip))
last = project.commit(params[:from].try(:strip))
@diffs = []
@commits = []

View file

@ -11,9 +11,9 @@ class ProjectsController < ApplicationController
before_filter :require_non_empty_project, :only => [:blob, :tree, :graph]
def index
@projects = current_user.projects
@projects = @projects.select(&:last_activity_date).sort_by(&:last_activity_date).reverse
@events = Event.where(:project_id => @projects.map(&:id)).recent.limit(20)
@projects = current_user.projects.includes(:events).order("events.created_at DESC")
@projects = @projects.page(params[:page]).per(40)
@events = Event.where(:project_id => current_user.projects.map(&:id)).recent.limit(20)
end
def new

View file

@ -1,6 +1,6 @@
- if @projects.any?
.row
.span8
.projects
.activities.span8
- if current_user.require_ssh_key?
.alert.alert-error.padded
%span
@ -14,24 +14,24 @@
- else
.padded
%strong.cgray Projects activity will be displayed here
.span4.right
%div.leftbar.ui-box
.side
.projects_box
%h5
Projects
%small
(#{@projects.count})
(#{@projects.total_count})
- if current_user.can_create_project?
%span.right
= link_to new_project_path, :class => "btn very_small info" do
New Project
.content_list
- @projects.each do |project|
= link_to project_path(project), :class => dom_class(project) do
%h4
%span.ico.project
= truncate(project.name, :length => 25)
%span.right
&rarr;
- @projects.each do |project|
= link_to project_path(project), :class => dom_class(project) do
%h4
%span.ico.project
= truncate(project.name, :length => 25)
%span.right
&rarr;
.bottom= paginate @projects, :theme => "gitlab"
- else
%h3 Nothing here