Commit e0c43c46ddd7f9488ef076e0c91800e43bd376b3
1 parent
a9a3480d
Exists in
master
and in
4 other branches
Added project has_one :last_event assoc. Fixed tab line-height after font-awesom…
…e. Increased projects per page on dashboard
Showing
4 changed files
with
10 additions
and
11 deletions
Show diff stats
app/assets/stylesheets/gitlab_bootstrap/common.scss
app/controllers/dashboard_controller.rb
| ... | ... | @@ -4,7 +4,7 @@ class DashboardController < ApplicationController |
| 4 | 4 | def index |
| 5 | 5 | @groups = Group.where(id: current_user.projects.pluck(:group_id)) |
| 6 | 6 | @projects = current_user.projects_with_events |
| 7 | - @projects = @projects.page(params[:page]).per(20) | |
| 7 | + @projects = @projects.page(params[:page]).per(30) | |
| 8 | 8 | |
| 9 | 9 | @events = Event.in_projects(current_user.project_ids).limit(20).offset(params[:offset] || 0) |
| 10 | 10 | @last_push = current_user.recent_push | ... | ... |
app/models/project.rb
| ... | ... | @@ -25,6 +25,7 @@ class Project < ActiveRecord::Base |
| 25 | 25 | has_many :hooks, dependent: :destroy, class_name: "ProjectHook" |
| 26 | 26 | has_many :wikis, dependent: :destroy |
| 27 | 27 | has_many :protected_branches, dependent: :destroy |
| 28 | + has_one :last_event, class_name: 'Event', order: 'events.created_at DESC', foreign_key: 'project_id' | |
| 28 | 29 | |
| 29 | 30 | delegate :name, to: :owner, allow_nil: true, prefix: true |
| 30 | 31 | |
| ... | ... | @@ -141,15 +142,11 @@ class Project < ActiveRecord::Base |
| 141 | 142 | end |
| 142 | 143 | |
| 143 | 144 | def last_activity |
| 144 | - events.order("created_at ASC").last | |
| 145 | + last_event | |
| 145 | 146 | end |
| 146 | 147 | |
| 147 | 148 | def last_activity_date |
| 148 | - if events.last | |
| 149 | - events.last.created_at | |
| 150 | - else | |
| 151 | - updated_at | |
| 152 | - end | |
| 149 | + last_event.try(:created_at) || updated_at | |
| 153 | 150 | end |
| 154 | 151 | |
| 155 | 152 | def wiki_notes | ... | ... |
spec/models/project_spec.rb
| ... | ... | @@ -169,10 +169,9 @@ describe Project do |
| 169 | 169 | |
| 170 | 170 | describe "last_activity" do |
| 171 | 171 | let(:project) { Factory :project } |
| 172 | - let(:last_event) { double } | |
| 173 | 172 | |
| 174 | 173 | before do |
| 175 | - project.stub_chain(:events, :order).and_return( [ double, double, last_event ] ) | |
| 174 | + project.stub(last_event: double) | |
| 176 | 175 | end |
| 177 | 176 | |
| 178 | 177 | it { project.last_activity.should == last_event } |
| ... | ... | @@ -182,8 +181,8 @@ describe Project do |
| 182 | 181 | let(:project) { Factory :project } |
| 183 | 182 | |
| 184 | 183 | it 'returns the creation date of the project\'s last event if present' do |
| 185 | - last_event = double(created_at: 'now') | |
| 186 | - project.stub(:events).and_return( [double, double, last_event] ) | |
| 184 | + last_event = double(created_at: Time.now) | |
| 185 | + project.stub(last_event: last_event) | |
| 187 | 186 | project.last_activity_date.should == last_event.created_at |
| 188 | 187 | end |
| 189 | 188 | ... | ... |