update chatter area

This commit is contained in:
esraa 2024-10-23 14:50:56 +03:00
parent 67c2efeeb4
commit a524284e41
11 changed files with 374 additions and 320 deletions

View File

@ -10,7 +10,8 @@
<button name="action_approve" string="Approve" states="draft" type="object"/>
<button name="action_cancel" string="Cancel Reservation" states="approve" type="object"
confirm="Are you sure you want to cancel the reservation?!. Please be aware if you cancel the unit will be return Available"/>
<button name="action_create_sale" string="Create Sale Request" attrs="{'invisible':[('sale_creation', '!=',True)]}" type="object"/>
<button name="action_create_sale" string="Create Sale Request"
attrs="{'invisible':[('sale_creation', '!=',True)]}" type="object"/>
<field name="state" widget="statusbar"/>
</header>
<sheet>
@ -31,22 +32,29 @@
<field name="name" readonly="1" force_save="1"/>
<field name="search_type" readonly="1" required="1"/>
<field name="property_id" attrs="{'readonly':[('state', '!=', 'draft')]}" required="1"/>
<field name="unit_id" domain="[('property_id', '=', property_id),('state', '=', 'available'),('action_type', '=', 'sale')]" attrs="{'readonly':[('state', '!=', 'draft')],'invisible':[('search_type', '!=', 'unit')],'required':[('search_type', '=', 'unit')]}"/>
<field name="marketer_user_id" attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="unit_id"
domain="[('property_id', '=', property_id),('state', '=', 'available'),('action_type', '=', 'sale')]"
attrs="{'readonly':[('state', '!=', 'draft')],'invisible':[('search_type', '!=', 'unit')],'required':[('search_type', '=', 'unit')]}"/>
<field name="marketer_user_id"
attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="user_id" readonly="1" force_save="1"/>
</group>
<group>
<field name="request_date" readonly="1" force_save="1"/>
<field name="end_date" attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="end_date"
attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="total_days" readonly="1" force_save="1"/>
<field name="agent_id" attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="agent_id"
attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="sale_creation" invisible="1"/>
</group>
</group>
<group string="Client Information" name="client">
<group>
<field name="title" attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="partner_id" attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="title"
attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="partner_id"
attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="phone" readonly="1" force_save="1"/>
<field name="date_of_birth" readonly="1" force_save="1"/>
<field name="email" readonly="1" force_save="1"/>
@ -56,30 +64,41 @@
<field name="mobile" readonly="1" force_save="1"/>
<field name="country_id" readonly="1" force_save="1"/>
<field name="street" readonly="1" force_save="1"/>
<field name="identification_number" />
<field name="tax_exemption" attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="identification_number"/>
<field name="tax_exemption"
attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
</group>
</group>
<group string="Finance Details" name="finance">
<group>
<field name="reserve_type" attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="payment_type" attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="client_check_number" attrs="{'readonly':[('state', '!=', 'draft')],'invisible':[('payment_type', '!=', 'bank')],'required':[('payment_type', '=', 'bank')]}"/>
<field name="reserve_type"
attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="payment_type"
attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="client_check_number"
attrs="{'readonly':[('state', '!=', 'draft')],'invisible':[('payment_type', '!=', 'bank')],'required':[('payment_type', '=', 'bank')]}"/>
<field name="price" readonly="1" force_save="1"/>
<field name="final_price" attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="final_price"
attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="total_price" readonly="1" force_save="1"/>
</group>
<group>
<field name="bank_id" attrs="{'readonly':[('state', '!=', 'draft')],'invisible':[('payment_type', '!=', 'bank')],'required':[('payment_type', '=', 'bank')]}"/>
<field name="payment_amount" attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="client_check" attrs="{'readonly':[('state', '!=', 'draft')],'invisible':[('payment_type', '!=', 'bank')],'required':[('payment_type', '=', 'bank')]}"/>
<field name="receive_check" attrs="{'readonly':[('state', '!=', 'draft')],'invisible':[('payment_type', '!=', 'bank')],'required':[('payment_type', '=', 'bank')]}"/>
<field name="discount" attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="bank_id"
attrs="{'readonly':[('state', '!=', 'draft')],'invisible':[('payment_type', '!=', 'bank')],'required':[('payment_type', '=', 'bank')]}"/>
<field name="payment_amount"
attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="client_check"
attrs="{'readonly':[('state', '!=', 'draft')],'invisible':[('payment_type', '!=', 'bank')],'required':[('payment_type', '=', 'bank')]}"/>
<field name="receive_check"
attrs="{'readonly':[('state', '!=', 'draft')],'invisible':[('payment_type', '!=', 'bank')],'required':[('payment_type', '=', 'bank')]}"/>
<field name="discount"
attrs="{'readonly':[('state', '!=', 'draft')],'required':[('state', '=', 'draft')]}"/>
<field name="move_id" readonly="1"/>
</group>
</group>
</sheet>
<div class="oe_chatter">
<field name="activity_ids" widget="mail_activity"/>
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
<field name="message_ids" widget="mail_thread"/>
</div>

