From c40e0c136a28355587e67517b4252e3eba8c24aa Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sat, 29 Dec 2018 04:05:18 -0400 Subject: [PATCH] Add group create and edit events Signed-off-by: Roberto Rosario --- mayan/apps/user_management/events.py | 7 +++++++ mayan/apps/user_management/links.py | 2 +- mayan/apps/user_management/views.py | 23 ++++++++++++++++++++++- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/mayan/apps/user_management/events.py b/mayan/apps/user_management/events.py index d06d007889..52f8e75fa7 100644 --- a/mayan/apps/user_management/events.py +++ b/mayan/apps/user_management/events.py @@ -8,6 +8,13 @@ namespace = EventTypeNamespace( name='user_management', label=_('User management') ) +event_group_created = namespace.add_event_type( + label=_('Group created'), name='created' +) +event_group_edited = namespace.add_event_type( + label=_('Group edited'), name='edited' +) + event_user_created = namespace.add_event_type( label=_('User created'), name='created' ) diff --git a/mayan/apps/user_management/links.py b/mayan/apps/user_management/links.py index b6e6de28dd..2eb580649e 100644 --- a/mayan/apps/user_management/links.py +++ b/mayan/apps/user_management/links.py @@ -21,7 +21,7 @@ from .utils import get_user_label_text def condition_is_not_superuser(context): - user = context['resolved_object'] + user = context['object'] return not user.is_superuser and not user.is_staff diff --git a/mayan/apps/user_management/views.py b/mayan/apps/user_management/views.py index b98e04635a..14cc8d6536 100644 --- a/mayan/apps/user_management/views.py +++ b/mayan/apps/user_management/views.py @@ -19,7 +19,10 @@ from mayan.apps.common.views import ( SingleObjectListView ) -from .events import event_user_created, event_user_edited +from .events import ( + event_group_created, event_group_edited, event_user_created, + event_user_edited +) from .forms import UserForm from .icons import icon_group_setup, icon_user_setup from .links import link_group_create, link_user_create @@ -62,6 +65,18 @@ class GroupCreateView(SingleObjectCreateView): post_action_redirect = reverse_lazy('user_management:group_list') view_permission = permission_group_create + def form_valid(self, form): + group = form.save() + + event_group_created.commit( + actor=self.request.user, target=group + ) + + messages.success( + self.request, _('Group "%s" created successfully.') % group + ) + return super(GroupCreateView, self).form_valid(form=form) + class GroupEditView(SingleObjectEditView): fields = ('name',) @@ -69,6 +84,12 @@ class GroupEditView(SingleObjectEditView): object_permission = permission_group_edit post_action_redirect = reverse_lazy('user_management:group_list') + def form_valid(self, form): + event_group_edited.commit( + actor=self.request.user, target=self.get_object() + ) + return super(GroupEditView, self).form_valid(form=form) + def get_extra_context(self): return { 'object': self.get_object(),