def change_plan(request): new_plan = request.POST.get("plan_code") subscription = Account.get_current(request.user).get_current_subscription() subscription.change_plan(new_plan) redirect_to = request.POST.get("redirect_to", None) return safe_redirect(redirect_to)
def account(request): account = Account.get_current(request.user) subscription = account.get_current_subscription() c = { "account": account, "subscription": subscription, "plans": settings.RECURLY_PLANS } return render_to_response("django_recurly/account.html", c, RequestContext(request))
def handle(self, *args, **options): something_chosen = False # Account(s) if options['accounts']: something_chosen = True for recurly_account in recurly.Account.all(): if recurly_account.account_code in settings.RECURLY_OWNER_MAP: try: old, new = (recurly_account.account_code, settings.RECURLY_OWNER_MAP[recurly_account.account_code]) recurly_account.account_code = User.objects.get( email=settings.RECURLY_OWNER_MAP[recurly_account.account_code]).pk print "NOTICE: Mapped %s to %s (%s)." % (old, new, recurly_account.account_code) except User.DoesNotExist: print "ERROR: Could not map %s." % \ recurly_account.account_code continue try: account = Account.sync_account(recurly_account=recurly_account) except User.DoesNotExist: print("No user for Recurly account with account_code %s" % recurly_account.account_code) if options['account']: something_chosen = True Account.sync_account(account_code=options['account']) # Subscription(s) if options['subscriptions']: something_chosen = True # Sync all 'live' subscriptions for recurly_subscription in recurly.Subscription.all_live(): subscription = Subscription.sync_subscription(recurly_subscription=recurly_subscription) # Now do the same with 'expired' subscriptions for recurly_subscription in recurly.Subscription.all_expired(): subscription = Subscription.sync_subscription(recurly_subscription=recurly_subscription) if options['subscription']: something_chosen = True Subscription.sync(uuid=options['subscription']) # Payment(s) if options['payments']: something_chosen = True for recurly_transaction in recurly.Transaction.all(type='purchase'): payment = Payment.sync_payment(recurly_transaction=recurly_transaction) for recurly_transaction in recurly.Transaction.all(type='refund'): payment = Payment.sync_payment(recurly_transaction=recurly_transaction) if options['payment']: something_chosen = True Payment.sync_payment(uuid=options['payment']) # Print help by default if not something_chosen: self.print_help(None, None) sys.exit(1)