# apps/paperpot/forms.py
from django import forms
from django.forms import inlineformset_factory
from .models import RegistroPaper, HorarioParada

class RegistroPaperForm(forms.ModelForm):
    class Meta:
        model = RegistroPaper
        fields = [
            'data', 'mes', 'semana',
            'quantidade_paper_cheio', 'quantidade_papel_utilizado',
            'substrato_balde', 'substrato_litros', 'producao_por_litro',
            'horas_trabalhadas', 'quantidade_paradas', 'producao_por_hora',
            'basocote_kg', 'observacao'
        ]
        widgets = {
            'data': forms.DateInput(attrs={'type': 'date', 'class': 'form-control'}),
            'mes': forms.TextInput(attrs={'readonly': 'readonly', 'class': 'form-control'}),
            'semana': forms.NumberInput(attrs={'readonly': 'readonly', 'class': 'form-control'}),

            'quantidade_paper_cheio': forms.NumberInput(attrs={'class': 'form-control'}),
            'quantidade_papel_utilizado': forms.NumberInput(attrs={'class': 'form-control'}),

            'substrato_balde': forms.NumberInput(attrs={'class': 'form-control'}),
            'substrato_litros': forms.NumberInput(attrs={'readonly': 'readonly', 'class': 'form-control'}),
            'producao_por_litro': forms.NumberInput(attrs={'readonly': 'readonly', 'class': 'form-control'}),

            'horas_trabalhadas': forms.TextInput(attrs={'readonly': 'readonly', 'class': 'form-control'}),
            'quantidade_paradas': forms.NumberInput(attrs={'readonly': 'readonly', 'class': 'form-control'}),
            'producao_por_hora': forms.NumberInput(attrs={'readonly': 'readonly', 'class': 'form-control'}),

            'basocote_kg': forms.NumberInput(attrs={'readonly': 'readonly', 'class': 'form-control'}),
            'observacao': forms.Textarea(attrs={'class': 'form-control', 'rows': 2}),
        }


class HorarioParadaForm(forms.ModelForm):
    class Meta:
        model = HorarioParada
        fields = ['hora_inicio', 'hora_parada']
        widgets = {
            'hora_inicio': forms.TimeInput(format='%H:%M', attrs={'type': 'time', 'class': 'form-control'}),
            'hora_parada': forms.TimeInput(format='%H:%M', attrs={'type': 'time', 'class': 'form-control'}),
        }

HorarioParadaFormSet = inlineformset_factory(
    RegistroPaper,
    HorarioParada,
    form=HorarioParadaForm,
    extra=1,
    can_delete=True
)
