def process_response(self, request, data, gateway): txnid = gateway.get_txn_id_from_response_data(data) txn = self.get_txn(txnid) txn.response_data = json.dumps(data) txn.save() if not gateway.verify_response(data, txn): txn.status = PGTransaction.TS_ERROR else: gateway.update_txn(data, txn) txn.save() user = User.objects.get(email=txn.email) person = Person.objects.get(user=user) context = {'txn': txn, 'person': person} txn.content_object.on_payment_response(txn) txn.content_object.populate_context(context) if txn.status == PGTransaction.TS_SUCCESS: subject = 'Thank you!' email_context = {'amount': txn.amount, 'name': person.name()} #Send email to donor send_email_from_template('emails/fcra_thank_you.html', email_context, subject, txn.email) user = User.objects.get(email=txn.email) donor = Person.objects.get(user=user) donation = FCRADonation.objects.get(donor=donor, amount=txn.amount, receipt_sent=False) self.mail_receipt(donation) donation.receipt_sent = True donation.save() return render(request, self.template_name, context)
def post(self, request, *args, **kwargs): valid_extensions = ['.jpg', '.png', '.svg', '.jpeg'] images = [] project = Project(author=request.user) id = kwargs.get('id', None) if id: project = Project.objects.get(id=id) form_data = ProjectForm(request.POST, request.FILES, instance=project) if form_data.is_valid(): form_data.save() if request.FILES.get('project_image', ''): images = request.FILES.getlist('project_image') for i in images: extension = os.path.splitext(request.FILES['project_image'].name)[1] if not any(extension.lower() in s for s in valid_extensions): error = "Please upload only jpg, png, svg, or jpeg" else: project_image = ProjectImage.objects.create(project=project, image=i) print 'Finished uploading images' response = {'success': 'true', 'project_id': project.id} if self.mode == 'create': #Send email to author of the project subject = '[NITW Crowdfund] Your campaign is live!' context = {'project': project, 'request': request} send_email_from_template('emails/project_created_author.html', context, subject, project.author.email) return HttpResponseRedirect(reverse('view project', kwargs={'id': project.id})) else: response = {'success': 'false', 'errors': form_data.errors} print '**********success = false**********' print form_data.errors print '**********success = false /end**********' return HttpResponse(json.dumps(response), content_type="application/json")
def post(self, request, *args, **kwargs): working_key = "vsb2w5ampye1baft0hg62jlwrscw007u" merchant_id = "M_thelaksh_10884" form = CCAVenueReturnForm(merchant_id, working_key, request.POST) if not form.is_valid(): return redirect("payment-failure") if form.cleaned_data['AuthDesc'] == 'N': return redirect("payment-failure") try: temp_id = request.POST.get("Order_Id") # print temp_id paymentTemp = PaymentTemp.objects.get(id=temp_id) pledge = Pledge.objects.get(id=paymentTemp.pledge_id) pledge.pledge_fulfilled = True pledge.save() # print "Pledge [" + str(pledge.id) + "] has been successfully fulfilled" subject = '[NITW Crowdfund] Pledge Fulfilled!' context = {'pledge': pledge} #Send email to backer send_email_from_template('emails/pledge_fulfilled_backer.html', context, subject, pledge.user.email) return redirect("/crowdfunding/project/" + str(pledge.project.id)) except (PaymentTemp.DoesNotExist, Pledge.DoesNotExist): print "Error: Shouldn't have come here. PaymentTemp or Pledge record is missing" return redirect("payment-success") return redirect("/crowdfunding/project/" + str(pledge.project.id))
def post(self, request, *args, **kwargs): working_key = settings.CCAVENUE_WORKING_KEY merchant_id = settings.CCAVENUE_MERCHANT_ID form = CCAVenueReturnForm(merchant_id, working_key, request.POST) if not form.is_valid(): return redirect("payment-failure") if form.cleaned_data['AuthDesc'] == 'N': return redirect("payment-failure") try: temp_id = request.POST.get("Order_Id") # print temp_id paymentTemp = PaymentTemp.objects.get(id=temp_id) pledge = Pledge.objects.get(id=paymentTemp.pledge_id) pledge.pledge_fulfilled = True pledge.save() # print "Pledge [" + str(pledge.id) + "] has been successfully fulfilled" subject = '[NITW Crowdfund] Pledge Fulfilled!' context = {'pledge': pledge} #Send email to backer send_email_from_template('emails/pledge_fulfilled_backer.html', context, subject, pledge.user.email) return redirect("/crowdfunding/project/" + str(pledge.project.id)) except (PaymentTemp.DoesNotExist, Pledge.DoesNotExist): print "Error: Shouldn't have come here. PaymentTemp or Pledge record is missing" return redirect("payment-success") return redirect("/crowdfunding/project/" + str(pledge.project.id))
def post(self, request, **kwargs): amount, user, project, errors = self.get_params(request) if errors: response = {'success': 'false', 'errors': errors} else: if Pledge.objects.filter(user=user, project=project).exists(): #Since a user cannot create multiple pledges for a project, we assume he is editing his current pledge. pledge = Pledge.objects.filter(user=user, project=project).first() pledge.amount = amount pledge.save() else: pledge = Pledge.objects.create(user=user, amount=amount, project=project) response = {'success': 'true'} subject = '[NITW Crowdfund] Thank you for pledging!' context = {'pledge': pledge, 'request': request} #Send email to backer send_email_from_template('emails/pledge_created_backer.html', context, subject, pledge.user.email) #Send email to author subject = '[NITW Crowdfund] New pledge!' send_email_from_template('emails/pledge_created_author.html', context, subject, pledge.project.author.email) if pledge.project.get_total_pledged_amount() >= pledge.project.goal: context = {'project': project, 'request': request} subject = '[NITW Crowdfund] Campaign Successfully Funded!' send_email_from_template('emails/campaign_successful_author.html', context, subject, pledge.project.author.email) return HttpResponse(json.dumps(response), content_type="application/json")
def post(self, request, *args, **kwargs): valid_extensions = ['.jpg', '.png', '.svg', '.jpeg'] images = [] project = Project(author=request.user) id = kwargs.get('id', None) if id: project = Project.objects.get(id=id) form_data = ProjectForm(request.POST, request.FILES, instance=project) if form_data.is_valid(): form_data.save() if request.FILES.get('project_image', ''): images = request.FILES.getlist('project_image') for i in images: extension = os.path.splitext( request.FILES['project_image'].name)[1] if not any(extension.lower() in s for s in valid_extensions): error = "Please upload only jpg, png, svg, or jpeg" else: project_image = ProjectImage.objects.create( project=project, image=i) print 'Finished uploading images' response = {'success': 'true', 'project_id': project.id} if self.mode == 'create': #Send email to author of the project subject = '[NITW Crowdfund] Your campaign is live!' context = {'project': project, 'request': request} send_email_from_template('emails/project_created_author.html', context, subject, project.author.email) return HttpResponseRedirect( reverse('view project', kwargs={'id': project.id})) else: response = {'success': 'false', 'errors': form_data.errors} print '**********success = false**********' print form_data.errors print '**********success = false /end**********' return HttpResponse(json.dumps(response), content_type="application/json")
def post(self, request, **kwargs): amount, user, project, errors = self.get_params(request) if errors: response = {'success': 'false', 'errors': errors} else: if Pledge.objects.filter(user=user, project=project).exists(): #Since a user cannot create multiple pledges for a project, we assume he is editing his current pledge. pledge = Pledge.objects.filter(user=user, project=project).first() pledge.amount = amount pledge.save() else: pledge = Pledge.objects.create(user=user, amount=amount, project=project) response = {'success': 'true'} subject = '[NITW Crowdfund] Thank you for pledging!' context = {'pledge': pledge, 'request': request} #Send email to backer send_email_from_template('emails/pledge_created_backer.html', context, subject, pledge.user.email) #Send email to author subject = '[NITW Crowdfund] New pledge!' send_email_from_template('emails/pledge_created_author.html', context, subject, pledge.project.author.email) if pledge.project.get_total_pledged_amount( ) >= pledge.project.goal: context = {'project': project, 'request': request} subject = '[NITW Crowdfund] Campaign Successfully Funded!' send_email_from_template( 'emails/campaign_successful_author.html', context, subject, pledge.project.author.email) return HttpResponse(json.dumps(response), content_type="application/json")