View File

@ -9,7 +9,8 @@
<field name="view_mode">tree,form</field>
<field name="domain">[('is_engineering_office','=',True)]</field>
<field name="context">{'search_default_is_engineering_office': True,
'default_is_engineering_office': True}</field>
'default_is_engineering_office': True}
</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a Engineering Office.
@ -31,19 +32,22 @@
<group>
<group>
<field name="project_id" readonly="1"/>
<field name="engineering_office_id" readonly="1" domain="[('is_engineering_office','=',True)]"/>
<field name="engineering_office_id" readonly="1"
domain="[('is_engineering_office','=',True)]"/>
</group>
<group>
<field name="name"/>
<field name="percent" /><h5>-</h5>
<field name="percent"/>
<h5>-</h5>
<field name="due_date" required="1"/>
<field name="paid" readonly="1"/>
<field name="paid_date" readonly="1"/>
<field name="amount" />
<field name="amount"/>
</group>
</group>
</sheet>
<div class="oe_chatter">
<field name="activity_ids" widget="mail_activity"/>
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
</div>
@ -74,8 +78,8 @@
<field name="arch" type="xml">
<search string="Search Engineer Office/Project">
<field name="name"/>
<filter name="engineering_office_id" />
<filter name="project_id" />
<filter name="engineering_office_id"/>
<filter name="project_id"/>
<group expand="0" string="Group By...">
<filter string="Engineering Office Name" name="engineering_office_id" domain="[]"
context="{'group_by':'engineering_office_id'}"/>
@ -105,7 +109,6 @@
action="view_engineering_office_line_action" sequence="2"/>
</odoo>

View File

@ -13,12 +13,12 @@
<group>
<field name="project_id" readonly="1"/>
<field name="work_item_id"/>
<field name="total_estimated_qty" sum="Total Amount" readonly="1" />
<field name="total_estimated_qty" sum="Total Amount" readonly="1"/>
</group>
<group>
<field name="name" />
<field name="name"/>
<field name="quantity" sum="Qty"/>
<field name="uom_id" />
<field name="uom_id"/>
<field name="unit_price" sum="Unit"/>
</group>
</group>
@ -26,6 +26,7 @@
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
<field name="activity_ids" widget="mail_activity"/>
</div>
</form>
</field>

View File

@ -33,7 +33,8 @@
<field name="date" attrs="{'readonly':[('state','!=','draft')]}" required="1"/>
<field name="contract_state" attrs="{'readonly':[('state','!=','draft')]}"
required="1"/>
<field name="contract_id" domain="[('state', '=', 'confirm')]" attrs="{'readonly':[('state','!=','draft')]}" required="1"/>
<field name="contract_id" domain="[('state', '=', 'confirm')]"
attrs="{'readonly':[('state','!=','draft')]}" required="1"/>
<field name="property_id" attrs="{'readonly':[('state','!=','draft')]}" readonly="1"/>
<field name="unit_ids" widget="many2many_tags" readonly="1"/>
<field name="evacuation_date" attrs="{'readonly':[('state','!=','draft')]}"
@ -107,6 +108,7 @@
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
<field name="activity_ids" widget="mail_activity"/>
</div>
</form>
</field>
@ -147,7 +149,6 @@
</record>
<!-- ################################# Maintenance Part ##################################################### -->
<record id="property_management_maintenance_form" model="ir.ui.view">
<field name="name">Property Maintenance</field>
@ -205,8 +206,11 @@
<field name="total_amount" readonly="1"/>
<field name="company_id" readonly="1"/>
<field name="user_id" readonly="1"/>
<field name="invoice_id" readonly="1" attrs="{'invisible':[('invoice_id', '=',False)]}"/>
<field name="request_id" context="{'form_view_ref': 'request_from_warehouse.view_order_form_inhert_request'}" readonly="1" attrs="{'invisible':[('request_id', '=',False)]}"/>
<field name="invoice_id" readonly="1"
attrs="{'invisible':[('invoice_id', '=',False)]}"/>
<field name="request_id"
context="{'form_view_ref': 'request_from_warehouse.view_order_form_inhert_request'}"
readonly="1" attrs="{'invisible':[('request_id', '=',False)]}"/>
</group>
</group>
<group>
@ -232,6 +236,7 @@
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
<field name="activity_ids" widget="mail_activity"/>
</div>
</form>
</field>
@ -275,7 +280,5 @@
</record>
</data>
</odoo>

