Move vps notebook to smartbutton
This commit is contained in:
Binary file not shown.
@@ -1,6 +1,19 @@
|
||||
from odoo import models, fields
|
||||
from odoo import models, fields, api
|
||||
|
||||
class ResPartner(models.Model):
|
||||
_inherit = 'res.partner'
|
||||
|
||||
vps_server_ids = fields.One2many('vps.server', 'customer_id', string='VPS Servers')
|
||||
vps_server_ids = fields.One2many('vps.server', 'customer_id', string='VPS Servers')
|
||||
vps_server_count = fields.Integer(string='VPS Server Count', compute='_compute_vps_server_count')
|
||||
|
||||
@api.depends('vps_server_ids')
|
||||
def _compute_vps_server_count(self):
|
||||
for partner in self:
|
||||
partner.vps_server_count = len(partner.vps_server_ids)
|
||||
|
||||
def action_view_vps_servers(self):
|
||||
self.ensure_one()
|
||||
action = self.env.ref('ow_vm_management.action_vps_server').read()[0]
|
||||
action['domain'] = [('customer_id', '=', self.id)]
|
||||
action['context'] = {'default_customer_id': self.id}
|
||||
return action
|
||||
@@ -5,21 +5,15 @@
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//notebook" position="inside">
|
||||
<page string="VPS Servers" attrs="{'invisible': [('is_company', '=', False)]}">
|
||||
<field name="is_company" invisible="1"/>
|
||||
<field name="vps_server_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="ip_address"/>
|
||||
<field name="cpu"/>
|
||||
<field name="ram"/>
|
||||
<field name="storage"/>
|
||||
<field name="os"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</xpath>
|
||||
<!-- Remove the notebook page if it exists -->
|
||||
<!-- <xpath expr="//page[@name='vps_servers']" position="replace"/> -->
|
||||
|
||||
<!-- Add the smart button -->
|
||||
<div name="button_box" position="inside">
|
||||
<button name="action_view_vps_servers" type="object" class="oe_stat_button" icon="fa-server" attrs="{'invisible': [('vps_server_count', '=', 0)]}">
|
||||
<field name="vps_server_count" widget="statinfo" string="VPS Servers"/>
|
||||
</button>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -20,6 +20,13 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_vps_server" model="ir.actions.act_window">
|
||||
<field name="name">VPS Servers</field>
|
||||
<field name="res_model">vps.server</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{'search_default_customer_id': active_id}</field>
|
||||
</record>
|
||||
|
||||
<record id="view_vps_server_tree" model="ir.ui.view">
|
||||
<field name="name">vps.server.tree</field>
|
||||
<field name="model">vps.server</field>
|
||||
|
||||
Reference in New Issue
Block a user