Often when managing a sale opportunity the company is confronted to multiple stakeholders with multiple roles in the sale process.
Proposal
Models
sale.opportunity.role
name
sale.opportunity.contact
opportunity
party
role
sale.opportunity
contacts: The One2Many to the sale.opportunity.contact
Implementation
The ordering of the party when filling the contact O2M should take into account the relationship between the parties. The context and ordering used when searching for the parties should be defined using the new search_* keywords from issue6081
Apart from those points the implementation should be pretty straightforward.
Should not we also have the same but for employee? Often at different steps of the sale process, it is different employee who is in charge. Do we want to predefine or log them?
The design would be almost the same but I guess that we want to have a function field pointing to the current employee responsible for the opportunity (for search or notifications purposes).
I agree with nicoe that we want to point to the current employee responsible, but instead of requiring a functional field I will prefier to have the real field and we should be able to know who was the responsible on the past thanks to the _history feature.
This does not prevent to implement a rule mechanism to change the responsible employee based on triggered actions. And I think this is out of the scope of the current blueprint.
Could you clarify which parties should be showed first?
Is there any relation between the relationship type and the opportunity role?
Should we allow to select only parties that are related to the customer?
Also I’m wondering if it will be good to have a notes field on the opportunity contact in order to track additional details about the relation.