OSDN Git Service

Pushed widget improved
authorrandx <dmitriy.zaporozhets@gmail.com>
Thu, 21 Jun 2012 15:41:22 +0000 (18:41 +0300)
committerrandx <dmitriy.zaporozhets@gmail.com>
Thu, 21 Jun 2012 15:41:22 +0000 (18:41 +0300)
app/helpers/application_helper.rb
app/roles/account.rb
app/roles/push_event.rb
app/views/events/_event_last_push.html.haml
app/views/projects/show.html.haml
features/step_definitions/dashboard_steps.rb
spec/requests/last_push_widget_spec.rb

index be0e0c9..8e151ef 100644 (file)
@@ -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
index 8ff5c61..afa1f8a 100644 (file)
@@ -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
index acec916..ff8e28a 100644 (file)
@@ -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
index 8c6918d..eb507b5 100644 (file)
@@ -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
index 48b5415..44f9053 100644 (file)
             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
 
 
index ef48a85..7133d79 100644 (file)
@@ -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
 
index 55ef3f0..0baa20c 100644 (file)
@@ -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