myexperiment-hackers
[Top][All Lists]
Advanced

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

[myexperiment-hackers] [1946] branches/event_logging/app: Subscriptions.


From: noreply
Subject: [myexperiment-hackers] [1946] branches/event_logging/app: Subscriptions.
Date: Wed, 12 Nov 2008 10:40:10 -0500 (EST)

Revision
1946
Author
alekses6
Date
2008-11-12 10:40:10 -0500 (Wed, 12 Nov 2008)

Log Message

Subscriptions. Latest packs RSS feed added.

Modified Paths

Added Paths

Diff

Modified: branches/event_logging/app/controllers/packs_controller.rb (1945 => 1946)


--- branches/event_logging/app/controllers/packs_controller.rb	2008-11-12 14:48:40 UTC (rev 1945)
+++ branches/event_logging/app/controllers/packs_controller.rb	2008-11-12 15:40:10 UTC (rev 1946)
@@ -9,6 +9,7 @@
   before_filter :login_required, :except => [:index, :show, :all, :search, :items, :download]
   
   before_filter :find_packs, : [:all]
+  before_filter :find_packs_rss, : [:index]
   before_filter :find_pack_auth, :except => [:index, :new, :create, :all, :search]
   
   before_filter :set_sharing_mode_variables, : [:show, :new, :create, :edit, :update]
@@ -36,6 +37,9 @@
   def index
     respond_to do |format|
       format.html # index.rhtml
+      format.rss do
+        render :action ="" 'index.rxml', :layout => false
+      end
     end
   end
   
@@ -418,6 +422,19 @@
                        :current => params[:page] })
   end
   
+  def find_packs_rss
+    # Only carry out if request is for RSS
+    if params[:format] and params[:format].downcase == 'rss'
+      found = Pack.find(:all, :order => "packs.updated_at DESC", :limit => 30, :include => [ { :contribution => :policy } ])
+      
+      @rss_packs = []
+      
+      found.each do |pack|
+        @rss_packs << pack if pack.authorized?("show", (logged_in? ? current_user : nil))
+      end
+    end
+  end
+  
   def find_pack_auth
     begin
       pack = Pack.find(params[:id])

Modified: branches/event_logging/app/views/contributions/_most_tabs.rhtml (1945 => 1946)


--- branches/event_logging/app/views/contributions/_most_tabs.rhtml	2008-11-12 14:48:40 UTC (rev 1945)
+++ branches/event_logging/app/views/contributions/_most_tabs.rhtml	2008-11-12 15:40:10 UTC (rev 1946)
@@ -3,12 +3,12 @@
 <% unless (most_r = Contribution.most_recent(10, type)).empty? %>
   <div class="tabContainer">
   	<div class="tabTitle">
-  		<% if ['workflows', 'blobs'].include? controller.controller_name.downcase -%>
-				<% latest_what = controller_visible_name(controller.controller_name.camelcase) %>
-				<%= feed_icon_tag "Latest #{latest_what}", eval("formatted_#{latest_what.downcase}_path(:rss)"), "margin-right: 0.2em;" %>
-			<% end -%>
-  		Latest
-		</div>
+  	  <% if ['workflows', 'blobs', 'packs'].include? controller.controller_name.downcase -%>
+	    <% latest_what = controller_visible_name(controller.controller_name.camelcase) %>
+		<%= feed_icon_tag "Latest #{latest_what}", eval("formatted_#{latest_what.downcase}_path(:rss)"), "margin-right: 0.2em;" %>
+	  <% end -%>
+  	  Latest
+	</div>
   	<div class="tabContent">
 	    <%= render :partial => "contributions/list", :locals => { :collection => most_r, :table => true } %>
   	</div>

Added: branches/event_logging/app/views/layouts/_pack.rxml (0 => 1946)


--- branches/event_logging/app/views/layouts/_pack.rxml	                        (rev 0)
+++ branches/event_logging/app/views/layouts/_pack.rxml	2008-11-12 15:40:10 UTC (rev 1946)
@@ -0,0 +1,8 @@
+xm.item do
+  xm.title "#{h(pack.title)} (#{h(pack.contribution.contributor.name || pack.contribution.contributor.title)})"
+  xm.description white_list(pack.description_html)
+  xm.pubDate pack.contribution.updated_at.rfc822
+  xm.guid [request.host_with_port, "pack", pack.id.to_s].join(":"), "isPermaLink" => "false"
+  xm.author h(pack.contribution.contributor.name || pack.contribution.contributor.title)
+  xm.link pack_url(pack)
+end
\ No newline at end of file

Added: branches/event_logging/app/views/packs/index.rxml (0 => 1946)


--- branches/event_logging/app/views/packs/index.rxml	                        (rev 0)
+++ branches/event_logging/app/views/packs/index.rxml	2008-11-12 15:40:10 UTC (rev 1946)
@@ -0,0 +1,11 @@
+xml.rss "version" => "2.0", 'xmlns:opensearch' => "http://a9.com/-/spec/opensearch/1.1/", 'xmlns:atom' => "http://www.w3.org/2005/Atom" do
+  xml.channel do
+    xml.title "myExperiment.org - Latest Packs"
+    xml.link packs_url
+    xml.language "en-us"
+    xml.ttl "60"
+    xml.tag! "atom:link", :rel => 'search', :type => 'application/opensearchdescription+xml', :href ="" "http://#{request.host_with_port}/open_search.xml"
+    xml.description "RSS feed listing the latest Packs which have been uploaded to myExperiment.org"
+    render(:partial => "layouts/pack", :collection => @rss_packs, :locals => { :xm => xml })
+  end
+end
\ No newline at end of file

reply via email to

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