diff --git a/allianceauth/services/hooks.py b/allianceauth/services/hooks.py index 3e564bbe..44c90900 100644 --- a/allianceauth/services/hooks.py +++ b/allianceauth/services/hooks.py @@ -1,10 +1,8 @@ from django.conf.urls import include, url from django.template.loader import render_to_string from django.utils.functional import cached_property -from django.core.exceptions import ObjectDoesNotExist from django.conf import settings from string import Formatter -import re from allianceauth.hooks import get_hooks @@ -161,16 +159,10 @@ class NameFormatter: 'corp_id': getattr(main_char, 'corporation_id', None), 'alliance_name': getattr(main_char, 'alliance_name', None), 'alliance_id': getattr(main_char, 'alliance_id', None), - 'alliance_ticker': None, + 'alliance_ticker': getattr(main_char, 'alliance_ticker', None), 'username': self.user.username, } - if main_char is not None and re.match('.*alliance(?:_or_corp)?_ticker', self.string_formatter): - # Reduces db lookups - try: - format_data['alliance_ticker'] = getattr(getattr(main_char, 'alliance', None), 'alliance_ticker', None) - except ObjectDoesNotExist: - pass format_data['alliance_or_corp_name'] = format_data['alliance_name'] or format_data['corp_name'] format_data['alliance_or_corp_ticker'] = format_data['alliance_ticker'] or format_data['corp_ticker'] return format_data diff --git a/allianceauth/services/tests/test_nameformatter.py b/allianceauth/services/tests/test_nameformatter.py index 79f328c1..2b448bc7 100644 --- a/allianceauth/services/tests/test_nameformatter.py +++ b/allianceauth/services/tests/test_nameformatter.py @@ -33,6 +33,7 @@ class NameFormatterTestCase(TestCase): corporation_ticker='TIKK', alliance_id='3456', alliance_name='alliance name', + alliance_ticker='TIKR', ) self.member.profile.main_character = self.char self.member.profile.save() @@ -83,11 +84,15 @@ class NameFormatterTestCase(TestCase): self.assertIn('alliance_name', result) self.assertEqual(result['alliance_name'], self.char.alliance_name) self.assertIn('alliance_ticker', result) - self.assertEqual(result['alliance_ticker'], self.char.alliance.alliance_ticker) + self.assertEqual(result['alliance_ticker'], self.char.alliance_ticker) self.assertIn('alliance_id', result) self.assertEqual(result['alliance_id'], self.char.alliance_id) self.assertIn('username', result) self.assertEqual(result['username'], self.member.username) + self.assertIn('alliance_or_corp_name', result) + self.assertEqual(result['alliance_or_corp_name'], self.char.alliance_name) + self.assertIn('alliance_or_corp_ticker', result) + self.assertEqual(result['alliance_or_corp_ticker'], self.char.alliance_ticker) def test_format_name(self): config = NameFormatConfig.objects.create(