﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
22969	Forms show_hidden_initial not is_valid() and fix => lost changes in valid fields	dibrovsd@…	nobody	"if use show_hidden_initial as initial and have some error fields form.is_valid() == False
django set initial other (valid) fields from data
and in next step (user fix form errors) django lost changed valid fields from changed_data


{{{
from django.forms import Form, CharField

class MyForm(Form):

    req_field = CharField(show_hidden_initial=True, required=True)
    notreq_field = CharField(show_hidden_initial=True)

data = {
    'req_field': '', 'initial-req_field': '',
    'notreq_field': '12', 'initial-notreq_field': '',
}

# i can't use initial from database.
# other user can change some field and django revert unchange field back
# user 1: open form (field_1 is ""1"")
# user 2: change field_1 to ""2""
# user 1 change field_2 to ""1111"" and 
# user 1 send unchange (field_1 is ""1"") initial value field_1 == ""2"" (user 2 change it)
# django mark field_1 as change from 2 to 1 back 

form = MyForm(data=data)
assert(form.is_valid(), False)  # req_field error

# show invalid form and set: initial-notreq_field = 12 (why???) 
# in next send form this field not in changed_data
for field in form.visible_fields():
    print field
# django action: set initial-notreq_field = 12
data['initial-notreq_field'] = '12'  # 

# user action: fix error
data['req_field'] = '12'
form = MyForm(data=data)
print form.is_valid()

for change_field in form.changed_data:
    print 'change', change_field, form.cleaned_data[change_field]
# oops! lost change in notreq_field
}}}"	Bug	closed	Forms	1.6	Normal	needsinfo	Form show_hidden_initial changed_data	Adam Brenecki	Unreviewed	1	0	0	1	0	0
