Stubbing in server premium activation for ios in-app purchasing.

This commit is contained in:
Samuel Clay 2017-11-10 15:12:54 -08:00
parent c2bfddb6c2
commit d3eafcd411
3 changed files with 24 additions and 0 deletions

View file

@ -75,6 +75,7 @@ class Profile(models.Model):
def canonical(self):
return {
'is_premium': self.is_premium,
'premium_expire': self.premium_expire,
'preferences': json.decode(self.preferences),
'tutorial_finished': self.tutorial_finished,
'hide_getting_started': self.hide_getting_started,
@ -413,6 +414,14 @@ class Profile(models.Model):
return
return ipn[0].payer_email
def activate_ios_premium(self, amount):
PaymentHistory.objects.create(user=self.user,
payment_date=datetime.datetime.now(),
payment_amount=amount,
payment_provider='ios-subscription')
self.activate_premium()
logging.user(self.user, "~FG~BBNew iOS premium subscription: $%s~FW" % amount)
@classmethod
def clear_dead_spammers(self, days=30, confirm=False):

View file

@ -21,6 +21,7 @@ urlpatterns = patterns('',
url(r'^refund_premium/?', views.refund_premium, name='profile-refund-premium'),
url(r'^never_expire_premium/?', views.never_expire_premium, name='profile-never-expire-premium'),
url(r'^upgrade_premium/?', views.upgrade_premium, name='profile-upgrade-premium'),
url(r'^save_ios_receipt/?', views.save_ios_receipt, name='save-ios-receipt'),
url(r'^update_payment_history/?', views.update_payment_history, name='profile-update-payment-history'),
url(r'^delete_account/?', views.delete_account, name='profile-delete-account'),
url(r'^forgot_password_return/?', views.forgot_password_return, name='profile-forgot-password-return'),

View file

@ -310,6 +310,20 @@ def profile_is_premium(request):
'total_subs': total_subs,
}
@ajax_login_required
@json.json_view
def save_ios_receipt(request):
request.user.profile.activate_ios_premium()
subject = "iOS Premium: %s" % (request.user.profile)
message = """User: %s (%s) -- Email: %s""" % (request.user.username, request.user.pk, request.user.email)
mail_admins(subject, message, fail_silently=True)
return {
'is_premium': request.user.profile.is_premium,
'premium_expire': request.user.profile.premium_expire,
}
@login_required
def stripe_form(request):
user = request.user