diff --git a/purchase/__init__.py b/purchase/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/purchase/admin.py b/purchase/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/purchase/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/purchase/apps.py b/purchase/apps.py new file mode 100644 index 0000000..7108f0e --- /dev/null +++ b/purchase/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class PurchaseConfig(AppConfig): + name = 'purchase' diff --git a/purchase/migrations/0001_initial.py b/purchase/migrations/0001_initial.py new file mode 100644 index 0000000..61dce4e --- /dev/null +++ b/purchase/migrations/0001_initial.py @@ -0,0 +1,28 @@ +# Generated by Django 6.0.3 on 2026-03-19 17:36 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('home', '0019_coursepage_description'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='CoursePurchase', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('purchased_at', models.DateTimeField(auto_now_add=True)), + ('refunded', models.BooleanField(default=False)), + ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='home.coursepage')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/purchase/migrations/__init__.py b/purchase/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/purchase/models.py b/purchase/models.py new file mode 100644 index 0000000..9bc20d7 --- /dev/null +++ b/purchase/models.py @@ -0,0 +1,9 @@ +from django.db import models +from django.conf import settings + + +class CoursePurchase(models.Model): + user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) + course = models.ForeignKey("home.CoursePage", on_delete=models.CASCADE) + purchased_at = models.DateTimeField(auto_now_add=True) + refunded = models.BooleanField(default=False) diff --git a/purchase/tests.py b/purchase/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/purchase/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/purchase/views.py b/purchase/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/purchase/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here.