def test_notification_type_message_template(self): message_template = { 'level': 'info', 'verb': 'message template verb', 'verbose_name': 'Message Template Type', 'email_subject': '[{site.name}] Messsage Template Subject', } with self.subTest('Register type with non existent message template'): with self.assertRaises(TemplateDoesNotExist): message_template.update({'message_template': 'wrong/path.md'}) register_notification_type('message_template', message_template) with self.subTest('Registering type with message template'): message_template.update( {'message_template': 'openwisp_notifications/default_message.md'} ) register_notification_type('message_template', message_template) self.notification_options.update({'type': 'message_template'}) self._create_notification() n = notification_queryset.first() self.assertEqual(n.type, 'message_template') self.assertEqual(n.email_subject, '[example.com] Messsage Template Subject') with self.subTest('Links in notification message'): url = _get_absolute_url( reverse('admin:openwisp_users_user_change', args=(self.admin.pk,)) ) message = ( '<p>info : None message template verb </p>\n' f'<p><a href="{url}">admin</a>' '\nreports\n<a href="#">None</a>\nmessage template verb.</p>' ) self.assertEqual(n.message, message)
def redirect_view_url(self): return _get_absolute_url( reverse('notifications:notification_read_redirect', args=(self.pk,)) )
def get_target_object_url(self, obj): url = reverse( f'admin:{Notification._meta.app_label}_{Notification._meta.model_name}_change', args=(obj.id, ), ) return _get_absolute_url(url)