aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--blog/forms.py9
-rw-r--r--blog/urls.py1
-rw-r--r--blog/views.py70
-rw-r--r--requirements.txt1
-rw-r--r--templates/blog/post.html2
5 files changed, 1 insertions, 82 deletions
diff --git a/blog/forms.py b/blog/forms.py
deleted file mode 100644
index a76e354b..00000000
--- a/blog/forms.py
+++ /dev/null
@@ -1,9 +0,0 @@
-from django import forms
-import datetime
-
-class PaymentForm(forms.Form):
- amount = forms.CharField(required=True, widget=forms.NumberInput, label='Amount')
- card_number = forms.CharField(max_length=16, min_length=16, required=True, widget=forms.NumberInput, label='Card Number')
- card_expiry_mm = forms.ChoiceField(choices=[(i, i) for i in range(1, 13)], required=True, label='Expiry Month')
- card_expiry_yyyy = forms.ChoiceField(choices=[(i, i) for i in range(datetime.datetime.now().year, datetime.datetime.now().year + 21)], required=True, label='Expiry Year')
- card_cvv = forms.CharField(max_length=3, min_length=3, required=True, widget=forms.NumberInput, label='CVV')
diff --git a/blog/urls.py b/blog/urls.py
index b056b74e..0d0e3d52 100644
--- a/blog/urls.py
+++ b/blog/urls.py
@@ -14,5 +14,4 @@ urlpatterns = [
path('articles/<str:slug>/edit_comment', views.edit_comment, name='edit_comment'),
path('articles/<str:slug>/delete_comment/<int:comment_id>', views.delete_comment, name='delete_comment'),
path('~<str:username>', views.user_activity, name='user_activity'),
- path('donate', views.donate, name='donate'),
]
diff --git a/blog/views.py b/blog/views.py
index 690eea66..52447cb2 100644
--- a/blog/views.py
+++ b/blog/views.py
@@ -13,17 +13,10 @@ from users.forms import RegisterForm, UpdateUserDetailsForm
from users.tokens import CaptchaTokenGenerator
from django.contrib import messages
from bs4 import BeautifulSoup
-from .forms import PaymentForm
import re
from dotenv import load_dotenv
-import os
-import stripe
-import requests
-import math
load_dotenv()
-stripe.api_key = os.getenv('STRIPE_SECRET_KEY')
-
def atoi(text):
return int(text) if text.isdigit() else text
@@ -264,66 +257,3 @@ def user_activity(request, username):
comment.body = comment_processor(comment.body)
return render(request, 'blog/activity.html', {'title': 'User Activity', 'activity_user': user, 'activity_user_profile': user_profile, 'activity_recent_comments': recent_comments, 'activity_user_email': user_email})
-
-def donate(request):
- amount = request.GET.get('amount')
-
- if request.GET.get('payment_intent') and request.GET.get('tab') == 'success':
- payment_intent = stripe.PaymentIntent.retrieve(request.GET.get('payment_intent'))
- if payment_intent.status != 'succeeded':
- return redirect(reverse('blog:donate') + '?tab=error&payment_intent=' + payment_intent.id + '&payment_amount=' + str(int(request.GET.get('payment_amount')) / 100) + '&amount=' + str(request.GET.get('amount')) + '&error=' + payment_intent.last_payment_error.message)
-
- try:
- amount = int(amount)
- except:
- amount = 3
- amount = amount if amount > 0 else 3
- amount = amount if amount < 1000 else 1000
- payment_form = PaymentForm(initial={'amount': amount})
-
- if request.method == 'POST':
- try:
- # create a payment using stripe
- payment_method = stripe.PaymentMethod.create(
- type='card',
- card={
- 'number': request.POST['card_number'],
- 'exp_month': request.POST['card_expiry_mm'],
- 'exp_year': request.POST['card_expiry_yyyy'],
- 'cvc': request.POST['card_cvv'],
- },
- )
-
- # get the current usd to inr conversion rate
- rate = requests.get('https://api.exchangerate-api.com/v4/latest/USD').json()['rates']['INR']
-
- # convert the amount to inr
- init_amt = int(request.POST['amount'])
- amount = init_amt * math.ceil(rate) * 100
-
- # create a payment intent
- payment_intent = stripe.PaymentIntent.create(
- amount=amount,
- currency='inr',
- payment_method_types=['card'],
- payment_method=payment_method.id,
- confirm=True,
- return_url=request.build_absolute_uri(reverse('blog:donate') + '?tab=success' + '&payment_amount=' + str(int(amount / 100)) + '&amount=' + str(init_amt)),
- )
-
- if payment_intent.status == 'succeeded':
- return redirect(reverse('blog:donate') + '?tab=success&payment_intent=' + payment_intent.id + '&payment_amount=' + str(int(amount / 100)) + '&amount=' + str(init_amt))
-
- elif payment_intent.status == 'requires_action':
- url = payment_intent['next_action']['redirect_to_url']['url']
- return redirect(url)
-
-
- else:
- return redirect(reverse('blog:donate') + '?tab=error&payment_intent=' + payment_intent.id + '&payment_amount=' + str(int(amount / 100)) + '&amount=' + str(init_amt))
-
- except Exception as e:
- error = e.json_body['error']['message']
- return redirect(reverse('blog:donate') + '?tab=error&payment_amount=' + str(int(amount / 100)) + '&amount=' + str(init_amt) + '&error=' + str(error))
-
- return render(request, 'blog/donate.html', {'title': 'Donate', 'amount': amount, 'payment_form': payment_form})
diff --git a/requirements.txt b/requirements.txt
index 093d9b23..922c0f63 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11,4 +11,3 @@ pillow
pycryptodome
pygments
bs4
-stripe
diff --git a/templates/blog/post.html b/templates/blog/post.html
index 17b8a19d..786d7883 100644
--- a/templates/blog/post.html
+++ b/templates/blog/post.html
@@ -4,7 +4,7 @@
<img src="{% url 'ignis:post_image' '730' post.id %}.gif" alt="Cover Image" style="width: 730px; margin: 0 auto; display: block;">
<h1>{{ post.title }}</h1>
<p style="line-height: 1.6em;">
- Posted on <em><u>{{ post.date | date:"M d, Y" }}</u></em> by <em><a href="#">{{ post.author }}</a> in <a href="#">{{ post.category }}</a></em>
+ Posted on <em><u>{{ post.date | date:"M d, Y" }}</u></em> by <em><a href="{% url 'blog:user_activity' post.author %}">{{ post.author }}</a> in <a href="#">{{ post.category }}</a></em>
</p>
<p>Tags:
{% for tag in tags %}