diff --git a/scarface/models.py b/scarface/models.py index 893ffac..d5fe716 100644 --- a/scarface/models.py +++ b/scarface/models.py @@ -4,6 +4,7 @@ from boto.exception import BotoServerError import re from django.db import models +from django.conf import settings from scarface.platform_strategy import get_strategies from scarface.utils import DefaultConnection, PushLogger from scarface.exceptions import SNSNotCreatedException, PlatformNotSupported, \ @@ -350,10 +351,26 @@ def resource_name(self): @property def attributes(self): + credential = self.get_platform_credential() + principal = self.get_platform_principal() return { - "PlatformCredential": self.credential, - "PlatformPrincipal": self.principal + "PlatformCredential": credential, + "PlatformPrincipal": principal } + + def get_platform_credential(self): + if self.credential is not None and self.credential != '': + return self.credential + if hasattr(settings, 'SCARFACE_APNS_PRIVATE_KEY'): + return settings.SCARFACE_APNS_PRIVATE_KEY + return None + + def get_platform_principal(self): + if self.principal is not None and self.principal != '': + return self.principal + if hasattr(settings, 'SCARFACE_APNS_CERTIFICATE'): + return settings.SCARFACE_APNS_CERTIFICATE + return None @DefaultConnection def register(self, connection=None):