Fix reversing URLs on Local Site with template caching turned on.
Review Request #4873 — Created Oct. 31, 2013 and submitted
Fix reversing URLs on Local Site with template caching turned on.
A while back on RBCommons, we hit a bug after enabling template caching
where URLs weren't reversing properly. Reversing would seem to work at
times, and at other times, the page would break due to a lookup failure.
In these cases, it was always failing to find a URL with local_site_name
in the kwargs.This turns out to be due to a bug on our end, and not something due to
us overriding the url template tag.When building the cached nodes and rendering the first time, all would
be well, but then we'd set url_node.kwargs to equal self.kwargs in our
custom template tag. Future renders would re-use the instances of our
tag, and therefore the kwargs and the url_node attributes. kwargs would
be populated with a 'local_site_name' key, and all would fail from there
on out.We just need to copy our args/kwargs when setting url_node, and not
assign directly.
Tested locally with template caching and a local site. I was able to
reliably trigger the failures before this change. After, I couldn't
make it happen once.