View File

@ -59,6 +59,7 @@
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
<field name="message_ids" widget="mail_thread"/>
<field name="activity_ids" widget="mail_activity"/>
</div>
</form>
</field>
@ -68,7 +69,9 @@
<field name="name">Rent Payment List</field>
<field name="model">rent.payment</field>
<field name="arch" type="xml">
<tree create="false" decoration-warning="state == 'due'" decoration-info="state == 'invoice'" decoration-danger="state == 'cancel'" decoration-muted="state == 'canceled'" decoration-success="state == 'paid'">
<tree create="false" decoration-warning="state == 'due'" decoration-info="state == 'invoice'"
decoration-danger="state == 'cancel'" decoration-muted="state == 'canceled'"
decoration-success="state == 'paid'">
<field name="name"/>
<field name="code"/>
<field name="contract_id"/>
@ -103,9 +106,12 @@
<filter string="Not due" name="not_due_payment" domain="[('state','=','draft')]"/>
<filter string="Paid" name="paid_payment" domain="[('state','=','paid')]"/>
<filter string="Cancelled" name="cancel_payment" domain="[('state','=','cancel')]"/>
<filter string="Collected From Company" name="collected_from_company" domain="[('collected_from_company','=',True)]"/>
<filter string="Invoice Commission" name="invoice_commission_id" domain="[('collected_from_company','=',True),('invoice_commission_id','!=',False)]"/>
<filter string="NOT Invoice Commission " name="no_invoice_commission_id" domain="[('collected_from_company','=',True),('invoice_commission_id','=',False)]"/>
<filter string="Collected From Company" name="collected_from_company"
domain="[('collected_from_company','=',True)]"/>
<filter string="Invoice Commission" name="invoice_commission_id"
domain="[('collected_from_company','=',True),('invoice_commission_id','!=',False)]"/>
<filter string="NOT Invoice Commission " name="no_invoice_commission_id"
domain="[('collected_from_company','=',True),('invoice_commission_id','=',False)]"/>
<separator/>
<filter name="payment_state" string="Not Canceled Payment" domain="[('state','!=','cancel')]"/>
@ -113,7 +119,8 @@
<group expand="0" string="Group By">
<filter string="Status" name="state" domain="[]" context="{'group_by': 'state'}"/>
<filter string="Collected From Company" name="collected_from_company" domain="[]" context="{'group_by': 'collected_from_company'}"/>
<filter string="Collected From Company" name="collected_from_company" domain="[]"
context="{'group_by': 'collected_from_company'}"/>
<filter string="Renter" name="partner_id" domain="[]" context="{'group_by': 'partner_id'}"/>
<filter name="group_contract_id" string="Rental Contract" domain="[]"
context="{'group_by':'contract_id'}"/>
@ -125,7 +132,5 @@
</record>
</data>
</odoo>

View File

