docs and billing adn acaoutn 40%

This commit is contained in:
IGNY8 VPS (Salman)
2025-12-04 23:56:38 +00:00
parent 1e3299a089
commit 3a7ea1f4f3
21 changed files with 4994 additions and 24 deletions

View File

@@ -0,0 +1,53 @@
# Generated by Django 5.2.8 on 2025-12-04 23:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('igny8_core_auth', '0003_add_sync_event_model'),
]
operations = [
migrations.AddField(
model_name='account',
name='billing_address_line1',
field=models.CharField(blank=True, help_text='Street address', max_length=255),
),
migrations.AddField(
model_name='account',
name='billing_address_line2',
field=models.CharField(blank=True, help_text='Apt, suite, etc.', max_length=255),
),
migrations.AddField(
model_name='account',
name='billing_city',
field=models.CharField(blank=True, max_length=100),
),
migrations.AddField(
model_name='account',
name='billing_country',
field=models.CharField(blank=True, help_text='ISO 2-letter country code', max_length=2),
),
migrations.AddField(
model_name='account',
name='billing_email',
field=models.EmailField(blank=True, help_text='Email for billing notifications', max_length=254, null=True),
),
migrations.AddField(
model_name='account',
name='billing_postal_code',
field=models.CharField(blank=True, max_length=20),
),
migrations.AddField(
model_name='account',
name='billing_state',
field=models.CharField(blank=True, help_text='State/Province/Region', max_length=100),
),
migrations.AddField(
model_name='account',
name='tax_id',
field=models.CharField(blank=True, help_text='VAT/Tax ID number', max_length=100),
),
]

View File

@@ -70,6 +70,17 @@ class Account(models.Model):
plan = models.ForeignKey('igny8_core_auth.Plan', on_delete=models.PROTECT, related_name='accounts')
credits = models.IntegerField(default=0, validators=[MinValueValidator(0)])
status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='trial')
# Billing information
billing_email = models.EmailField(blank=True, null=True, help_text="Email for billing notifications")
billing_address_line1 = models.CharField(max_length=255, blank=True, help_text="Street address")
billing_address_line2 = models.CharField(max_length=255, blank=True, help_text="Apt, suite, etc.")
billing_city = models.CharField(max_length=100, blank=True)
billing_state = models.CharField(max_length=100, blank=True, help_text="State/Province/Region")
billing_postal_code = models.CharField(max_length=20, blank=True)
billing_country = models.CharField(max_length=2, blank=True, help_text="ISO 2-letter country code")
tax_id = models.CharField(max_length=100, blank=True, help_text="VAT/Tax ID number")
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)