myexperiment-hackers
[Top][All Lists]
Advanced

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

[myexperiment-hackers] [3107] branches/events: added events for favourit


From: noreply
Subject: [myexperiment-hackers] [3107] branches/events: added events for favourites
Date: Fri, 24 Aug 2012 13:37:38 +0000 (UTC)

Revision
3107
Author
dgc
Date
2012-08-24 13:37:38 +0000 (Fri, 24 Aug 2012)

Log Message

added events for favourites

Modified Paths

Diff

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


--- branches/events/app/controllers/blobs_controller.rb	2012-08-24 12:23:49 UTC (rev 3106)
+++ branches/events/app/controllers/blobs_controller.rb	2012-08-24 13:37:38 UTC (rev 3107)
@@ -314,11 +314,26 @@
   
   # POST /files/1;favourite
   def favourite
-    @blob.bookmarks << Bookmark.create(:user => current_user, :bookmarkable => @blob) unless @blob.bookmarked_by_user?(current_user)
+
+    bookmark = Bookmark.new(:user => current_user, :bookmarkable => @blob)
+
+    success = bookmark.save
+
+    if success
+      Event.create(:subject => current_user, :action ="" 'create', :objekt => bookmark)
+    end
     
     respond_to do |format|
-      flash[:notice] = "You have successfully added this item to your favourites."
-      format.html { redirect_to blob_url(@blob) }
+
+      format.html {
+        if success
+          flash[:notice] = "You have successfully added this item to your favourites."
+        else
+          flash[:error] = "Unable to create favourite."
+        end
+
+        redirect_to blob_url(@blob)
+      }
     end
   end
   

Modified: branches/events/app/controllers/packs_controller.rb (3106 => 3107)


--- branches/events/app/controllers/packs_controller.rb	2012-08-24 12:23:49 UTC (rev 3106)
+++ branches/events/app/controllers/packs_controller.rb	2012-08-24 13:37:38 UTC (rev 3107)
@@ -192,11 +192,26 @@
   
   # POST /packs/1;favourite
   def favourite
-    @pack.bookmarks << Bookmark.create(:user => current_user, :bookmarkable => @pack) unless @pack.bookmarked_by_user?(current_user)
+
+    bookmark = Bookmark.new(:user => current_user, :bookmarkable => @pack)
+
+    success = bookmark.save
+
+    if success
+      Event.create(:subject => current_user, :action ="" 'create', :objekt => bookmark)
+    end
     
     respond_to do |format|
-      flash[:notice] = "You have successfully added this item to your favourites."
-      format.html { redirect_to pack_url(@pack) }
+
+      format.html {
+        if success
+          flash[:notice] = "You have successfully added this item to your favourites."
+        else
+          flash[:error] = "Unable to create favourite."
+        end
+
+        redirect_to pack_url(@pack)
+      }
     end
   end
   

Modified: branches/events/app/controllers/workflows_controller.rb (3106 => 3107)


--- branches/events/app/controllers/workflows_controller.rb	2012-08-24 12:23:49 UTC (rev 3106)
+++ branches/events/app/controllers/workflows_controller.rb	2012-08-24 13:37:38 UTC (rev 3107)
@@ -42,14 +42,29 @@
   
   # POST /workflows/1;favourite
   def favourite
-    Bookmark.create(:user => current_user, :bookmarkable => @workflow) unless @workflow.bookmarked_by_user?(current_user)
+
+    bookmark = Bookmark.new(:user => current_user, :bookmarkable => @workflow)
+
+    success = bookmark.save
+
+    if success
+      Event.create(:subject => current_user, :action ="" 'create', :objekt => bookmark)
+    end
     
     respond_to do |format|
-      flash[:notice] = "You have successfully added this item to your favourites."
-      format.html { redirect_to workflow_url(@workflow) }
+
+      format.html {
+        if success
+          flash[:notice] = "You have successfully added this item to your favourites."
+        else
+          flash[:error] = "Unable to create favourite."
+        end
+
+        redirect_to workflow_url(@workflow)
+      }
     end
   end
-  
+
   # DELETE /workflows/1;favourite_delete
   def favourite_delete
     @workflow.bookmarks.each do |b|

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


--- branches/events/app/helpers/application_helper.rb	2012-08-24 12:23:49 UTC (rev 3106)
+++ branches/events/app/helpers/application_helper.rb	2012-08-24 13:37:38 UTC (rev 3107)
@@ -547,23 +547,6 @@
 
   def activity_feed(opts = {})
 
