# Generated by Django 5.1.5 on 2025-05-20 04:15
import django.db.models.deletion
import django.utils.timezone
import squaresdb.money.models
from django.db import migrations, models
[docs]
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='LineItem',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('amount', models.DecimalField(decimal_places=2, max_digits=9)),
('account_name', models.CharField(max_length=255)),
('label', models.CharField(max_length=255)),
('notes', models.TextField(blank=True)),
],
),
migrations.CreateModel(
name='ProductCategory',
fields=[
('slug', models.SlugField(primary_key=True, serialize=False)),
('name', models.CharField(max_length=50)),
('order', models.IntegerField(db_index=True)),
],
options={
'verbose_name_plural': 'product categories',
},
),
migrations.CreateModel(
name='Transaction',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('nonce', models.CharField(default=squaresdb.money.models.default_nonce, max_length=16)),
('time', models.DateTimeField(default=django.utils.timezone.now)),
('person_name', models.CharField(max_length=50)),
('email', models.EmailField(max_length=254)),
('notes', models.TextField(blank=True)),
('admin_notes', models.TextField(blank=True)),
('stage', models.IntegerField(choices=[(10, 'Cart'), (40, 'Review'), (50, 'Paid'), (60, 'Cancel')])),
],
),
migrations.CreateModel(
name='CybersourceLineItem',
fields=[
('lineitem_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='money.lineitem')),
('receipt_post', models.JSONField()),
('decision', models.CharField(blank=True, max_length=50)),
('ref_number', models.CharField(blank=True, max_length=50)),
('card_number', models.CharField(blank=True, max_length=50)),
('card_type', models.CharField(blank=True, max_length=50)),
],
bases=('money.lineitem',),
),
migrations.CreateModel(
name='Product',
fields=[
('slug', models.SlugField(primary_key=True, serialize=False)),
('label', models.CharField(max_length=255)),
('order', models.IntegerField(db_index=True)),
('active', models.BooleanField(default=True)),
('account_name', models.CharField(max_length=255)),
('description', models.TextField(blank=True, help_text='displayed to users')),
('admin_notes', models.TextField(blank=True, help_text='internal item notes')),
('low', models.DecimalField(decimal_places=2, max_digits=9)),
('high', models.DecimalField(decimal_places=2, help_text='Use 9999 for unlimited', max_digits=9)),
('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='money.productcategory')),
],
),
migrations.AddField(
model_name='lineitem',
name='transaction',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='money.transaction'),
),
migrations.CreateModel(
name='ProductLineItem',
fields=[
('lineitem_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='money.lineitem')),
('count', models.IntegerField()),
('price_each', models.DecimalField(decimal_places=2, max_digits=9)),
('product', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='money.product')),
],
bases=('money.lineitem',),
),
]