metamaps--metamaps/app/models/user_map.rb

34 lines
895 B
Ruby
Raw Normal View History

2016-09-24 03:00:46 +00:00
# frozen_string_literal: true
2017-11-25 19:23:47 +00:00
class UserMap < ApplicationRecord
belongs_to :map
belongs_to :user
2017-02-09 21:53:19 +00:00
belongs_to :access_request
2017-11-25 19:23:47 +00:00
2017-02-09 21:53:19 +00:00
after_create :after_created_async
before_destroy :before_destroyed
def mark_invite_notifications_as_read
2016-12-11 22:29:48 +00:00
Mailboxer::Notification.where(notified_object: self).find_each do |notification|
Mailboxer::Receipt.where(notification: notification).update_all(is_read: true)
end
end
2017-11-25 19:23:47 +00:00
2017-02-09 21:53:19 +00:00
protected
2017-11-25 19:23:47 +00:00
2017-02-09 21:53:19 +00:00
def after_created_async
FollowService.follow(map, user, 'shared_on')
2017-02-09 21:53:19 +00:00
if access_request
2017-11-25 19:23:47 +00:00
NotificationService.access_approved(access_request)
2017-02-09 21:53:19 +00:00
else
NotificationService.invite_to_edit(self)
end
# NotificationService.notify_followers(map, 'map_collaborator_added', self, 'shared_on')
2017-02-09 21:53:19 +00:00
end
handle_asynchronously :after_created_async
2017-11-25 19:23:47 +00:00
def before_destroyed
FollowService.remove_reason(map, user, 'shared_on')
end
end