myexperiment-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myexperiment-hackers] [3106] branches/events: added events for files an


From: noreply
Subject: [myexperiment-hackers] [3106] branches/events: added events for files and file versions
Date: Fri, 24 Aug 2012 12:23:50 +0000 (UTC)

Revision
3106
Author
dgc
Date
2012-08-24 12:23:49 +0000 (Fri, 24 Aug 2012)

Log Message

added events for files and file versions

Modified Paths

Diff

Modified: branches/events/app/controllers/blobs_controller.rb (3105 => 3106)


--- branches/events/app/controllers/blobs_controller.rb	2012-08-24 10:05:17 UTC (rev 3105)
+++ branches/events/app/controllers/blobs_controller.rb	2012-08-24 12:23:49 UTC (rev 3106)
@@ -152,6 +152,7 @@
 
       respond_to do |format|
         if @blob.save
+          Event.create(:subject => current_user, :action ="" 'create', :objekt => @blob)
           if params[:blob][:tag_list]
             @blob.tags_user_id = current_user
             @blob.tag_list = convert_tags_to_gem_format params[:blob][:tag_list]
@@ -218,6 +219,13 @@
     
     respond_to do |format|
       if @blob.update_attributes(params[:blob])
+
+        if @blob.new_version_number
+          Event.create(:subject => current_user, :action ="" 'create version', :objekt => @blob)
+        else
+          Event.create(:subject => current_user, :action ="" 'edit', :objekt => @blob)
+        end
+
         @blob.refresh_tags(convert_tags_to_gem_format(params[:blob][:tag_list]), current_user) if params[:blob][:tag_list]
         
         policy_err_msg = update_policy(@blob, params)

Modified: branches/events/app/helpers/application_helper.rb (3105 => 3106)


--- branches/events/app/helpers/application_helper.rb	2012-08-24 10:05:17 UTC (rev 3105)
+++ branches/events/app/helpers/application_helper.rb	2012-08-24 12:23:49 UTC (rev 3106)
@@ -548,11 +548,20 @@
   def activity_feed(opts = {})
 
     sentences = {
-      "register"        => "$S joined #{Conf.sitename}.",
-      "create Workflow" => "$S uploaded $O.",
-      "create Blob"     => "$S uploaded $O.",
-      "create Pack"     => "$S created $O.",
-      "create Blog"     => "$S created $O."
+      "register"                => "$S joined #{Conf.sitename}.",
+
+      "create Workflow"         => "$S uploaded $O.",
+      "create version Workflow" => "$S uploaded a new version of $O.",
+      "edit Workflow"           => "$S edited $O.",
+      "edit version Workflow"   => "$S edited version $E of $O.",
+
+      "create Blob"             => "$S uploaded $O.",
+      "create version Blob"     => "$S uploaded a new version of $O.",
+      "edit Blob"               => "$S edited $O.",
+      "edit version Blob"       => "$S edited version $E of $O.",
+
+      "create Pack"             => "$S created $O.",
+      "create Blog"             => "$S created $O.",
     }
 
     conditions_expr     = []
@@ -575,7 +584,7 @@
       conditions = [conditions_expr] + conditions_operands
     end
 
-    events = Event.find(:all, :order => 'created_at ASC', :conditions => conditions, :limit => 15)
+    events = Event.find(:all, :order => 'created_at ASC', :conditions => conditions, :order => 'created_at DESC', :limit => 15)
 
     markup = '<ol class="activity-feed">'
 

Modified: branches/events/lib/rest.rb (3105 => 3106)


--- branches/events/lib/rest.rb	2012-08-24 10:05:17 UTC (rev 3105)
+++ branches/events/lib/rest.rb	2012-08-24 12:23:49 UTC (rev 3106)
@@ -1252,7 +1252,7 @@
 
     ob.content_blob = ContentBlob.new(:data ="" content) if content
 
