from django import forms
from django.utils.translation import gettext_lazy as _
from django.contrib.admin.widgets import FilteredSelectMultiple
import datetime


# Empieza el baile
from .models import T004_CLASSFIELD, T100_INVENTORY


class InventoryForm(forms.ModelForm):
    template_name = 'form_snippet.html'

    pater = forms.ModelChoiceField(queryset=T100_INVENTORY.objects.all(),
                                   to_field_name='name', empty_label="Select PATER Asset")
    classfields = forms.ModelMultipleChoiceField(
        queryset=T004_CLASSFIELD.objects.all(), widget=FilteredSelectMultiple("verbose name", is_stacked=False))

    class Meta:
        model = T100_INVENTORY
        fields = ['pater', 'date', 'code',
                  'alias', 'name', 'detail', 'classfields', 'enabled', 'order0', 'order1', 'order2']
        # fields = '__all__'  # Todos los campos
        labels = {
            'name': _('Asset'),
        }

        widgets = {
            'date': forms.DateTimeInput(attrs={'class': 'datepicker', 'type': 'date', 'placeholder': 'dd/mm/aaaa hh:mm:ss'}),
            'code': forms.TextInput(attrs={'class': 'input', 'placeholder': 'Code'}),
            'alias': forms.TextInput(attrs={'class': 'input', 'placeholder': 'Alias', 'required': 'true'}),
            'name': forms.TextInput(attrs={'class': 'input', 'placeholder': 'Name'}),
            'detail': forms.TextInput(attrs={'class': 'input', 'placeholder': 'Detail'}),
            'order0': forms.NumberInput(attrs={'class': 'input', 'placeholder': 'Order 0', 'min': 0}),
            'order1': forms.NumberInput(attrs={'class': 'input', 'placeholder': 'Order 1', 'min': 0}),
            'order2': forms.NumberInput(attrs={'class': 'input', 'placeholder': 'Order 2', 'min': 0}),
        }
