| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from django import forms
- from .models import Dividendo, Operacion, Valor
- class BootstrapFormMixin:
- """Aplica la clase form-control de Bootstrap a todos los campos."""
- def __init__(self, *args, **kwargs):
- super().__init__(*args, **kwargs)
- for field in self.fields.values():
- css = field.widget.attrs.get('class', '')
- field.widget.attrs['class'] = f'{css} form-control'.strip()
- class ValorForm(BootstrapFormMixin, forms.ModelForm):
- class Meta:
- model = Valor
- fields = ['ticker', 'nombre', 'mercado', 'isin']
- def __init__(self, *args, **kwargs):
- super().__init__(*args, **kwargs)
- self.fields['ticker'].widget.attrs['placeholder'] = 'p. ej. SAN.MC'
- class OperacionForm(BootstrapFormMixin, forms.ModelForm):
- class Meta:
- model = Operacion
- fields = ['valor', 'tipo', 'fecha', 'cantidad', 'precio', 'comisiones']
- widgets = {
- 'fecha': forms.DateInput(attrs={'type': 'date'}),
- }
- class DividendoForm(BootstrapFormMixin, forms.ModelForm):
- class Meta:
- model = Dividendo
- fields = ['valor', 'fecha', 'bruto', 'retencion']
- widgets = {
- 'fecha': forms.DateInput(attrs={'type': 'date'}),
- }
|