from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    dependencies = [
        ('sales', '0008_alter_projectassessment_budget'),
        ('ecommerce', '0017_expense_billing_period_fix'),
        ('pages', '0014_servicecategory_icon_class'),
    ]

    operations = [
        migrations.CreateModel(
            name='AssessmentExpenseItem',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('item_type', models.CharField(
                    choices=[('product', 'Product'), ('service', 'Service'), ('subscription', 'Subscription')],
                    default='product', max_length=15
                )),
                ('label', models.CharField(help_text='Item name (auto-filled, editable)', max_length=200)),
                ('billing_period', models.CharField(
                    choices=[('once', 'One-off'), ('hourly', 'Hourly'), ('monthly', 'Monthly'), ('annual', 'Annual')],
                    default='once', max_length=10
                )),
                ('amount', models.DecimalField(decimal_places=2, max_digits=10)),
                ('quantity', models.PositiveSmallIntegerField(default=1)),
                ('notes', models.CharField(blank=True, max_length=300)),
                ('pushed_to_expenses', models.BooleanField(default=False, help_text='Has this item been pushed to the Expenses ledger?')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('assessment', models.ForeignKey(
                    on_delete=django.db.models.deletion.CASCADE,
                    related_name='expense_items', to='sales.projectassessment'
                )),
                ('product', models.ForeignKey(
                    blank=True, null=True,
                    on_delete=django.db.models.deletion.SET_NULL,
                    related_name='assessment_items', to='ecommerce.product'
                )),
                ('service', models.ForeignKey(
                    blank=True, null=True,
                    on_delete=django.db.models.deletion.SET_NULL,
                    related_name='assessment_items', to='pages.service'
                )),
            ],
            options={
                'verbose_name': 'Assessment Expense Item',
                'verbose_name_plural': 'Assessment Expense Items',
                'ordering': ['created_at'],
            },
        ),
    ]
