[14.0][MIG]agreement_maintenance: Travis

This commit is contained in:
Vimal Patel
2021-07-23 15:39:00 +05:30
committed by Murtaza Mithaiwala
parent ad07ce1cc0
commit 9566fd5410
11 changed files with 85 additions and 65 deletions

View File

@@ -3,25 +3,25 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{ {
'name': 'Maintenance Agreements', "name": "Maintenance Agreements",
'summary': 'Manage maintenance agreements and contracts', "summary": "Manage maintenance agreements and contracts",
'author': 'Pavlov Media, ' "author": "Pavlov Media, "
'Open Source Integrators, ' "Open Source Integrators, "
'Odoo Community Association (OCA)', "Odoo Community Association (OCA)",
'website': 'https://github.com/OCA/contract', "website": "https://github.com/OCA/contract",
'category': 'Maintenance', "category": "Maintenance",
'license': 'AGPL-3', "license": "AGPL-3",
'version': '12.0.1.1.1', "version": "14.0.1.0.0",
'depends': [ "depends": [
'maintenance', "maintenance",
'agreement_serviceprofile', "agreement_serviceprofile",
], ],
'data': [ "data": [
'views/agreement_view.xml', "views/agreement_view.xml",
'views/agreement_serviceprofile_view.xml', "views/agreement_serviceprofile_view.xml",
'views/maintenance_request_view.xml', "views/maintenance_request_view.xml",
'views/maintenance_equipment_view.xml', "views/maintenance_equipment_view.xml",
], ],
'development_status': 'Beta', "development_status": "Beta",
'maintainers': ['max3903'], "maintainers": ["max3903"],
} }

View File

@@ -7,11 +7,11 @@ from odoo import api, fields, models
class Agreement(models.Model): class Agreement(models.Model):
_inherit = "agreement" _inherit = "agreement"
mr_count = fields.Integer('# Maintenance Requests', mr_count = fields.Integer("# Maintenance Requests", compute="_compute_mr_count")
compute='_compute_mr_count')
@api.multi @api.multi
def _compute_mr_count(self): def _compute_mr_count(self):
for ag_rec in self: for ag_rec in self:
ag_rec.mr_count = self.env['maintenance.request'].search_count( ag_rec.mr_count = self.env["maintenance.request"].search_count(
[('agreement_id', 'in', ag_rec.ids)]) [("agreement_id", "in", ag_rec.ids)]
)

View File

@@ -7,5 +7,4 @@ from odoo import fields, models
class AgreementServiceProfile(models.Model): class AgreementServiceProfile(models.Model):
_inherit = "agreement.serviceprofile" _inherit = "agreement.serviceprofile"
equipment_id = fields.Many2one('maintenance.equipment', equipment_id = fields.Many2one("maintenance.equipment", string="Equipment")
string='Equipment')

View File

@@ -5,8 +5,9 @@ from odoo import fields, models
class MaintenanceEquipment(models.Model): class MaintenanceEquipment(models.Model):
_inherit = 'maintenance.equipment' _inherit = "maintenance.equipment"
agreement_id = fields.Many2one('agreement', string='Agreement') agreement_id = fields.Many2one("agreement", string="Agreement")
serviceprofile_ids = fields.One2many( serviceprofile_ids = fields.One2many(
'agreement.serviceprofile', 'equipment_id', string='Service Profiles') "agreement.serviceprofile", "equipment_id", string="Service Profiles"
)

View File

@@ -7,6 +7,5 @@ from odoo import fields, models
class MaintenanceRequest(models.Model): class MaintenanceRequest(models.Model):
_inherit = "maintenance.request" _inherit = "maintenance.request"
agreement_id = fields.Many2one('agreement', 'Agreement') agreement_id = fields.Many2one("agreement", "Agreement")
serviceprofile_id = fields.Many2one('agreement.serviceprofile', serviceprofile_id = fields.Many2one("agreement.serviceprofile", "Service Profile")
'Service Profile')

View File

@@ -6,11 +6,13 @@
<record id="agreement_serviceprofile_equipment_form_view" model="ir.ui.view"> <record id="agreement_serviceprofile_equipment_form_view" model="ir.ui.view">
<field name="name">agreement.serviceprofile.form.equipment</field> <field name="name">agreement.serviceprofile.form.equipment</field>
<field name="model">agreement.serviceprofile</field> <field name="model">agreement.serviceprofile</field>
<field name="inherit_id" <field
ref="agreement_serviceprofile.agreement_serviceprofile_form"/> name="inherit_id"
ref="agreement_serviceprofile.agreement_serviceprofile_form"
/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="agreement_id" position="after"> <field name="agreement_id" position="after">
<field name="equipment_id"/> <field name="equipment_id" />
</field> </field>
</field> </field>
</record> </record>

View File

