1234567891011121314151617181920212223242526272829303132 |
- from django import forms
- from django.forms.models import modelform_factory
- from django.forms import widgets
- from django.utils.safestring import mark_safe
- from .models import Adherent
- class StringWidget(widgets.Input):
- def render(self, name, value, attrs=None):
- # Create a hidden field first
- hidden_field = widgets.HiddenInput(attrs)
- return mark_safe(u'%s %s' % (value, hidden_field.render(value, attrs)))
- class AdherentForm(forms.ModelForm):
- adherent_id = forms.CharField(disabled=True, label='Numéro d’adhérent')
- class Meta:
- model = Adherent
- exclude = ()
- def __init__(self, *args, **kwargs):
- super().__init__(*args, **kwargs)
- if self.instance.id:
- self.fields['adherent_id'].initial = self.instance.id
- else:
- self.fields['adherent_id'].initial = 'Veuillez sauvegarder pour obtenir un numéro d’adhérent.'
- self.fields['adherent_id'].widget = StringWidget()
- def has_changed(self):
- return True
|