from django.db import models
from django.utils.text import slugify
from status.models import Status
from organization.models import BaseTenantModel

class Classroom(BaseTenantModel):
    classroom_id = models.AutoField(primary_key=True)
    room_number = models.CharField(max_length=100, unique=True)
    slug = models.SlugField(max_length=255, unique=True, blank=True)
    building = models.CharField(max_length=100)
    capacity = models.IntegerField()
    status = models.ForeignKey(Status, on_delete=models.SET_NULL, null=True, blank=True)

    class Meta:
        ordering = ['room_number']

    def save(self, *args, **kwargs):
        if not self.slug:
            self.slug = slugify(f"room_{self.building}-{self.room_number}")
        super().save(*args, **kwargs)

    def __str__(self):
        return f"{self.room_number} ({self.building})"