diff --git a/mayan/apps/user_management/tests/test_events.py b/mayan/apps/user_management/tests/test_events.py index d2e35cee05..803771593d 100644 --- a/mayan/apps/user_management/tests/test_events.py +++ b/mayan/apps/user_management/tests/test_events.py @@ -30,6 +30,7 @@ class GroupEventsTestCase(GroupTestMixin, GroupViewTestMixin, UserTestMixin, Gen ) self._request_test_group_create_view() + self.assertEqual(Action.objects.last().actor, self._test_case_user) self.assertEqual(Action.objects.last().target, self.test_group) self.assertEqual(Action.objects.last().verb, event_group_created.id) @@ -55,6 +56,9 @@ class GroupEventsAPITestCase(GroupAPITestMixin, GroupTestMixin, GroupViewTestMix ) self._request_test_group_create_api_view() + # TODO: Future improvement, find method to record the user who + # commited the event. Will required custom serializer .create method + self.assertEqual(Action.objects.last().actor, self.test_group) self.assertEqual(Action.objects.last().target, self.test_group) self.assertEqual(Action.objects.last().verb, event_group_created.id) @@ -67,6 +71,9 @@ class GroupEventsAPITestCase(GroupAPITestMixin, GroupTestMixin, GroupViewTestMix ) self._request_test_group_edit_patch_api_view() + # TODO: Future improvement, find method to record the user who + # commited the event. Will required custom serializer .update method + self.assertEqual(Action.objects.last().actor, self.test_group) self.assertEqual(Action.objects.last().target, self.test_group) self.assertEqual(Action.objects.last().verb, event_group_edited.id) @@ -80,6 +87,7 @@ class UserEventsTestCase(UserAPITestMixin, UserTestMixin, UserViewTestMixin, Gen ) self._request_test_user_create_view() + self.assertEqual(Action.objects.last().actor, self._test_case_user) self.assertEqual(Action.objects.last().target, self.test_user) self.assertEqual(Action.objects.last().verb, event_user_created.id) @@ -92,6 +100,7 @@ class UserEventsTestCase(UserAPITestMixin, UserTestMixin, UserViewTestMixin, Gen ) self._request_test_user_edit_view() + self.assertEqual(Action.objects.last().actor, self._test_case_user) self.assertEqual(Action.objects.last().target, self.test_user) self.assertEqual(Action.objects.last().verb, event_user_edited.id) @@ -105,6 +114,9 @@ class UserEventsAPITestCase(UserAPITestMixin, UserTestMixin, UserViewTestMixin, ) self._request_test_user_create_api_view() + # TODO: Future improvement, find method to record the user who + # commited the event. Will required custom serializer .create method + self.assertEqual(Action.objects.last().actor, self.test_user) self.assertEqual(Action.objects.last().target, self.test_user) self.assertEqual(Action.objects.last().verb, event_user_created.id) @@ -117,5 +129,8 @@ class UserEventsAPITestCase(UserAPITestMixin, UserTestMixin, UserViewTestMixin, ) self._request_test_user_edit_patch_api_view() + # TODO: Future improvement, find method to record the user who + # commited the event. Will required custom serializer .update method + self.assertEqual(Action.objects.last().actor, self.test_user) self.assertEqual(Action.objects.last().target, self.test_user) self.assertEqual(Action.objects.last().verb, event_user_edited.id) diff --git a/mayan/apps/user_management/views.py b/mayan/apps/user_management/views.py index 951b4c0c79..d3570a2080 100644 --- a/mayan/apps/user_management/views.py +++ b/mayan/apps/user_management/views.py @@ -66,6 +66,9 @@ class GroupCreateView(SingleObjectCreateView): ) view_permission = permission_group_create + def get_save_extra_data(self): + return {'_user': self.request.user} + class GroupEditView(SingleObjectEditView): fields = ('name',) @@ -81,6 +84,9 @@ class GroupEditView(SingleObjectEditView): 'title': _('Edit group: %s') % self.get_object(), } + def get_save_extra_data(self): + return {'_user': self.request.user} + class GroupListView(SingleObjectListView): model = Group @@ -185,22 +191,19 @@ class UserCreateView(SingleObjectCreateView): view_permission = permission_user_create def form_valid(self, form): - user = form.save(commit=False) - user.set_unusable_password() - user.save() - messages.success( - message=_('User "%s" created successfully.') % user, - request=self.request - ) + super(UserCreateView, self).form_valid(form=form) return HttpResponseRedirect( reverse( - viewname='user_management:user_set_password', kwargs={ - 'pk': user.pk - } + viewname='user_management:user_set_password', + kwargs={'pk': self.object.pk} ) ) + def get_save_extra_data(self): + return {'_user': self.request.user} + + class UserDeleteView(MultipleObjectConfirmActionView): object_permission = permission_user_delete queryset = get_user_model().objects.filter( @@ -291,6 +294,9 @@ class UserEditView(SingleObjectEditView): 'title': _('Edit user: %s') % self.get_object(), } + def get_save_extra_data(self): + return {'_user': self.request.user} + class UserGroupsView(AssignRemoveView): decode_content_type = True