From 6e7b6dae2492ee543f0459f3e127f88be1c3c9c5 Mon Sep 17 00:00:00 2001
From: Brody Wilton <brodywilton@hotmail.com>
Date: Wed, 1 May 2024 01:32:26 +0100
Subject: [PATCH] Add logs to payment that includes the purchase type in the
 details to display on user page

---
 myproject/myapp/payments.py              | 12 ++++++++++--
 myproject/myapp/templates/user_page.html |  8 ++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/myproject/myapp/payments.py b/myproject/myapp/payments.py
index c99f04c..e30debb 100644
--- a/myproject/myapp/payments.py
+++ b/myproject/myapp/payments.py
@@ -5,7 +5,8 @@ from django.shortcuts import redirect, render
 from django.urls import reverse
 from django.shortcuts import redirect, render
 from django.urls import reverse
-from .models import UserTokenCount
+from .views import get_log_data, create_log
+from .models import UserTokenCount, Action
 from rest_framework.response import Response
 from rest_framework import status
 
@@ -110,6 +111,13 @@ def execute_payment(request):
         tokens_purchased = request.session.get("purchase_quantity")
 
         add_tokens(request.user, tokens_purchased)
+        # log_data = {
+        #     'action': 'Tokens purchased',
+
+        # }
+        log_data = get_log_data(request.user, Action.PAYMENT_SUCCESSFUL, 'success', description=f"Purchased {tokens_purchased} tokens")
+        create_log(request.user if request.user.is_authenticated else None, log_data)
+
 
         return redirect('success')
     else:
@@ -121,7 +129,7 @@ def add_tokens(user, tokens):
     token_count_instance, created = UserTokenCount.objects.get_or_create(user=user)
     token_count_instance.token_count += int(tokens)
     token_count_instance.save()
-
+    
 def payment_cancelled(request):
     return render(request, 'payment_cancelled.html')
 
diff --git a/myproject/myapp/templates/user_page.html b/myproject/myapp/templates/user_page.html
index c6952ce..230d577 100644
--- a/myproject/myapp/templates/user_page.html
+++ b/myproject/myapp/templates/user_page.html
@@ -187,11 +187,19 @@
 {{entry.date}}            </th>
             <td class="px-6 py-4">{{entry.action}}</td>
             <td class="px-6 py-4">
+              {% if entry.file %}
               <a
                 href="#"
                 class="font-medium text-blue-600 dark:text-blue-500 hover:underline"
                 >{{entry.file}}</a
               >
+               {% elif entry.description %}
+               <a
+               href="#"
+               class="font-medium text-blue-600 dark:text-blue-500 hover:underline"
+               >{{entry.description}}</a
+             >
+               {% endif %}
             </td>
           </tr>
           {%endfor%}
-- 
GitLab