bemade_fsm: improve visibility of pages on partners based on is_service_site logic
This commit is contained in:
parent
306ffae80b
commit
188f7afbd1
3 changed files with 21 additions and 5 deletions
|
|
@ -20,7 +20,7 @@
|
||||||
########################################################################################
|
########################################################################################
|
||||||
{
|
{
|
||||||
"name": "Improved Field Service Management",
|
"name": "Improved Field Service Management",
|
||||||
"version": "17.0.0.4.1",
|
"version": "17.0.0.4.2",
|
||||||
"summary": (
|
"summary": (
|
||||||
"Adds functionality necessary for managing field service operations at Durpro."
|
"Adds functionality necessary for managing field service operations at Durpro."
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,11 @@ class Partner(models.Model):
|
||||||
search="_search_is_site_contact",
|
search="_search_is_site_contact",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
is_service_site = fields.Boolean(
|
||||||
|
help="A partner is a service site if they have one or more equipments, "
|
||||||
|
"site contacts or work order contacts."
|
||||||
|
)
|
||||||
|
|
||||||
site_ids = fields.Many2many(
|
site_ids = fields.Many2many(
|
||||||
string="Work Sites",
|
string="Work Sites",
|
||||||
comodel_name="res.partner",
|
comodel_name="res.partner",
|
||||||
|
|
@ -17,6 +22,7 @@ class Partner(models.Model):
|
||||||
column1="site_contact_id",
|
column1="site_contact_id",
|
||||||
column2="site_id",
|
column2="site_id",
|
||||||
tracking=True,
|
tracking=True,
|
||||||
|
domain=[("is_service_site", "=", True)],
|
||||||
)
|
)
|
||||||
|
|
||||||
site_contacts = fields.Many2many(
|
site_contacts = fields.Many2many(
|
||||||
|
|
@ -24,7 +30,7 @@ class Partner(models.Model):
|
||||||
relation="res_partner_site_contact_rel",
|
relation="res_partner_site_contact_rel",
|
||||||
column1="site_id",
|
column1="site_id",
|
||||||
column2="site_contact_id",
|
column2="site_contact_id",
|
||||||
domain=[("is_company", "=", False)],
|
domain=[("is_service_site", "=", False)],
|
||||||
tracking=True,
|
tracking=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -34,7 +40,7 @@ class Partner(models.Model):
|
||||||
relation="res_partner_work_order_contacts_rel",
|
relation="res_partner_work_order_contacts_rel",
|
||||||
column1="res_partner_id",
|
column1="res_partner_id",
|
||||||
column2="work_order_contact_id",
|
column2="work_order_contact_id",
|
||||||
domain=[("is_company", "=", False)],
|
domain=[("is_service_site", "=", False)],
|
||||||
tracking=True,
|
tracking=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -46,3 +52,10 @@ class Partner(models.Model):
|
||||||
@api.model
|
@api.model
|
||||||
def _search_is_site_contact(self, operator, value):
|
def _search_is_site_contact(self, operator, value):
|
||||||
return [("site_ids", "!=", False)]
|
return [("site_ids", "!=", False)]
|
||||||
|
|
||||||
|
@api.depends("equipment_ids", "site_contacts", "work_order_contacts")
|
||||||
|
def _compute_is_service_site(self):
|
||||||
|
for rec in self:
|
||||||
|
rec.is_service_site = (
|
||||||
|
rec.equipment_ids or rec.site_contacts or rec.work_order_contacts
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,9 @@
|
||||||
/>
|
/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<page name="equipment" position="after">
|
<page name="equipment" position="after">
|
||||||
<page name="Service Contacts" invisible="not is_company">
|
<page
|
||||||
|
name="Service Contacts"
|
||||||
|
invisible="site_ids">
|
||||||
<field
|
<field
|
||||||
name="site_contacts"
|
name="site_contacts"
|
||||||
context="{'tree_view_ref': 'bemade_fsm.fsm_contacts_view_tree'}"
|
context="{'tree_view_ref': 'bemade_fsm.fsm_contacts_view_tree'}"
|
||||||
|
|
@ -19,7 +21,8 @@
|
||||||
context="{'tree_view_ref': 'bemade_fsm.fsm_contacts_view_tree'}"
|
context="{'tree_view_ref': 'bemade_fsm.fsm_contacts_view_tree'}"
|
||||||
/>
|
/>
|
||||||
</page>
|
</page>
|
||||||
<page name="Service Sites" invisible="is_company">
|
<field name="is_service_site" invisible="True"/>
|
||||||
|
<page name="Service Sites" invisible="is_service_site">
|
||||||
<group>
|
<group>
|
||||||
<field name="site_ids">
|
<field name="site_ids">
|
||||||
<tree editable="bottom">
|
<tree editable="bottom">
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue