Add 'Action object' column to the event list. Display the
object or target type (document, tag, etc). Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
@@ -9,13 +9,17 @@ from rest_api.classes import APIEndPoint
|
||||
|
||||
from .links import link_events_list
|
||||
from .licenses import * # NOQA
|
||||
from .widgets import event_type_link
|
||||
from .widgets import event_object_link, event_type_link
|
||||
|
||||
|
||||
def event_actor(action):
|
||||
return _('System') if action.actor == action.target else action.actor
|
||||
|
||||
|
||||
def event_action_object(action):
|
||||
return action.action_object if action.action_object != action.target and action.action_object else ''
|
||||
|
||||
|
||||
class EventsApp(MayanAppConfig):
|
||||
has_tests = True
|
||||
name = 'events'
|
||||
@@ -38,5 +42,11 @@ class EventsApp(MayanAppConfig):
|
||||
source=Action, label=_('Verb'),
|
||||
func=lambda context: event_type_link(context['object'])
|
||||
)
|
||||
SourceColumn(
|
||||
source=Action, label=_('Action object'),
|
||||
func=lambda context: event_object_link(
|
||||
entry=context['object'], attribute='action_object'
|
||||
)
|
||||
)
|
||||
|
||||
menu_tools.bind_links(links=(link_events_list,))
|
||||
|
||||
@@ -6,15 +6,26 @@ from django.utils.safestring import mark_safe
|
||||
from .classes import Event
|
||||
|
||||
|
||||
def event_object_link(entry):
|
||||
return mark_safe('<a href="%(url)s">%(label)s</a>' % {
|
||||
'url': entry.target.get_absolute_url() if entry.target else '#',
|
||||
'label': entry.target}
|
||||
def event_object_link(entry, attribute='target'):
|
||||
obj = getattr(entry, attribute)
|
||||
|
||||
if obj:
|
||||
obj_type = '{}: '.format(obj._meta.verbose_name)
|
||||
else:
|
||||
obj_type = ''
|
||||
|
||||
return mark_safe(
|
||||
'<a href="%(url)s">%(obj_type)s%(label)s</a>' % {
|
||||
'url': obj.get_absolute_url() if obj else '#',
|
||||
'label': obj or '', 'obj_type': obj_type
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
def event_type_link(entry):
|
||||
return mark_safe('<a href="%(url)s">%(label)s</a>' % {
|
||||
'url': reverse('events:events_by_verb', kwargs={'verb': entry.verb}),
|
||||
'label': Event.get_label(entry.verb)}
|
||||
return mark_safe(
|
||||
'<a href="%(url)s">%(label)s</a>' % {
|
||||
'url': reverse('events:events_by_verb', kwargs={'verb': entry.verb}),
|
||||
'label': Event.get_label(entry.verb)
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user