Resolving MProxy Changes Path
Issue
Resolving the MProxy returned from a ReferenceEditQuantity
currently changes the path which causes all kinds of problems.
Minimum breaking example
Defining the following section:
class SectionWithReference(EntryData):
resolve_reference = Quantity(
type=bool,
a_eln=dict(component='BoolEditQuantity'),
)
reference = Quantity(
type=ArchiveSection,
a_eln=dict(component='ReferenceEditQuantity'),
)
def normalize(self, archive, logger):
super(SectionWithReference, self).normalize(archive, logger)
if self.resolve_reference:
if isinstance(self.reference, MProxy):
self.reference.m_proxy_resolve()
And creating an instance with a reference to an arbitrary section gives:
Resolving the reference gives:
Note the extra "/" before "data" at the end of the path.
I have no idea which path is the valid one as there is no documentation (that I can find) but I guess they should be the same. Possibly related to !1079 (merged) ?