From db83f09b19deeca5a8ddc51a07268de0d16d4056 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 7 Sep 2017 00:12:17 -0400 Subject: [PATCH] Don't error out when an object doesn't provide a get_absolute_url method. Signed-off-by: Roberto Rosario --- mayan/apps/events/widgets.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/mayan/apps/events/widgets.py b/mayan/apps/events/widgets.py index d52cadcf9e..c32c120239 100644 --- a/mayan/apps/events/widgets.py +++ b/mayan/apps/events/widgets.py @@ -1,23 +1,28 @@ from __future__ import unicode_literals from django.urls import reverse +from django.utils.encoding import force_text from django.utils.safestring import mark_safe from .classes import EventType def event_object_link(entry, attribute='target'): + label = '' + url = '#' + obj_type = '' + obj = getattr(entry, attribute) if obj: obj_type = '{}: '.format(obj._meta.verbose_name) - else: - obj_type = '' + if hasattr(obj, 'get_absolute_url'): + url = obj.get_absolute_url() + label = force_text(obj) return mark_safe( '%(obj_type)s%(label)s' % { - 'url': obj.get_absolute_url() if obj else '#', - 'label': obj or '', 'obj_type': obj_type + 'url': url, 'label': label, 'obj_type': obj_type } )