def admin_manage_user_details(request, userid=None): u = User.objects.get(id=userid) up = u.get_profile() all_coupons = CouponCode.objects.filter(userprofile=up) s = Subscription.objects.get(userprofile=up) if request.POST: logging.debug(request.POST) if "subscription" in request.POST: form = SubscriptionForm(request.POST, instance=s) if form.is_valid(): s_new = form.save(commit=False) s_new.userprofile = up s_new.save() messages.add_message(request, messages.SUCCESS, "Subscription updated!") if "discount_percent" in request.POST: da = request.POST.get("discount_percent") discount = Decimal(da) new_code = "".join([random.choice(string.letters + string.digits) for x in range(1, 9)]) coupon_code = CouponCode( code=new_code, userprofile=up, discount_percent=discount, coupon_used=False, created_on=datetime.now() ) coupon_code.save() form = SubscriptionForm(instance=s) order_all = OrderHistory.objects.filter(userprofile=up).order_by("date") template = "profile/admin/admin_profiles_details.html" data = {"order": order_all, "subscription_form": form, "all_coupons": all_coupons} return render_to_response(template, data, context_instance=RequestContext(request))
def subscribe(request, city=None): user = getUser(request) if request.POST: cs = createStripe_Subscription(request) up = user.get_profile() store_id = request.POST.get("default_store") if store_id: store = Store.objects.get(id=int(store_id)) else: store = Store.objects.filter(city="San Francisco")[0] up.default_store = store up.save() """generate discount code""" discount = Decimal("0.5") new_code = "".join([random.choice(string.letters + string.digits) for x in range(1, 9)]) coupon_code = CouponCode(code=new_code, discount_percent=discount, userprofile=up, created_on=datetime.now()) coupon_code.save() # email admin subscription_admin_email(user.email) # email user subscription_user_email(user.email, coupon_code.code) return redirect("/profile/manage") # Change payment form depending on location init = {"country": "US"} payForm = PaymentForm(initial=init) customer = None if user: try: user_profile = user.get_profile() customer_id = user_profile.stripeprofile stripe.api_key = settings.STRIPE_API_KEY customer = stripe.Customer.retrieve(customer_id) except UserProfile.DoesNotExist: pass except stripe.InvalidRequestError: pass except AttributeError: pass change_card = False if "change_card" in request.GET: if request.GET.get("change_card") == "True": change_card = True if city == None: city = "sanfrancisco" LOCATIONS = {"sanfrancisco": "San Francisco"} STATE = {"sanfrancisco": "CA"} store_city = LOCATIONS[city] store_state = STATE[city] store_all = Store.objects.filter(city=store_city, active=True) location_form = UserProfileForm() mapForm = createMapMulti(store_all, store_city, store_state, largeMap=True, zoomControl=True, panControl=True) template = "profile/subscribe_v2.html" data = { "payment": payForm, "customer": customer, "change_card": change_card, "map": mapForm, "user": user, "store_all": store_all, "location_form": location_form, } return render_to_response(template, data, context_instance=RequestContext(request))