Skip to content

Commit

Permalink
Added activity
Browse files Browse the repository at this point in the history
  • Loading branch information
spob committed Jan 12, 2011
1 parent 17fd4b3 commit 6590f34
Show file tree
Hide file tree
Showing 14 changed files with 388 additions and 207 deletions.
305 changes: 158 additions & 147 deletions app/controllers/users_controller.rb

Large diffs are not rendered by default.

19 changes: 11 additions & 8 deletions app/models/topic_comment.rb
Expand Up @@ -17,23 +17,26 @@

class TopicComment < Comment
# acts_as_solr :fields => [:body, {:created_at => :date}]

define_index do
indexes body
has created_at, updated_at
set_property :delta => true
end

belongs_to :topic, :counter_cache => true
belongs_to :endorser, :class_name => 'User'
before_create :update_topic_commented_at_on_create
before_create :notify_immediate_watchers
before_update :update_topic_commented_at_on_update

validates_presence_of :topic_id


named_scope :by_user,
lambda{|user|{:conditions => ['comments.user_id = ?', user.id]}}
named_scope :by_moderator, :joins => {:topic => { :forum => :mediators }},
:conditions => [ "comments.user_id = forum_mediators.user_id" ]
named_scope :topic_ids, :select => ["comments.topic_id"]

def update_topic_commented_at_on_create
unless private
Expand All @@ -49,7 +52,7 @@ def update_topic_commented_at_on_update
def can_see? current_user
!self.private or topic.forum.mediators.include? current_user
end

def can_edit? current_user, role_override=false
return true if role_override
(topic.last_comment?(self) and user.id == current_user.id) or
Expand All @@ -67,7 +70,7 @@ def can_endorse? current_user
def can_unendorse? current_user
!self.endorser.nil? and topic.forum.mediators.include? current_user
end