@@ -3,8 +3,10 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo> <odoo>
<record model="ir.actions.act_window" <record
id="action_maintenance_request_agreement_specific"> model="ir.actions.act_window"
id="action_maintenance_request_agreement_specific"
>
<field name="name">Maintenance Requests</field> <field name="name">Maintenance Requests</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">maintenance.request</field> <field name="res_model">maintenance.request</field>
@@ -21,16 +23,18 @@
<record id="partner_agreement_form_view" model="ir.ui.view"> <record id="partner_agreement_form_view" model="ir.ui.view">
<field name="name">agreement.form.maintenance.request</field> <field name="name">agreement.form.maintenance.request</field>
<field name="model">agreement</field> <field name="model">agreement</field>
<field name="inherit_id" ref="agreement_legal.partner_agreement_form_view"/> <field name="inherit_id" ref="agreement_legal.partner_agreement_form_view" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//div[@name='button_box']" position="inside"> <xpath expr="//div[@name='button_box']" position="inside">
<button name="%(action_maintenance_request_agreement_specific)d" <button
name="%(action_maintenance_request_agreement_specific)d"
type="action" type="action"
class="oe_stat_button" icon="fa-wrench"> class="oe_stat_button"
icon="fa-wrench"
>
<div class="o_field_widget o_stat_info"> <div class="o_field_widget o_stat_info">
<span class="o_stat_value"> <span class="o_stat_value">
<field name="mr_count" widget="statinfo" <field name="mr_count" widget="statinfo" nolabel="1" />
nolabel="1"/>
</span> </span>
<span class="o_stat_text">Maintenance Requests</span> <span class="o_stat_text">Maintenance Requests</span>
</div> </div>

View File

@@ -6,22 +6,23 @@
<record id="maintenance_equipment_form_view_agreement" model="ir.ui.view"> <record id="maintenance_equipment_form_view_agreement" model="ir.ui.view">
<field name="name">maintenance.equipment.form.agreement</field> <field name="name">maintenance.equipment.form.agreement</field>
<field name="model">maintenance.equipment</field> <field name="model">maintenance.equipment</field>
<field name="inherit_id" <field name="inherit_id" ref="maintenance.hr_equipment_view_form" />
ref="maintenance.hr_equipment_view_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//group/group[1]" position="inside"> <xpath expr="//group/group[1]" position="inside">
<field name="agreement_id"/> <field name="agreement_id" />
</xpath> </xpath>
<xpath expr="//notebook" position="inside"> <xpath expr="//notebook" position="inside">
<page string="Services" id="services"> <page string="Services" id="services">
<field name="serviceprofile_ids" <field
name="serviceprofile_ids"
domain="[('equipment_id', '=', False)]" domain="[('equipment_id', '=', False)]"
widget="many2many"> widget="many2many"
>
<tree> <tree>
<field name="name"/> <field name="name" />
<field name="partner_id"/> <field name="partner_id" />
<field name="product_id"/> <field name="product_id" />
<field name="stage_id"/> <field name="stage_id" />
</tree> </tree>
</field> </field>
</page> </page>
@@ -33,12 +34,15 @@
<record id="view_maintenance_equipment_filter_agreement" model="ir.ui.view"> <record id="view_maintenance_equipment_filter_agreement" model="ir.ui.view">
<field name="name">maintenance.equipment.select.agreement</field> <field name="name">maintenance.equipment.select.agreement</field>
<field name="model">maintenance.equipment</field> <field name="model">maintenance.equipment</field>
<field name="inherit_id" <field name="inherit_id" ref="maintenance.hr_equipment_view_search" />
ref="maintenance.hr_equipment_view_search"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//group" position="inside"> <xpath expr="//group" position="inside">
<filter string="Agreement" name="agreement_id" domain="[]" <filter
context="{'group_by': 'agreement_id'}"/> string="Agreement"
name="agreement_id"
domain="[]"
context="{'group_by': 'agreement_id'}"
/>
</xpath> </xpath>
</field> </field>
</record> </record>

View File

@@ -6,13 +6,14 @@
<record id="maintenance_request_form_view_agreement" model="ir.ui.view"> <record id="maintenance_request_form_view_agreement" model="ir.ui.view">
<field name="name">maintenance.request.form.agreement</field> <field name="name">maintenance.request.form.agreement</field>
<field name="model">maintenance.request</field> <field name="model">maintenance.request</field>
<field name="inherit_id" <field name="inherit_id" ref="maintenance.hr_equipment_request_view_form" />
ref="maintenance.hr_equipment_request_view_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="priority" position="before"> <field name="priority" position="before">
<field name="agreement_id"/> <field name="agreement_id" />
<field name="serviceprofile_id" <field
domain="[('agreement_id', '=', agreement_id)]"/> name="serviceprofile_id"
domain="[('agreement_id', '=', agreement_id)]"
/>
</field> </field>
</field> </field>
</record> </record>
@@ -21,12 +22,15 @@
<record id="view_maintenance_request_filter_agreement" model="ir.ui.view"> <record id="view_maintenance_request_filter_agreement" model="ir.ui.view">
<field name="name">maintenance.request.select.agreement</field> <field name="name">maintenance.request.select.agreement</field>
<field name="model">maintenance.request</field> <field name="model">maintenance.request</field>
<field name="inherit_id" <field name="inherit_id" ref="maintenance.hr_equipment_request_view_search" />
ref="maintenance.hr_equipment_request_view_search"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//group" position="inside"> <xpath expr="//group" position="inside">
<filter string="Service Profile" name="serviceprofile_id" domain="[]" <filter
context="{'group_by':'serviceprofile_id'}"/> string="Service Profile"
name="serviceprofile_id"
domain="[]"
context="{'group_by':'serviceprofile_id'}"
/>
</xpath> </xpath>
</field> </field>
</record> </record>

View File

@@ -0,0 +1 @@
../../../../agreement_maintenance

View File

@@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)