Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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))
Ejemplo n.º 3
0
    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)