def self.top_users forum=nil
sql = %Q{
select u.id, u.first_name, u.last_name, u.email, u.hide_contact_info, count(*)
Expand All @@ -84,11 +87,11 @@ def self.top_users forum=nil
User.find(:all, :conditions => ["id in (?)",
User.find_by_sql([sql, forum_id, forum_id]).collect(&:id)]).sort_by{|u| u.topic_comments.size * -1}
end

def rss_headline
"Forum: #{topic.forum.name}, Topic: #{topic.title}"
end

def rss_body
"<i>#{user.display_name} wrote:</i><br/>#{body}"
end
Expand Down
9 changes: 6 additions & 3 deletions app/models/user_logon.rb
Expand Up @@ -11,11 +11,14 @@

class UserLogon < ActiveRecord::Base
belongs_to :user


named_scope :in_last_year, :conditions => ['created_at > ?', 1.year.ago.to_s(:db)]

def self.list(page, per_page)
paginate :page => page,
paginate :page => page,
:include => [:user],
:conditions => ['created_at > ?', (Time.zone.now - 60*60*24*90).to_s(:db)],
:order => 'created_at desc',
:order => 'created_at desc',
:per_page => per_page
end
end
14 changes: 8 additions & 6 deletions app/models/vote.rb
Expand Up @@ -14,11 +14,13 @@
#

class Vote < ActiveRecord::Base

belongs_to :idea
belongs_to :allocation
belongs_to :user


named_scope :include_idea, :include => [:idea]

validates_presence_of :user_id, :allocation_id, :idea_id

def self.list(page, per_page, enterprise = nil, user = nil)
Expand All @@ -38,10 +40,10 @@ def self.list(page, per_page, enterprise = nil, user = nil)
conditions[1] = enterprise.id
conditions[2] = user.id
end
paginate :page => page,

paginate :page => page,
:conditions => conditions,
:order => 'votes.created_at DESC',
:order => 'votes.created_at DESC',
:per_page => per_page,
:include => :idea
end
Expand All @@ -50,7 +52,7 @@ def can_delete?
true
end

# The number of seconds until a vote can no longer be rescinded
# The number of seconds until a vote can no longer be rescinded
def self.rescind_seconds
APP_CONFIG['rescind_minutes'].to_i * 60
end
Expand Down
19 changes: 12 additions & 7 deletions app/views/groups/_tab_menu.rhtml
@@ -1,21 +1,26 @@
<div id="tabs">
<ul class="tabs">
<li><%= link_to "Users", option = {:controller => 'users', :action => :list } %></li>
<li class="selected"><%= link_to "Groups",
groups_path,
<li><%= link_to "Users", users_path %></li>
<li class="selected"><%= link_to "Groups",
groups_path,
html_options = {
:onmouseover => "Tip('View user groups')",
:method => :get } %></li>
<li><%= link_to "Logon History",
user_logons_path,
<li><%= link_to "Logon History",
user_logons_path,
html_options = {
:onmouseover => "Tip('View logons in the last 90 days')",
:method => :get } %></li>
<li><%= link_to "Account Requests#{'(*)' if UserRequest.pending_requests?}",
user_requests_path,
user_requests_path,
html_options = {
:onmouseover => "Tip('View account requests')",
:method => :get } %></li>
<li><%= link_to "Activity",
activity_users_path,
html_options = {
:onmouseover => "Tip('View user activity')",
:method => :get } %></li>
</ul>
</div>
<div id="menuline"></div>
<div id="menuline"></div>
17 changes: 11 additions & 6 deletions app/views/user_logons/_tab_menu.rhtml
@@ -1,20 +1,25 @@
<div id="tabs">
<ul class="tabs">
<li><%= link_to "Users", option = {:controller => 'users', :action => :list } %></li>
<li><%= link_to "Groups", groups_path,
<li><%= link_to "Users", users_path %></li>
<li><%= link_to "Groups", groups_path,
html_options = {
:onmouseover => "Tip('View user groups')",
:method => :get } %></li>
<li class="selected"><%= link_to "Logon History",
user_logons_path,
<li class="selected"><%= link_to "Logon History",
user_logons_path,
html_options = {
:onmouseover => "Tip('View logons in the last 90 days')",
:method => :get } %></li>
<li><%= link_to "Account Requests#{'(*)' if UserRequest.pending_requests?}",
user_requests_path,
user_requests_path,
html_options = {
:onmouseover => "Tip('View account requests')",
:method => :get } %></li>
<li><%= link_to "Activity",
activity_users_path,
html_options = {
:onmouseover => "Tip('View user activity')",
:method => :get } %></li>
</ul>
</div>
<div id="menuline"></div>
<div id="menuline"></div>
19 changes: 12 additions & 7 deletions app/views/user_requests/_tab_menu.rhtml
@@ -1,21 +1,26 @@
<div id="tabs">
<ul class="tabs">
<li><%= link_to "Users", option = {:controller => 'users', :action => :list } %></li>
<li><%= link_to "Groups",
groups_path,
<li><%= link_to "Users", users_path %></li>
<li><%= link_to "Groups",
groups_path,
html_options = {
:onmouseover => "Tip('View user groups')",
:method => :get } %></li>
<li><%= link_to "Logon History",
user_logons_path,
<li><%= link_to "Logon History",
user_logons_path,
html_options = {
:onmouseover => "Tip('View logons in the last 90 days')",
:method => :get } %></li>
<li class="selected"><%= link_to "Account Requests#{'(*)' if UserRequest.pending_requests?}",
user_requests_path,
user_requests_path,
html_options = {
:onmouseover => "Tip('View account requests')",
:method => :get } %></li>
<li><%= link_to "Activity",
activity_users_path,
html_options = {
:onmouseover => "Tip('View user activity')",
:method => :get } %></li>
</ul>
</div>
<div id="menuline"></div>
<div id="menuline"></div>
5 changes: 5 additions & 0 deletions app/views/users/_logon.html.erb
@@ -0,0 +1,5 @@
<tr>
<td>
<%= om_date_time logon.created_at %>
</td>
</tr>
17 changes: 11 additions & 6 deletions app/views/users/_tab_menu.rhtml
@@ -1,21 +1,26 @@
<div id="tabs">
<ul class="tabs">
<li class="selected"><%= link_to "Users",
<li class="selected"><%= link_to "Users",
option = {:controller => 'users', :action => :list } %></li>
<li><%= link_to "Groups", groups_path,
<li><%= link_to "Groups", groups_path,
html_options = {
:onmouseover => "Tip('View user groups')",
:method => :get } %></li>
<li><%= link_to "Logon History",
user_logons_path,
<li><%= link_to "Logon History",
user_logons_path,
html_options = {
:onmouseover => "Tip('View logons in the last 90 days')",
:method => :get } %></li>
<li><%= link_to "Account Requests#{'(*)' if UserRequest.pending_requests?}",
user_requests_path,
user_requests_path,
html_options = {
:onmouseover => "Tip('View account requests')",
:method => :get } %></li>
<li><%= link_to "Activity",
activity_users_path,
html_options = {
:onmouseover => "Tip('View user activity')",
:method => :get } %></li>
</ul>
</div>
<div id="menuline"></div>
<div id="menuline"></div>
7 changes: 7 additions & 0 deletions app/views/users/_topic.html.erb
@@ -0,0 +1,7 @@
<tr>
<td><%= link_to h(topic.forum.name), forum_path(topic.forum) %></td>
<td><%= link_to h(topic.title), topic_path(topic) %></td>
<td><%= user_display_name(topic.user) %></td>
<td><%= topic.comments.by_user(@user).count %></td>
<td><%= om_date_time topic.comments.by_user(@user).last.try(:created_at) %></td>
</tr>
8 changes: 8 additions & 0 deletions app/views/users/_vote.html.erb
@@ -0,0 +1,8 @@
<tr>
<td>
<%= om_date_time vote.created_at %>
</td>
<td>
<%= link_to "#{vote.idea.id}: #{h vote.idea.title}", {:action => 'show', :id => vote.idea } %>
</td>
</tr>

0 comments on commit 6590f34

Please sign in to comment.