Ignore read-only transaction cache when getting a category from a new or temp object
The purpose is to be able to use the amount generator during indexation. At some point, it executes:
if amount.getQuantityUnit():
...
for x in property_dict.iteritems():
amount._setProperty(*x)
where amount.getQuantityUnit()
may getResource before it is set.
Any further access to the resource category would be wrong.
There may be a way to only change the amount generator but this kind of pitfall is likely to happen in many other places if we keep such a read-only transaction cache for new or temp objects.