Class: News
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- News
- Includes:
- Redmine::SafeAttributes
- Defined in:
- app/models/news.rb
Overview
Redmine - project management software Copyright (C) 2006-2017 Jean-Philippe Lang
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Class Method Summary collapse
-
.latest(user = User.current, count = 5) ⇒ Object
returns latest news for projects visible by user.
Instance Method Summary collapse
-
#cc_for_added_news ⇒ Object
Returns the email addresses that should be cc'd when a new news is added.
-
#commentable?(user = User.current) ⇒ Boolean
Returns true if the news can be commented by user.
- #notified_users ⇒ Object
-
#notified_watchers_for_added_news ⇒ Object
Returns the users that should be cc'd when a new news is added.
- #recipients ⇒ Object
- #visible?(user = User.current) ⇒ Boolean
Methods included from Redmine::SafeAttributes
#delete_unsafe_attributes, #safe_attribute?, #safe_attribute_names, #safe_attributes=
Class Method Details
Instance Method Details
#cc_for_added_news ⇒ Object
Returns the email addresses that should be cc'd when a new news is added
77 78 79 |
# File 'app/models/news.rb', line 77 def cc_for_added_news notified_watchers_for_added_news.map(&:mail) end |
#commentable?(user = User.current) ⇒ Boolean
Returns true if the news can be commented by user
52 53 54 |
# File 'app/models/news.rb', line 52 def commentable?(user=User.current) user.allowed_to?(:comment_news, project) end |
#notified_users ⇒ Object
56 57 58 |
# File 'app/models/news.rb', line 56 def notified_users project.users.select {|user| user.notify_about?(self) && user.allowed_to?(:view_news, project)} end |
#notified_watchers_for_added_news ⇒ Object
Returns the users that should be cc'd when a new news is added
65 66 67 68 69 70 71 72 73 74 |
# File 'app/models/news.rb', line 65 def notified_watchers_for_added_news watchers = [] if m = project.enabled_module('news') watchers = m.notified_watchers unless project.is_public? watchers = watchers.select {|user| project.users.include?(user)} end end watchers end |
#recipients ⇒ Object
60 61 62 |
# File 'app/models/news.rb', line 60 def recipients notified_users.map(&:mail) end |
#visible?(user = User.current) ⇒ Boolean
47 48 49 |
# File 'app/models/news.rb', line 47 def visible?(user=User.current) !user.nil? && user.allowed_to?(:view_news, project) end |