-    sentences = {
-      "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     = []
     conditions_operands = []
 
@@ -590,51 +573,29 @@
 
     markup << events.map do |event|
 
-      if event.objekt
-        sentence = sentences["#{event.action} #{event.objekt_type}"]
+      action = "" event.objekt
+        "#{event.action} #{event.objekt_type}"
       else
-        sentence = sentences["#{event.action}"]
+        "#{event.action}"
       end
 
-      next unless sentence
-
-      if sentence.include?("$S")
-
-        lhs_url = send("#{Object.const_get(event.subject_type).table_name.singularize}_path".to_sym,
-              :id => event.subject_id)
-
-        if lhs_url == request.path
-          lhs = h(event.subject_label)
-        else
-          lhs = link_to(event.subject_label, lhs_url)
-        end
-
-        sentence = sentence.sub("$S", lhs)
+      sentence = case action
+        when "register":                "#{event.subject.label} joined #{Conf.sitename}"
+        when "create Workflow":         "#{event.subject.label} uploaded #{event.objekt.label}"
+        when "create version Workflow": "#{event.subject.label} uploaded a new version of #{event.objekt.label}"
+        when "edit Workflow":           "#{event.subject.label} edited #{event.objekt.label}"
+        when "edit version Workflow":   "#{event.subject.label} edited version #{event.extra} of #{event.objekt.label}"
+        when "create Blob":             "#{event.subject.label} uploaded #{event.objekt.label}"
+        when "create version Blob":     "#{event.subject.label} uploaded a new version of #{event.objekt.label}"
+        when "edit Blob":               "#{event.subject.label} edited #{event.objekt.label}"
+        when "edit version Blob":       "#{event.subject.label} edited version #{event.extra} of #{event.objekt.label}"
+        when "create Bookmark":         "#{event.subject.label} favourited #{event.objekt.bookmarkable.label}"
+        when "create Pack":             "#{event.subject.label} created #{event.objekt.label}"
+        when "create Blog":             "#{event.subject.label} created #{event.objekt.label}"
       end
 
-      if sentence.include?("$O")
+      "<li>#{sentence}.</li>"
 
-        if event.objekt_id
-
-          rhs_url = send("#{event.objekt_type.constantize.table_name.singularize}_path".to_sym,
-                :id => event.objekt_id)
-        end
-
-        if rhs_url == request.path
-          rhs = h(event.objekt_label)
-        else
-          rhs = link_to(event.objekt_label, rhs_url)
-        end
-
-        sentence = sentence.sub("$O", rhs)
-      end
-
-      if sentence.include?("$E")
-        sentence = sentence.sub("$E", event.extra)
-      end
-
-      "<li>#{sentence}</li>"
-
     end.join
 
     markup << '</ol>'

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


--- branches/events/lib/rest.rb	2012-08-24 12:23:49 UTC (rev 3106)
+++ branches/events/lib/rest.rb	2012-08-24 13:37:38 UTC (rev 3107)
@@ -1986,7 +1986,13 @@
       ob.bookmarkable = target
     end
 
-    return rest_response(400, :object => ob) unless ob.save
+    success = ob.save
+
+    if success
+      Event.create(:subject => current_user, :action ="" 'create', :objekt => ob)
+    end
+
+    return rest_response(400, :object => ob) unless success
   end
 
   rest_get_request(ob, opts[:user], { "id" => ob.id.to_s })

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


--- branches/events/test/functional/api_controller_test.rb	2012-08-24 12:23:49 UTC (rev 3106)
+++ branches/events/test/functional/api_controller_test.rb	2012-08-24 13:37:38 UTC (rev 3107)
@@ -789,6 +789,8 @@
 
     existing_favourites = Bookmark.find(:all)
 
+    existing_events = Event.all
+
     rest_request(:post, 'favourite', "<?xml version='1.0'?>
       <favourite>
         <object resource='#{workflow_url}'/>
@@ -796,6 +798,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("create", new_events.first.action)
+    assert_equal("Unique tags", new_events.first.objekt.bookmarkable.title)
+
     extra_favourites = Bookmark.find(:all) - existing_favourites 
     
     assert_equal(extra_favourites.length, 1)

reply via email to

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