8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-22 11:23:10 +00:00

Gestion des hidden fields

This commit is contained in:
Maël Kervella 2017-10-05 21:36:27 +00:00 committed by Pierre Cadart
parent 24a39e80bb
commit 58c04bb2db

View file

@ -62,20 +62,23 @@ def bootstrap_form_typeahead(django_form, typeahead_fields, *args, **kwargs):
t_fields = typeahead_fields.split(',') t_fields = typeahead_fields.split(',')
exclude = kwargs.get('exclude', None) exclude = kwargs.get('exclude', None)
exclude = exclude.split(',') if exclude else [] exclude = exclude.split(',') if exclude else []
hidden = [h.name for h in django_form.hidden_fields()]
form = '' form = ''
for f_name, f_value in django_form.fields.items() : for f_name, f_value in django_form.fields.items() :
if not f_name in exclude : if not f_name in exclude :
if f_name in t_fields : if f_name in t_fields :
form += render_tag( if not f_name in hidden :
'div', form += render_tag(
attrs = {'class': 'form-group'}, 'div',
content = label_tag( f_name, f_value ) + attrs = {'class': 'form-group'},
input_tag( f_name, f_value ) + content = label_tag( f_name, f_value ) +
hidden_tag( f_name ) + input_tag( f_name, f_value ) +
typeahead_full_script( f_name, f_value ) hidden_tag( f_name ) +
) typeahead_full_script( f_name, f_value )
)
else:
form += hidden_tag( f_name )
else: else:
form += render_field( form += render_field(
f_value.get_bound_field(django_form, f_name), f_value.get_bound_field(django_form, f_name),
@ -89,14 +92,15 @@ def bootstrap_form_typeahead(django_form, typeahead_fields, *args, **kwargs):
def input_id( f_name ): def input_id( f_name ):
return 'typeahead_input_'+f_name return 'typeahead_input_'+f_name
def select_id( f_name ): def hidden_id( f_name ):
return 'typeahead_select_'+f_name return 'typeahead_select_'+f_name
def hidden_tag( f_name ): def hidden_tag( f_name ):
return render_tag( return render_tag(
'input', 'input',
attrs={ attrs={
'id': select_id(f_name), 'id': hidden_id(f_name),
'maxlength': 255,
'name': f_name, 'name': f_name,
'type': 'hidden', 'type': 'hidden',
'value': '' 'value': ''
@ -173,7 +177,7 @@ def typeahead_datasets( f_name ) :
def typeahead_updater( f_name ): def typeahead_updater( f_name ):
return 'function(evt, item) { ' \ return 'function(evt, item) { ' \
'$("#'+select_id(f_name)+'").val( item.key ); ' \ '$("#'+hidden_id(f_name)+'").val( item.key ); ' \
'return item; ' \ 'return item; ' \
'}' '}'