Now we want to be able to move Addresses from one Party to another. Digging into the Party module, there is an odd implementation for preventing changing an Address's, or Contact Mechanism's, Party. Instead of just making the field readonly, there are UserError calls in overwritten write methods.[1] If this a legacy implementation (something that today would just be handled with readonly)?
Is anyone aware of traps lurking if I allow change of the Addresses' party field (by making it read/write and removing the hooks in the overridden write methods)? (This would also involve overloading Address's write to ensure that all of the Address's Contact Mechanisms move along with it.)
[1] http://hg.tryton.org/modules/party/file/3.4/address.py#l158
http://hg.tryton.org/modules/party/file/3.4/contact_mechanism.py#l87
Any insights would be greatly appreciated.
> I must admint that I have used party_comunication and the same aproach
> when party_relationship did not exist. Once having tested the new
> party_relationship module, we did the switch immediately as the latter
> had a lot of benefits:
How did you deal with the UI problems? When a user goes to the party page for XYZ Corporation, and wants to add a salesperson for XYZ, they want to be able to do it simply--not either (1) digging down through pop-ups first for party relationship, then for a new party, and then back up to the relationship, or (2) leaving the XYZ screen to create a new party.
I understand that party_relationship has a more robust data model than party_communication, but, in the trade-off between UI and flexible data model, UI sometimes should win, especially the use case does not require complex spaghetti Many2Many relationship between employees and their companies.