@ -1,15 +1,16 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<data>
<!-- Inherit Form View to Modify it -->
<!-- Inherit Form View to Modify it -->
<record id="contact_extend" model="ir.ui.view">
<field name="name">contact.extend.partner</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='category_id']" position="after">
<field groups='property_management.group_property_user,property_management.group_property_manager' name="is_tenant"/>
<!-- <field name="is_property_evaluator"/>-->
<field groups='property_management.group_property_user,property_management.group_property_manager'
name="is_tenant"/>
<!-- <field name="is_property_evaluator"/>-->
</xpath>
</field>
</record>
@ -22,12 +23,13 @@
<field name="phone"/>
<field name="email"/>
<field name="is_tenant"/>
<filter string="Tenants" name="tenant_filter" domain="[('is_tenant', '=', True)]" context="{'group_by': 'is_tenant'}"/>
<filter string="Tenants" name="tenant_filter" domain="[('is_tenant', '=', True)]"
context="{'group_by': 'is_tenant'}"/>
</search>
</field>
</record>
<!-- ########################################################################################################################## -->
<!-- ########################################################################################################################## -->
<record id="rental_contract_form_view" model="ir.ui.view">
<field name="name">Rental Contract</field>
<field name="model">rental.contract</field>
@ -64,7 +66,8 @@
</header>
<sheet>
<field name="is_today_end_date" invisible="1"/> <!-- Add this line -->
<widget name="web_ribbon" title="Expired" bg_color="bg-danger" attrs="{'invisible': [('is_today_end_date', '!=', True)]}"/>
<widget name="web_ribbon" title="Expired" bg_color="bg-danger"
attrs="{'invisible': [('is_today_end_date', '!=', True)]}"/>
<h1>
<field name="seq" readonly="1"/>
</h1>
@ -163,10 +166,12 @@
<field name="identification_issue_date" readonly="1"/>
<field name="identification_expiry_date" readonly="1"/>
</group>
<button name="check_line" attrs="{'invisible':[('state', '!=', 'draft')]}" icon="fa-gears" type="object" string="Generate Payment"/>
<button name="check_line" attrs="{'invisible':[('state', '!=', 'draft')]}" icon="fa-gears"
type="object" string="Generate Payment"/>
<notebook>
<page string="Rent Payment">
<field name="annual_raise_ids" context="{'contract_id': active_id}" attrs="{'readonly':[('state', '!=', 'draft')]}">
<field name="annual_raise_ids" context="{'contract_id': active_id}"
attrs="{'readonly':[('state', '!=', 'draft')]}">
<tree editable="bottom">
<field name="year" required="1"/>
<field name="raise_type" required="1"/>
@ -249,10 +254,14 @@
</page>
<page string="Accounting">
<group col="4" colspan="2">
<field name="journal_id" attrs="{'readonly':[('state','!=','draft')]}" required="1"/>
<field name="debit_account_id" attrs="{'readonly':[('state','!=','draft')]}" required="1"/>
<field name="accrued_account_id" attrs="{'readonly':[('state','!=','draft')]}" required="1" options="{'no_create': True, 'no_open': True}"/>
<field name="revenue_account_id" attrs="{'readonly':[('state','!=','draft')]}" required="1"/>
<field name="journal_id" attrs="{'readonly':[('state','!=','draft')]}"
required="1"/>
<field name="debit_account_id" attrs="{'readonly':[('state','!=','draft')]}"
required="1"/>
<field name="accrued_account_id" attrs="{'readonly':[('state','!=','draft')]}"
required="1" options="{'no_create': True, 'no_open': True}"/>
<field name="revenue_account_id" attrs="{'readonly':[('state','!=','draft')]}"
required="1"/>
</group>
</page>
<page string="Note">
@ -262,6 +271,7 @@
</notebook>
</sheet>
<div class="oe_chatter">
<field name="activity_ids" widget="mail_activity"/>
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
<field name="message_ids" widget="mail_thread"/>
</div>
@ -312,7 +322,8 @@
<filter string="Draft" name="draft" domain="[('state','=','draft')]"/>
<separator/>
<filter name="expired_contracts" string="Expired" domain="[('date_to', '&lt;', context_today().strftime('%Y-%m-%d'))]"/>
<filter name="expired_contracts" string="Expired"
domain="[('date_to', '&lt;', context_today().strftime('%Y-%m-%d'))]"/>
<separator/>
<filter string="Review" name="review" domain="[('state','in',('submit','review') )]"/>
<separator/>

View File

@ -17,10 +17,12 @@
/>
<button name="action_reset" groups="property_management.group_property_manager" string="Set To Draft" type="object" states="submit,review,cancel"
<button name="action_reset" groups="property_management.group_property_manager"
string="Set To Draft" type="object" states="submit,review,cancel"
/>
<button name="action_cancel" groups="property_management.group_property_manager" string="Cancel" type="object" states="submit,review,draft"
<button name="action_cancel" groups="property_management.group_property_manager" string="Cancel"
type="object" states="submit,review,draft"
/>
<field name="state" widget="statusbar"/>
@ -32,7 +34,8 @@
<group>
<group string="Contract Info">
<field name="contract_id" domain="[('state','=', 'confirm')]" required="1" attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="contract_id" domain="[('state','=', 'confirm')]" required="1"
attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="date_from" readonly="1" attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="date_to" readonly="1" attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="date" required="1" attrs="{'readonly':[('state','!=','draft')]}"/>
@ -54,6 +57,7 @@
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
<field name="message_ids" widget="mail_thread"/>
<field name="activity_ids" widget="mail_activity"/>
</div>
</form>
</field>
@ -107,5 +111,4 @@
</record>
</odoo>

