From 77cf662034a7187fe7e223e6d16b664b7b525d25 Mon Sep 17 00:00:00 2001 From: randx <dmitriy.zaporozhets@gmail.com> Date: Thu, 21 Jun 2012 18:41:22 +0300 Subject: [PATCH] Pushed widget improved --- app/helpers/application_helper.rb | 5 +++++ app/roles/account.rb | 4 ++-- app/roles/push_event.rb | 8 ++++++++ app/views/events/_event_last_push.html.haml | 9 ++++----- app/views/projects/show.html.haml | 8 +------- features/step_definitions/dashboard_steps.rb | 2 +- spec/requests/last_push_widget_spec.rb | 2 +- 7 files changed, 22 insertions(+), 16 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index be0e0c9ee..8e151ef75 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -88,4 +88,9 @@ module ApplicationHelper def app_theme Gitlab::Theme.css_class_by_id(current_user.try(:theme_id)) end + + def show_last_push_widget?(event) + event && event.last_push_to_non_root? && + event.project && event.project.merge_requests_enabled + end end diff --git a/app/roles/account.rb b/app/roles/account.rb index 8ff5c613e..afa1f8a34 100644 --- a/app/roles/account.rb +++ b/app/roles/account.rb @@ -48,8 +48,8 @@ module Account end def recent_push project_id = nil - # Get push events not earlier than 6 hours ago - events = recent_events.code_push.where("created_at > ?", Time.now - 6.hours) + # Get push events not earlier than 2 hours ago + events = recent_events.code_push.where("created_at > ?", Time.now - 2.hours) events = events.where(:project_id => project_id) if project_id # Take only latest one diff --git a/app/roles/push_event.rb b/app/roles/push_event.rb index acec916f8..ff8e28a2d 100644 --- a/app/roles/push_event.rb +++ b/app/roles/push_event.rb @@ -9,6 +9,10 @@ module PushEvent data[:ref]["refs/tags"] end + def branch? + data[:ref]["refs/heads"] + end + def new_branch? commit_from =~ /^00000/ end @@ -87,4 +91,8 @@ module PushEvent def push_with_commits? md_ref? && commits.any? && parent_commit && last_commit end + + def last_push_to_non_root? + branch? && project.default_branch != branch_name + end end diff --git a/app/views/events/_event_last_push.html.haml b/app/views/events/_event_last_push.html.haml index 8c6918d25..eb507b55c 100644 --- a/app/views/events/_event_last_push.html.haml +++ b/app/views/events/_event_last_push.html.haml @@ -1,8 +1,8 @@ -- if event && event.branch_name +- if show_last_push_widget?(event) .event_lp %div = image_tag gravatar_icon(event.author_email), :class => "avatar" - %span Your last push was to + %span Your pushed to = event.ref_type = link_to project_commits_path(event.project, :ref => event.ref_name) do %strong= event.ref_name @@ -12,6 +12,5 @@ = time_ago_in_words(event.created_at) ago. - - if event.project.merge_requests_enabled - = link_to new_mr_path_from_push_event(event), :title => "New Merge Request", :class => "btn small padded primary" do - Create Merge Request + = link_to new_mr_path_from_push_event(event), :title => "New Merge Request", :class => "btn small padded primary" do + Create Merge Request diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml index 48b541544..44f9053d3 100644 --- a/app/views/projects/show.html.haml +++ b/app/views/projects/show.html.haml @@ -21,12 +21,6 @@ Issue = render "events/event_last_push", :event => @last_push -- unless @events.blank? - %br - %h5.cgray - %span.ico.activities - Recent Activity - %hr - .content_list= render @events +.content_list= render @events diff --git a/features/step_definitions/dashboard_steps.rb b/features/step_definitions/dashboard_steps.rb index ef48a8503..7133d7999 100644 --- a/features/step_definitions/dashboard_steps.rb +++ b/features/step_definitions/dashboard_steps.rb @@ -42,7 +42,7 @@ Given /^project "(.*?)" has push event$/ do |arg1| end Then /^I should see last push widget$/ do - page.should have_content "Your last push was to branch new_design" + page.should have_content "Your pushed to branch new_design" page.should have_link "Create Merge Request" end diff --git a/spec/requests/last_push_widget_spec.rb b/spec/requests/last_push_widget_spec.rb index 55ef3f0ac..0baa20c6e 100644 --- a/spec/requests/last_push_widget_spec.rb +++ b/spec/requests/last_push_widget_spec.rb @@ -11,7 +11,7 @@ describe "Last Push widget" do end it "should display last push widget with link to merge request page" do - page.should have_content "Your last push was to branch new_design" + page.should have_content "Your pushed to branch new_design" page.should have_link "Create Merge Request" end -- 2.30.9