Name generator/formatter (#897)

* Squash services migrations

* Add name to example service to allow it to be used in tests

* Add name formatter to services

* Add documentation
This commit is contained in:
Basraah
2017-10-11 12:34:31 +10:00
committed by GitHub
parent b95bb9aa6a
commit ef37cb3ea5
45 changed files with 518 additions and 33 deletions

View File

@@ -14,6 +14,7 @@ class Ips4Service(ServicesHook):
self.urlpatterns = urlpatterns
self.service_url = settings.IPS4_URL
self.access_perm = 'ips4.access_ips4'
self.name_format = '{character_name}'
@property
def title(self):

View File

@@ -1,6 +1,7 @@
from django.conf import settings
from django.core.exceptions import ObjectDoesNotExist
from allianceauth.services.hooks import NameFormatter
from .manager import Ips4Manager
from .models import Ips4User
@@ -33,3 +34,8 @@ class Ips4Tasks:
def disable():
logging.debug("Deleting all IPS4 users")
Ips4User.objects.all().delete()
@staticmethod
def get_username(user):
from .auth_hooks import Ips4Service
return NameFormatter(Ips4Service(), user).format_name()

View File

@@ -20,7 +20,7 @@ def activate_ips4(request):
logger.debug("activate_ips4 called by user %s" % request.user)
character = request.user.profile.main_character
logger.debug("Adding IPS4 user for user %s with main character %s" % (request.user, character))
result = Ips4Manager.add_user(character.character_name, request.user.email)
result = Ips4Manager.add_user(Ips4Tasks.get_username(request.user), request.user.email)
# if empty we failed
if result[0] != "" and not Ips4Tasks.has_account(request.user):
ips_user = Ips4User.objects.create(user=request.user, id=result[2], username=result[0])