[Logilogi-svn] SF.net SVN: logilogi:[1613] trunk
Status: Beta
Brought to you by:
wybow
|
From: <wy...@us...> - 2009-10-04 23:55:27
|
Revision: 1613
http://logilogi.svn.sourceforge.net/logilogi/?rev=1613&view=rev
Author: wybow
Date: 2009-10-04 23:55:17 +0000 (Sun, 04 Oct 2009)
Log Message:
-----------
First working version of alert system
Modified Paths:
--------------
trunk/app/controllers/logis_controller.rb
trunk/app/helpers/application_helper.rb
trunk/app/models/log_log_subscription.rb
trunk/app/models/notifier.rb
trunk/app/models/user.rb
trunk/app/views/changes/_recent_or_new_logis.html.erb
trunk/app/views/logis/_created_by_user.html.erb
trunk/app/views/logis/_rated_by_peer_group.html.erb
trunk/app/views/main_page/_recent_or_new_logis.html.erb
trunk/test/unit/notifier_test.rb
trunk/test/unit/user_test.rb
Added Paths:
-----------
trunk/app/views/notifier/for_log.erb
Removed Paths:
-------------
trunk/app/views/notifier/log.erb
Modified: trunk/app/controllers/logis_controller.rb
===================================================================
--- trunk/app/controllers/logis_controller.rb 2009-10-04 22:10:55 UTC (rev 1612)
+++ trunk/app/controllers/logis_controller.rb 2009-10-04 23:55:17 UTC (rev 1613)
@@ -316,7 +316,9 @@
self.get_logis
case @logi.kind
when Const::Logi::KINDS[:user]
- render_body 'created_by_user', :locals => {:logis => @logis}
+ render_body 'created_by_user', :locals => {
+ :logis => @logis,
+ :user => @logi.home_pages_user}
when Const::Logi::KINDS[:peer_group]
render_body 'rated_by_peer_group', :locals => {:logis => @logis}
else
Modified: trunk/app/helpers/application_helper.rb
===================================================================
--- trunk/app/helpers/application_helper.rb 2009-10-04 22:10:55 UTC (rev 1612)
+++ trunk/app/helpers/application_helper.rb 2009-10-04 23:55:17 UTC (rev 1613)
@@ -326,14 +326,19 @@
return @controller.return_url_or_default(default_url)
end
- def rss_link(options = {})
- if !current_context.nil?
- options[:ll_link_string] ||= current_context.link.to_s(:step => -1)
+ def log_log_link(options = {})
+ if options[:controller] == 'feed' and options[:channel]
+ GlobalConfig.log_log_site + "/channels/" + options[:channel] + "/feed.atom"
+ else
+ raise 'Missing attr'
end
- '<div class="rss_link">' + link_to(image_tag('rss.png'),
- url_for(options.merge(:format => :atom))) + '</div>'
end
+ def log_log_feed_link(options = {})
+ url = log_log_link(options.merge(:controller => 'feed'))
+ '<div class="rss_link">' + link_to(image_tag('rss.png'), url) + '</div>'
+ end
+
# cloud
def tag_cloud(objects, classes, &proc)
Modified: trunk/app/models/log_log_subscription.rb
===================================================================
--- trunk/app/models/log_log_subscription.rb 2009-10-04 22:10:55 UTC (rev 1612)
+++ trunk/app/models/log_log_subscription.rb 2009-10-04 23:55:17 UTC (rev 1613)
@@ -25,7 +25,7 @@
page = Net::HTTP.get_response(url)
periodical = page.body
if periodical =~ /[^\s]/
- Notifier.deliver_log(user, user.unix_name, periodical)
+ Notifier.deliver_for_log(user, 'Weekly', periodical)
end
rescue
end
Modified: trunk/app/models/notifier.rb
===================================================================
--- trunk/app/models/notifier.rb 2009-10-04 22:10:55 UTC (rev 1612)
+++ trunk/app/models/notifier.rb 2009-10-04 23:55:17 UTC (rev 1613)
@@ -14,12 +14,13 @@
class Notifier < ActionMailer::Base
### Mailers
- def log(user, channel, periodical)
- subject "Update for " + channel + " on " + GlobalConfig.domain
+ def for_log(user, period, periodical)
+ subject period + " for " + user.name + " on " + GlobalConfig.domain
from "LogiLogi Notifier <no...@lo...>"
recipients user.email
sent_on Time.now
- body :channel => channel,
+ body :user => user,
+ :period => period,
:periodical => periodical
end
Modified: trunk/app/models/user.rb
===================================================================
--- trunk/app/models/user.rb 2009-10-04 22:10:55 UTC (rev 1612)
+++ trunk/app/models/user.rb 2009-10-04 23:55:17 UTC (rev 1613)
@@ -175,7 +175,7 @@
# Returns the name of the user, but reduced and all lowercase.
#
def unix_name
- self.name.downcase.gsub(/[\ .-]/,'_')
+ self.name.downcase.gsub(/[\ .-]/,'_').gsub(/[^a-z_]/,'')
end
# Sending out e-mail
Modified: trunk/app/views/changes/_recent_or_new_logis.html.erb
===================================================================
--- trunk/app/views/changes/_recent_or_new_logis.html.erb 2009-10-04 22:10:55 UTC (rev 1612)
+++ trunk/app/views/changes/_recent_or_new_logis.html.erb 2009-10-04 23:55:17 UTC (rev 1613)
@@ -2,10 +2,10 @@
<div id="<%= selected %>" class="index">
<% render :layout => 'application/panel_with_tabs_ajax', :locals => {:tabs => [
{:text => _("Recently changed Logis"), :name => "recently_changed_logis",
- :rss_link => rss_link(),
+ :rss_link => (GlobalConfig.use_log_log ? log_log_feed_link(:channel => 'logis') : nil),
:description => '<h2>' + _("Logis that have recenly been edited") + '</h2>'},
{:text => _("New Logis"), :name => "new_logis",
- :rss_link => rss_link(:controller => :main_page),
+ :rss_link => (GlobalConfig.use_log_log ? log_log_feed_link(:channel => 'changes') : nil),
:description => '<h2>' + _("Logis that have just been created") + '</h2>'}],
:selected => selected, :id => "recenting", :update => 'recent_or_new_logis'} do %>
<% if selected == "new_logis" %>
Modified: trunk/app/views/logis/_created_by_user.html.erb
===================================================================
--- trunk/app/views/logis/_created_by_user.html.erb 2009-10-04 22:10:55 UTC (rev 1612)
+++ trunk/app/views/logis/_created_by_user.html.erb 2009-10-04 23:55:17 UTC (rev 1613)
@@ -1,6 +1,6 @@
<div id="created_by_user">
<%= render :partial => 'application/header', :locals => {
- :title => _("Recent writings"), :link => rss_link()} %>
+ :title => _("Recent writings"), :link => (GlobalConfig.use_log_log ? log_log_feed_link(:channel => 'by_' + user.unix_name) : nil)} %>
<% if !logis.empty? %>
<%= render :partial => 'snippets_pagination', :locals => {:logis => logis} %>
<% end %>
Modified: trunk/app/views/logis/_rated_by_peer_group.html.erb
===================================================================
--- trunk/app/views/logis/_rated_by_peer_group.html.erb 2009-10-04 22:10:55 UTC (rev 1612)
+++ trunk/app/views/logis/_rated_by_peer_group.html.erb 2009-10-04 23:55:17 UTC (rev 1613)
@@ -1,7 +1,7 @@
<div id="comments">
<%= render :partial => 'application/header', :locals => {
:title => _("Recently positively rated"),
- :link => rss_link()} %>
+ :link => nil} %>
<% if !logis.empty? %>
<%= render :partial => 'snippets_pagination', :locals => {:logis => logis} %>
<% end %>
Modified: trunk/app/views/main_page/_recent_or_new_logis.html.erb
===================================================================
--- trunk/app/views/main_page/_recent_or_new_logis.html.erb 2009-10-04 22:10:55 UTC (rev 1612)
+++ trunk/app/views/main_page/_recent_or_new_logis.html.erb 2009-10-04 23:55:17 UTC (rev 1613)
@@ -2,10 +2,10 @@
<div id="<%= selected %>">
<% render :layout => 'application/panel_with_tabs_ajax', :locals => {:tabs => [
{:text => _("New Logis"), :name => "new_logis",
- :rss_link => rss_link(),
+ :rss_link => (GlobalConfig.use_log_log ? log_log_feed_link(:channel => 'logis') : nil),
:description => _("Logis that have just been created")},
{:text => _("Recently changed Logis"), :name => "recently_changed_logis",
- :rss_link => rss_link(:controller => :changes),
+ :rss_link => (GlobalConfig.use_log_log ? log_log_feed_link(:channel => 'changes') : nil),
:description => _("Logis that have recenly been edited")}],
:selected => selected, :id => "recenting", :update_selected => true} do %>
<% if selected == "new_logis" %>
Added: trunk/app/views/notifier/for_log.erb
===================================================================
--- trunk/app/views/notifier/for_log.erb (rev 0)
+++ trunk/app/views/notifier/for_log.erb 2009-10-04 23:55:17 UTC (rev 1613)
@@ -0,0 +1,3 @@
+<%= @period %> update for <%= @user.name %> on <%= GlobalConfig.domain %>.
+
+<%= @periodical %>
Deleted: trunk/app/views/notifier/log.erb
===================================================================
--- trunk/app/views/notifier/log.erb 2009-10-04 22:10:55 UTC (rev 1612)
+++ trunk/app/views/notifier/log.erb 2009-10-04 23:55:17 UTC (rev 1613)
@@ -1,3 +0,0 @@
-Update for channel <%= @channel %> on <%= GlobalConfig.domain %>.
-
-<%= @periodical %>
Modified: trunk/test/unit/notifier_test.rb
===================================================================
--- trunk/test/unit/notifier_test.rb 2009-10-04 22:10:55 UTC (rev 1612)
+++ trunk/test/unit/notifier_test.rb 2009-10-04 23:55:17 UTC (rev 1613)
@@ -24,10 +24,10 @@
@expected = TMail::Mail.new
end
- def test_log
+ def test_for_log
u = users(:eduard_edison)
- assert Notifier.create_log(u, "for_eduard_edison", "~ Moo ~\n Cows\n Boy!")
+ assert Notifier.create_for_log(u, "for_eduard_edison", "~ Moo ~\n Cows\n Boy!")
end
def test_welcome
Modified: trunk/test/unit/user_test.rb
===================================================================
--- trunk/test/unit/user_test.rb 2009-10-04 22:10:55 UTC (rev 1612)
+++ trunk/test/unit/user_test.rb 2009-10-04 23:55:17 UTC (rev 1613)
@@ -153,7 +153,7 @@
def test_reduced_name
u = User.new(:openid_identifier => 'http://the.pond.com',
- :name => 'Kermit T.h.e F-rog', :email => 'le...@th...')
+ :name => 'Kermit T.h.e F-rogé', :email => 'le...@th...')
assert_equal 'kermit_t_h_e_f_rog', u.unix_name
end
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|