[ADD] mail.thread to contract form, generate documents attached into it

This commit is contained in:
Stepan Savelyev 2019-12-06 14:04:45 +05:00
parent d7a76d70e6
commit f2b137ef20
5 changed files with 82 additions and 55 deletions

View File

@ -26,6 +26,7 @@
# 'security/ir.model.access.csv',
# 'views/templates.xml',
'views/res_partner.xml',
'views/res_partner_contract.xml',
'views/contract_wizard.xml',
],
}

View File

@ -523,8 +523,8 @@ class ContractWizard(models.TransientModel):
# Send message with attachment to a mail.thread of the company
self.env['mail.message'].create({
"model": "res.partner",
"res_id": self.partner_id.id,
"model": "res.partner.contract",
"res_id": self.contract_id.id,
"message_type": "comment",
"attachment_ids": [(4, document_as_attachment.id, False)]
})

View File

@ -5,7 +5,7 @@ from odoo import api, fields, models
class PartnerContract(models.Model):
_name = 'res.partner.contract'
_inherit = 'mail.thread'
_inherit = ['mail.thread', 'mail.activity.mixin', 'mail.followers']
name = fields.Char(
string='Contract number',

View File

@ -1,58 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="search_res_partner_contract_filter" model="ir.ui.view">
<field name="name">res_partner_contract_search</field>
<field name="model">res.partner.contract</field>
<field name="arch" type="xml">
<search string="Search Contract">
<field name="partner_id" operator="child_of"/>
</search>
</field>
</record>
<record model="ir.ui.view" id="res_partner_contract_tree">
<field name="name">res_partner_contract</field>
<field name="model">res.partner.contract</field>
<field name="arch" type="xml">
<tree string="Contracts">
<field name="name" readonly="1"/>
<field name="date"/>
<field name="partner_id"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="res_partner_contract_form">
<field name="name">res_partner_contract</field>
<field name="model">res.partner.contract</field>
<field name="arch" type="xml">
<form string="Contract">
<!-- <header>
<button name="do_toggle_active" type="object" string="Active" class="oe_highlight" />
</header> -->
<sheet>
<group string="Contract parameters" name="single_params">
<field name="name" readonly="1"/>
<field name="date"/>
<field name="partner_id"/>
</group>
<group string="Annexed orders" name="multi_params">
<field name="order_ids" widget="many2many"/>
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.actions.act_window" id="res_partner_contract_action">
<field name="name">res_partner_contract</field>
<field name="res_model">res.partner.contract</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_partner_id': active_id}</field>
</record>
<record id="order_contract_tree" model="ir.actions.act_window">
<field name="name">Appexes</field>
<field name="res_model">sale.order</field>

View File

@ -0,0 +1,78 @@
<?xml version='1.0' encoding='utf-8'?>
<odoo>
<!-- res.partner.contract tree -->
<record id="res_partner_contract_tree" model="ir.ui.view">
<field name="name">Contracts</field>
<field name="model">res.partner.contract</field>
<field name="arch" type="xml">
<tree string="Contracts">
<field name="name"/>
<field name="date"/>
<field name="partner_id"/>
</tree>
</field>
</record>
<!-- res.partner.contract form -->
<record id="res_partner_contract_form" model="ir.ui.view">
<field name="name">Contract Form</field>
<field name="model">res.partner.contract</field>
<field name="arch" type="xml">
<form string="Contract">
<!-- <header>
<button name="do_toggle_active" type="object" string="Active" class="oe_highlight" />
</header> -->
<sheet>
<group string="Contract parameters" name="single_params">
<field name="name" readonly="1"/>
<field name="date"/>
<field name="partner_id"/>
</group>
<group string="Annexed orders" name="multi_params">
<field name="order_ids" widget="many2many"/>
</group>
</sheet>
</form>
</field>
</record>
<!-- Mail Thread -->
<!-- res.partner.contract inherit form -->
<record id="view_id" model="ir.ui.view">
<field name="name">res.partner.contract.inherit.view.form</field>
<field name="model">res.partner.contract</field>
<field name="inherit_id" ref="res_partner_contract_form"/>
<field name="arch" type="xml">
<xpath expr="//sheet" position="after">
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="activity_ids" widget="mail_activity"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</xpath>
</field>
</record>
<!-- Need it? -->
<record id="search_res_partner_contract_filter" model="ir.ui.view">
<field name="name">res_partner_contract_search</field>
<field name="model">res.partner.contract</field>
<field name="arch" type="xml">
<search string="Search Contract">
<field name="partner_id" operator="child_of"/>
</search>
</field>
</record>
<record id="res_partner_contract_action" model="ir.actions.act_window">
<field name="name">res_partner_contract</field>
<field name="res_model">res.partner.contract</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_partner_id': active_id}</field>
</record>
</odoo>