Currently the assignments of roles to parties are boolean (there or not there).
As stated in a comment below:
Reopening, as removing a PartyRole from a party can lead to errors.
?? Steps to reproduce:??
- Go to https://demo-trunk.ofbiz.apache.org/partymgr/control/viewroles?partyId=DemoCustomer;
- Remove the 'Contact' role from the party.
See the error shown (attached screenshot).
Such errors pop up due to referential integrity (used in other entities).
However, these role assignments also have a lifespan, and PartyRole records are used in specific object role entities (such as: AgreementRole, QuoteRole, RequestRole, etc.)
This can be achieved by adding fromDate and thruDate fields.