def notify(self, event_type, user=None, user_id=None, email=None, **kwargs): if not any([user, user_id]): raise Exception("You need to inform user or user_id") permission = self.check_permission(event_type, user_id or user.id, user) kwargs['http_host'] = str(self.db.request.env.http_host) kwargs = self.check_image_urls(kwargs) if 'site' in permission: params = dict( user_id=user_id or user.id, event_type=event_type, event_text=kwargs.get("event_text", ""), event_link=kwargs.get("event_link", ""), event_reference=kwargs.get("event_reference", 0), event_image=kwargs.get("event_image", ""), kwargs=clean_object(kwargs, self.db.T) ) self.insert_site_notification(**params) if 'email' in permission: if user: to = user.email elif email: to = email else: to = self.db.auth_user[user_id].email self.send_email(to, event_type, **kwargs) else: if self.record: self.notification.entity[self.record].update_record(mail_sent=True)
def notify(self, event_type, user=None, user_id=None, email=None, **kwargs): if not any([user, user_id]): raise Exception("You need to inform user or user_id") permission = self.check_permission(event_type, user_id or user.id, user) kwargs['http_host'] = str(self.db.request.env.http_host) kwargs = self.check_image_urls(kwargs) if 'site' in permission: params = dict(user_id=user_id or user.id, event_type=event_type, event_text=kwargs.get("event_text", ""), event_link=kwargs.get("event_link", ""), event_reference=kwargs.get("event_reference", 0), event_image=kwargs.get("event_image", ""), kwargs=clean_object(kwargs, self.db.T)) self.insert_site_notification(**params) if 'email' in permission: if user: to = user.email elif email: to = email else: to = self.db.auth_user[user_id].email self.send_email(to, event_type, **kwargs) else: if self.record: self.notification.entity[self.record].update_record( mail_sent=True)
def notify_all(self, event_type, emails, users, **kwargs): kwargs['http_host'] = str(self.db.request.env.http_host) kwargs = self.check_image_urls(kwargs) for user in users: params = dict( user_id=user, event_type=event_type, event_text=kwargs.get("event_text", ""), event_link=kwargs.get("event_link", ""), event_reference=kwargs.get("event_reference", 0), event_image=kwargs.get("event_image", ""), is_read=False, kwargs=clean_object(kwargs, self.db.T) ) self.insert_site_notification_all(**params) self.send_email("Undisclosed Recipients", event_type, bcc=emails, **kwargs)
def notify_all(self, event_type, emails, users, **kwargs): kwargs['http_host'] = str(self.db.request.env.http_host) kwargs = self.check_image_urls(kwargs) for user in users: params = dict(user_id=user, event_type=event_type, event_text=kwargs.get("event_text", ""), event_link=kwargs.get("event_link", ""), event_reference=kwargs.get("event_reference", 0), event_image=kwargs.get("event_image", ""), is_read=False, kwargs=clean_object(kwargs, self.db.T)) self.insert_site_notification_all(**params) self.send_email("Undisclosed Recipients", event_type, bcc=emails, **kwargs)