[TYPO3-shop] [BUG] 2.6.1 agb checkbox state can't be reset to false
Felix Buenemann
Felix.Buenemann at googlemail.com
Sat Nov 14 00:00:38 CET 2009
Hi,
I've been trying to fix this bug for hours, but to no avail:
Once the AGB checkbox on the BASKET_INFO page is set to true, there is
no way to get it back to disabled state until the payment process is
finished.
Here's how you can reproduce:
Fill out the form on the info template, check the "I agree to Terms and
Conditions" (AGB) checkbox, but leave another required field, eg. name
empty.
Now it'll complain that the name field is required. Then go back to info
template and fill in a name, but uncheck the AGB checkbox and submit.
It'll complain about missing consent to terms and conditions. Now go
back to info template.
The bug appears: The AGB checkbox is now checked, although it was
unchecked before submitting the info template.
There is now no way to get the agb checkbox back to unchecked state
until you completed the order.
The problem seems to be, that the code in the info->init() function,
that should reset the state of the checkbox is working on a copy of the
basket records array, so the real data never gets changed. So while this
does temporarily reset the state of the agb for the payment template, it
has no effect when calling the info template, so the old data (checked
state) gets used once we go back to the info template.
While this problem seems relativly minor regarding the AGB, it is a
bigger problem for me, because I have added additional checkboxes to the
info template, that are also stuck at enabled once they were checked.
The solution would probably be to pass the basket records array all the
way through into info->init() as a reference, but I wasn't able to trace
it back to it's origin, due to the deep encapsulation of calls.
Best Regards,
Felix Buenemann
More information about the TYPO3-project-tt-products
mailing list