from django.db import models
from django.conf import settings


def order_enquiry_upload_path(instance, filename):
    return f'order_enquiries/user_{instance.user.id}/{filename}'


class OrderEnquiry(models.Model):
    class Status(models.TextChoices):
        PENDING = 'pending', 'Pending Review'
        PROCESSING = 'processing', 'Processing'
        QUOTED = 'quoted', 'Quoted'
        APPROVED = 'approved', 'Approved'
        REJECTED = 'rejected', 'Rejected'
        COMPLETED = 'completed', 'Completed'

    user = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        on_delete=models.CASCADE,
        related_name='order_enquiries'
    )
    excel_file = models.FileField(upload_to=order_enquiry_upload_path)
    status = models.CharField(
        max_length=20,
        choices=Status.choices,
        default=Status.PENDING
    )
    notes = models.TextField(blank=True, help_text="Customer notes")
    staff_remarks = models.TextField(blank=True, help_text="Staff remarks/updates")
    
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        verbose_name = 'Order Enquiry'
        verbose_name_plural = 'Order Enquiries'
        ordering = ['-created_at']

    def __str__(self):
        return f"Enquiry #{self.id} - {self.user.email} - {self.status}"
    