Sha256: 388b9c6882e2c736d114cc8584bae0dd10efe52bcaae4e18deb16206d9dcc0e6
Contents?: true
Size: 1.35 KB
Versions: 10
Compression:
Stored size: 1.35 KB
Contents
# Copyright (c) 2008-2013 Michael Dvorkin and contributors. # # Fat Free CRM is freely distributable under the terms of MIT license. # See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php #------------------------------------------------------------------------------ class EntityObserver < ActiveRecord::Observer observe :account, :contact, :lead, :opportunity def after_create(item) send_notification_to_assignee(item) if current_user != item.assignee end def after_update(item) if item.assigned_to_changed? && item.assignee != current_user send_notification_to_assignee(item) end end private def send_notification_to_assignee(item) if item.assignee.present? && current_user.present? && can_send_email? UserMailer.assigned_entity_notification(item, current_user).deliver_now end end # Need to have a host set before email can be sent def can_send_email? Setting.host.present? end def current_user # this deals with whodunnit inconsistencies, where in some cases it's set to a user's id and others the user object itself user_id_or_user = PaperTrail.whodunnit if user_id_or_user.is_a?(User) user_id_or_user elsif user_id_or_user.is_a?(String) User.find_by_id(user_id_or_user.to_i) end end ActiveSupport.run_load_hooks(:fat_free_crm_entity_observer, self) end
Version data entries
10 entries across 10 versions & 2 rubygems