}
}
}
+
+a.project-update.titled {
+ position: relative;
+ padding-right: 310px !important;
+
+ .right-block {
+ padding: 10px;
+ width: 280px;
+ background: #f5f5f5;
+ position: absolute;
+ right: 0;
+ top: 0;
+ }
+}
def show
return render "projects/empty" unless @project.repo_exists? && @project.has_commits?
limit = (params[:limit] || 20).to_i
- @activities = @project.cached_updates(limit)
+ @activities = @project.updates_wo_repo(limit)
end
def files
layout "project"
def show
- @activities = @project.fresh_commits(20)
+ @activities = @project.commits_with_refs(20)
end
def branches
attr_accessor :commit
attr_accessor :head
+ attr_accessor :refs
delegate :message,
:committed_date,
:repo_exists?,
:commit,
:commits,
+ :commits_with_refs,
:tree,
:heads,
:commits_since,
users_projects.find_by_user_id(user_id)
end
+ def fresh_merge_requests(n)
+ merge_requests.includes(:project, :author).order("created_at desc").first(n)
+ end
+
def fresh_issues(n)
issues.includes(:project, :author).order("created_at desc").first(n)
end
end[0...n]
end
+ def updates_wo_repo(n=3)
+ [
+ fresh_issues(n),
+ fresh_merge_requests(n),
+ fresh_notes(n)
+ ].compact.flatten.sort do |x, y|
+ y.created_at <=> x.created_at
+ end[0...n]
+ end
+
def check_limit
unless owner.can_create_project?
errors[:base] << ("Your own projects limit is #{owner.projects_limit}! Please contact administrator to increase it")
commits[0...n]
end
+ def commits_with_refs(n = 20)
+ commits = repo.refs.map { |ref| Commit.new(ref.commit, ref) }
+
+ commits.sort! do |x, y|
+ y.committed_date <=> x.committed_date
+ end[0..n]
+
+ commits
+ end
+
def commits_since(date)
commits = heads.map do |h|
repo.log(h.name, nil, :since => date).each { |c| Commit.new(c, h) }
.merge-tabs.repository
= link_to project_repository_path(@project), :class => "activities-tab tab #{'active' if current_page?(project_repository_path(@project)) }" do
%span
- Activities
+ History
= link_to branches_project_repository_path(@project), :class => "tab #{'active' if current_page?(branches_project_repository_path(@project)) }" do
%span
Branches
%a.update-item{:href => project_commits_path(@project, :ref => branch.name)}
%span.update-title{:style => "margin-bottom:0px;"}
= branch.name
+ %span.update-author.right
+ = time_ago_in_words(branch.commit.committed_date)
+ ago
- else
%h3 No brances
#news-feed.news-feed
.project-box.project-updates.ui-box.ui-box-small.ui-box-big
- @activities.each do |update|
- = render "projects/feed", :update => update, :project => @project
+ %a.project-update.titled{:href => project_commits_path(@project, :ref => update.head.name)}
+ = image_tag gravatar_icon(update.author_email), :class => "left", :width => 40
+ %span.update-title
+ = dashboard_feed_title(update)
+ %span.update-author
+ %strong= update.author_name
+ authored
+ = time_ago_in_words(update.created_at)
+ ago
+ .right-block
+ %span.update-title
+ %span.commit.tag= update.head.name
+ %span.update-author
+ .right= truncate update.commit.id
+
%a.update-item{:href => project_commits_path(@project, :ref => tag.name)}
%span.update-title{:style => "margin-bottom:0px;"}
= tag.name
+ %span.update-author.right
+ = time_ago_in_words(tag.commit.committed_date)
+ ago
- else
%h3 No tags