Usability improvement for partner/address/contact on 7.0

Registered by Ana Juaristi Olalde

In order to improve usability and conceptual meaning of "partner" single object on 7.0, I propose including this simple changes:

Partner Object:
     1. Include new flags for identifying what kind of object is the record.
is_parner: On clicking all partner form fields will be shown, including accountancy fields.

is_address: On clicking only contact fields of partner's record will be shown, hidden all others
  --> Records on that type will show a field many2one to partner (is_partner)
  --> it will also show a one2many field to partner 'is_contact'.

is_contact: On clicking, only contact fields + job position will be shown on form.
  --> Records on that type will show a field many2one to partner (is_partner or is_address)
 --> It will also show a one2many field to is_address partners(If a single contact needs showing more than one personal address)
 --> It will also show a one2many field to is_contact partners(If a contact needs showing relating contacts as wife or other kind of people)

2. Is_partner view will also show two one2many fields showing:
    1: All related is_address partner records --> Opening form will show is_address form. Creating a new record will set by default "is_address" check.
    2: All related is_contact partner records + all is_contact records assigned to one of its is_address records--> Opening form will show is_contact form. Creating a new record will set by default "is_contact" check.

3. On partner tree view by default only "is_partner" records will be shown.

4. ADD new menu entries for having "addresses" and "contacts" (not needed but pretty to have)

5. On SO document:
.- Delivery address: Set domain "partner_id" = Is_address type delivery
.- Invoice address: Set domain "partner_id" = is_address type invoice

6. On SO document:
.- Contact address is missing field from 6.1 --> Add contact address setting by defaul partner record.
.- Sales/Purchases address: Set domain "partner_id" = is_address type contact

7. Sending emails:
     On sending Sales/purchases order: set field "to" with is_address record.email + set field CC: If exists contacts related to that address, concatenate all their emails (TO BE discussed)
     On sending Picking automatically by email: set field "to" with is_address record.email + set field CC: If exists contacts related to that address, concatenate all their emails (TO BE discussed)
     On sending Invoice automatically by email: set field "to" with is_address record.email + set field CC: If exists contacts related to that address, concatenate all their emails (TO BE discussed)

8. Printing documents:
SO Header:
Show Partner's name + fiscal data
If exists contacts related to contact address, add text: "Att:" concatenate contacts names on contact address

Show Deliverry address with contact's name(if exists)
Show invoice address with contact's name(if exists)

Picking Header:
Show Partner's name (field partner_id historically missing on pickings so it's causing several problems, should be fixed)
Show delivery address
Show delivery contacts name (if exists)

Invoice Header:
Show Partner's name
Show invoice address
Show invoice contacts name (if exists)
-----
Much more could be done in order to improve usability for final customer but I think this could be an starting point. Thank you:
Ana

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.