View File

@ -25,7 +25,8 @@
<field name="arch" type="xml">
<form>
<header>
<button string="Get Satisfied Properties" name="get_satisfied_property" type="object" states="draft"/>
<button string="Get Satisfied Properties" name="get_satisfied_property" type="object"
states="draft"/>
<button name="action_register" string="Register" states="draft" type="object"/>
<button name="action_approve" string="Approve" states="register" type="object"/>
<button name="action_draft" string="Set To Draft" states="register" type="object"/>
@ -37,10 +38,12 @@
<group>
<group>
<field name="name" readonly="1" force_save="1"/>
<field name="action_type" required="1" />
<field name="action_type" required="1"/>
<field name="search_type" required="1"/>
<field name="property_type_ids" widget="many2many_tags" attrs="{'invisible': [('search_type', '!=', 'property')], 'required': [('search_type', '=', 'property')]}"/>
<field name="unit_type_id" attrs="{'invisible': [('search_type', '!=', 'unit')], 'required': [('search_type', '=', 'unit')]}"/>
<field name="property_type_ids" widget="many2many_tags"
attrs="{'invisible': [('search_type', '!=', 'property')], 'required': [('search_type', '=', 'property')]}"/>
<field name="unit_type_id"
attrs="{'invisible': [('search_type', '!=', 'unit')], 'required': [('search_type', '=', 'unit')]}"/>
<field name="city_id"/>
<field name="user_id" readonly="1" force_save="1"/>
<field name="district" widget="many2many_tags" domain="[('city_id','=',city_id)]"/>
@ -94,20 +97,21 @@
<field name="client_line_ids">
<tree create="false" delete="false" editable="top">
<field name="property_id" readonly="1" domain="[('name','=',False)]"/>
<field name="request_id" invisible="1" />
<field name="unit_id" readonly="1" />
<field name="request_id" invisible="1"/>
<field name="unit_id" readonly="1"/>
<field name="property_city" readonly="1"/>
<field name="property_district" readonly="1"/>
<field name="price" readonly="1" />
<field name="size" readonly="1" />
<field name="room" readonly="1" />
<button name="create_sale_request" type="object" string="Create Sale Request" class="oe_highlight"
<field name="price" readonly="1"/>
<field name="size" readonly="1"/>
<field name="room" readonly="1"/>
<button name="create_sale_request" type="object" string="Create Sale Request"
class="oe_highlight"
attrs="{'invisible':['|','|',('flag', '=', True),('state','!=','register'),('parent.action_type','!=','sale')]}"/>
<field name="flag" readonly="1" force_save="1"/>
<field name="sale_contract_id" readonly="1"
attrs="{'invisible': [('sale_contract_id', '=', False)]}"/>
<field name="state" invisible="1" />
<field name="search_type" invisible="1" />
<field name="state" invisible="1"/>
<field name="search_type" invisible="1"/>
</tree>
</field>
</page>
@ -116,6 +120,7 @@
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
<field name="message_ids" widget="mail_thread"/>
<field name="activity_ids" widget="mail_activity"/>
</div>
</form>
</field>
@ -133,13 +138,14 @@
<menuitem id="menu_real_estate_marketing"
name="Real Estate Marketing"
sequence="4"
groups="real_estate_marketing.group_marketer_normal_user" web_icon="real_estate_marketing,static/description/icon.png"/>
groups="real_estate_marketing.group_marketer_normal_user"
web_icon="real_estate_marketing,static/description/icon.png"/>
<menuitem id="menu_client_requirement" sequence="1"
parent="menu_real_estate_marketing"
name="Clients Requirement"
action="open_view_clients_requirement"
groups="real_estate_marketing.group_marketer_normal_user" />
groups="real_estate_marketing.group_marketer_normal_user"/>
</odoo>

View File

@ -108,6 +108,7 @@
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
<field name="activity_ids" widget="mail_activity"/>
</div>
</form>
</field>

View File

@ -70,6 +70,7 @@
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
<field name="activity_ids" widget="mail_activity"/>
</div>
</form>
</field>

View File

@ -48,6 +48,7 @@
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
<field name="activity_ids" widget="mail_activity"/>
</div>
</form>
</field>