Fix update_main_character_model() bug

This commit is contained in:
ErikKalkoken 2020-02-20 17:16:28 +01:00
parent 8290081365
commit 81f9211098
2 changed files with 24 additions and 22 deletions

View File

@ -241,6 +241,22 @@ class MainAllianceFilter(admin.SimpleListFilter):
self.value()) self.value())
def update_main_character_model(modeladmin, request, queryset):
tasks_count = 0
for obj in queryset:
if obj.profile.main_character:
update_character.delay(obj.profile.main_character.character_id)
tasks_count += 1
modeladmin.message_user(
request,
'Update from ESI started for {} characters'.format(tasks_count)
)
update_main_character_model.short_description = \
'Update main character model from ESI'
class UserAdmin(BaseUserAdmin): class UserAdmin(BaseUserAdmin):
"""Extending Django's UserAdmin model """Extending Django's UserAdmin model
@ -272,28 +288,13 @@ class UserAdmin(BaseUserAdmin):
else: else:
return queryset.filter(groups__pk=self.value()) return queryset.filter(groups__pk=self.value())
def update_main_character_model(self, request, queryset):
tasks_count = 0
for obj in queryset:
if obj.profile.main_character:
update_character.delay(obj.profile.main_character.character_id)
tasks_count += 1
self.message_user(
request,
'Update from ESI started for {} characters'.format(tasks_count)
)
update_main_character_model.short_description = \
'Update main character model from ESI'
def get_actions(self, request): def get_actions(self, request):
actions = super(BaseUserAdmin, self).get_actions(request) actions = super(BaseUserAdmin, self).get_actions(request)
actions[self.update_main_character_model.__name__] = ( actions[update_main_character_model.__name__] = (
self.update_main_character_model, update_main_character_model,
self.update_main_character_model.__name__, update_main_character_model.__name__,
self.update_main_character_model.short_description update_main_character_model.short_description
) )
for hook in get_hooks('services_hook'): for hook in get_hooks('services_hook'):

View File

@ -25,7 +25,8 @@ from ..admin import (
UserAdmin, UserAdmin,
user_main_organization, user_main_organization,
user_profile_pic, user_profile_pic,
user_username, user_username,
update_main_character_model
) )
from . import get_admin_change_view_url from . import get_admin_change_view_url
@ -409,8 +410,8 @@ class TestUserAdmin(TestCase):
self, mock_task, mock_message_user self, mock_task, mock_message_user
): ):
users_qs = User.objects.filter(pk__in=[self.user_1.pk, self.user_2.pk]) users_qs = User.objects.filter(pk__in=[self.user_1.pk, self.user_2.pk])
self.modeladmin.update_main_character_model( update_main_character_model(
MockRequest(self.user_1), users_qs self.modeladmin, MockRequest(self.user_1), users_qs
) )
self.assertEqual(mock_task.delay.call_count, 2) self.assertEqual(mock_task.delay.call_count, 2)
self.assertTrue(mock_message_user.called) self.assertTrue(mock_message_user.called)