-    new_version = action == 'create' && opts[:query][:id]
+    new_version  = action == 'create' && opts[:query]['id'] != nil
     edit_version = action == 'edit'   && opts[:query]['version'] != nil
 
     if new_version
@@ -1261,6 +1261,15 @@
 
     success = ob.save
 
+    if success
+      case "#{action} #{new_version || edit_version}"
+      when "create false": Event.create(:subject => opts[:user], :action ="" 'create', :objekt => ob)
+      when "create true":  Event.create(:subject => opts[:user], :action ="" 'create version', :objekt => ob)
+      when "edit false":   Event.create(:subject => opts[:user], :action ="" 'edit', :objekt => ob)
+      when "edit true":    Event.create(:subject => opts[:user], :action ="" 'edit version', :objekt => ob, :extra => ob.version)
+      end
+    end
+
     return rest_response(400, :object => ob) unless success
 
     if opts[:query]['version'].nil?

Modified: branches/events/test/functional/api_controller_test.rb (3105 => 3106)


--- branches/events/test/functional/api_controller_test.rb	2012-08-24 10:05:17 UTC (rev 3105)
+++ branches/events/test/functional/api_controller_test.rb	2012-08-24 12:23:49 UTC (rev 3106)
@@ -229,6 +229,8 @@
 
     # post a file
 
+    existing_events = Event.all
+
     rest_request(:post, 'file', "<?xml version='1.0'?>
       <file>
         <title>#{title}</title>
@@ -240,6 +242,14 @@
 
     assert_response(:success)
 
+    new_events = Event.all - existing_events
+
+    assert_equal(1, new_events.length)
+
+    assert_equal("John Smith", new_events.first.subject.name)
+    assert_equal("create",     new_events.first.action)
+    assert_equal(title,        new_events.first.objekt.title)
+
     extra_files = Blob.find(:all) - existing_files
 
     assert_equal(extra_files.length, 1)
@@ -277,6 +287,8 @@
     setup
     login_as(:john)
 
+    existing_events = Event.all
+
     rest_request(:put, 'file', "<?xml version='1.0'?>
       <file>
         <title>#{title2}</title>
@@ -284,6 +296,13 @@
 
     assert_response(:success)
 
+    new_events = Event.all - existing_events
+
+    assert_equal(1, new_events.length)
+    assert_equal("John Smith", new_events.first.subject.name)
+    assert_equal("edit",       new_events.first.action)
+    assert_equal(title2,       new_events.first.objekt.title)
+
     # get the updated file
 
     response = rest_request(:get, 'file', nil, "id" => file.id,
@@ -296,6 +315,8 @@
 
     # add a new version of the file
 
+    existing_events = Event.all
+
     rest_request(:post, 'file', "<?xml version='1.0'?>
       <file>
         <title>#{title2}</title>
@@ -307,12 +328,21 @@
 
     assert_response(:success)
 
+    new_events = Event.all - existing_events
+
+    assert_equal(1, new_events.length)
+    assert_equal("John Smith",     new_events.first.subject.name)
+    assert_equal("create version", new_events.first.action)
+    assert_equal(title2,           new_events.first.objekt.title)
+
     file.reload
 
     assert_equal(2, file.versions.length)
 
     # update the first version of the file
 
+    existing_events = Event.all
+
     rest_request(:put, 'file', "<?xml version='1.0'?>
       <file>
         <title>#{title3}</title>
@@ -320,6 +350,13 @@
 
     assert_response(:success)
 
+    new_events = Event.all - existing_events
+
+    assert_equal(1, new_events.length)
+    assert_equal("John Smith",   new_events.first.subject.name)
+    assert_equal("edit version", new_events.first.action)
+    assert_equal(title3,         new_events.first.objekt.title)
+
     file.reload
     assert_equal(title3, file.find_version(1).title);
     assert_equal(title2, file.find_version(2).title);

reply via email to

[Prev in Thread] Current Thread [Next in Thread]