[IMP] various: Allow to select only internal users on m2x field with res.users
Purpose of this task is to prevent users from setting portal users on internal documents by mistake, and preventing noise and performance issues resulting from loading all the portal users in those fields. This commit fixes internal many2x fields to res.users which are now restricted to internal users by setting domain (share=false) on form view. closes odoo/odoo#47553 Taskid: 2172779 Related: https://github.com/odoo/enterprise/pull/9204 Related: odoo/enterprise#9204 Closes: #47553 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit is contained in:
committed by
Barad Mahendra
parent
c0ccf6f103
commit
e428d473c3
@@ -974,7 +974,7 @@
|
||||
<group string="Invoice"
|
||||
name="sale_info_group"
|
||||
attrs="{'invisible': [('move_type', 'not in', ('out_invoice', 'out_refund'))]}">
|
||||
<field name="invoice_user_id"/>
|
||||
<field name="invoice_user_id" domain="[('share', '=', False)]"/>
|
||||
<field name="invoice_origin" force_save="1" string="Source Document"
|
||||
attrs="{'invisible': [('invoice_origin', '=', False)]}"/>
|
||||
</group>
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<group name="lead_info" string="Lead Information">
|
||||
<field name="lead_type" groups="crm.group_use_lead" invisible="context.get('is_modal')" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
||||
<field name="team_id" attrs="{'readonly': [('state', '!=', 'draft')]}" kanban_view_ref="%(sales_team.crm_team_view_kanban)s"/>
|
||||
<field name="user_id" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
||||
<field name="user_id" attrs="{'readonly': [('state', '!=', 'draft')]}" domain="[('share', '=', False)]"/>
|
||||
<field name="tag_ids" widget="many2many_tags" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
<field name="lead_type" groups="crm.group_use_lead"/>
|
||||
<field name="suffix"/>
|
||||
<field name="team_id" kanban_view_ref="%(sales_team.crm_team_view_kanban)s"/>
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="tag_ids" widget="many2many_tags"/>
|
||||
|
||||
@@ -223,7 +223,7 @@
|
||||
context="{'show_address': 1}"
|
||||
options='{"always_reload": True}'/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="event_type_id" options="{'no_create':True}"/>
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<group string="Contract" name="contract">
|
||||
<field name="manager_id"/>
|
||||
<field name="manager_id" domain="[('share', '=', False)]"/>
|
||||
<field name="first_contract_date"/>
|
||||
</group>
|
||||
<group string="Model">
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
<page name="hr_settings" string="HR Settings" groups="hr.group_hr_user">
|
||||
<group>
|
||||
<group string='Status' name="active_group">
|
||||
<field name="user_id" string="Related User"/>
|
||||
<field name="user_id" string="Related User" domain="[('share', '=', False)]"/>
|
||||
<field name="job_id"/>
|
||||
</group>
|
||||
<group string="Attendance" name="identification_group">
|
||||
|
||||
@@ -522,7 +522,7 @@
|
||||
<group name="employee_details">
|
||||
<field name="employee_id" context="{'default_company_id': company_id}"/>
|
||||
<field name="payment_mode"/>
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
<field name="address_id" invisible="1" context="{'default_company_id': company_id}"/>
|
||||
<field name="department_id" invisible="1" context="{'default_company_id': company_id}"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<group name="allocation_validation" string="Allocation Requests">
|
||||
<field name="allocation_type" widget="radio" force_save="1"/>
|
||||
<field name="allocation_validation_type" string="Approval" widget="radio" attrs="{'invisible': [('allocation_type', '!=', 'fixed_allocation')]}"/>
|
||||
<field name="responsible_id"
|
||||
<field name="responsible_id" domain="[('share', '=', False)]"
|
||||
attrs="{
|
||||
'invisible': [('leave_validation_type', 'in', ['no_validation', 'manager']), '|', ('allocation_type', '=', 'no'), ('allocation_validation_type', '=', 'manager')],
|
||||
'required': ['|', ('leave_validation_type', 'in', ['hr', 'both']), '&', ('allocation_type', 'in', ['fixed_allocation', 'fixed']), ('allocation_validation_type', 'in', ['hr', 'both'])]}"/>
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
</group>
|
||||
<group>
|
||||
<field name="categ_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}"/>
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
<field name="priority" widget="priority"/>
|
||||
<field name="medium_id" groups="base.group_no_one" />
|
||||
<field name="source_id"/>
|
||||
@@ -460,7 +460,7 @@
|
||||
</div>
|
||||
</xpath>
|
||||
<field name="no_of_recruitment" position="after">
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
</field>
|
||||
<div name="button_box" position="inside">
|
||||
<button class="oe_stat_button"
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<field name="email" attrs="{'required': [('send_by', '=', 'mail')]}"/>
|
||||
<field name="phone" attrs="{'required': [('send_by', '=', 'phone')]}"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="responsible_id" attrs="{'required': [('send_by', '=', 'mail')]}" groups="base.group_no_one"/>
|
||||
<field name="responsible_id" attrs="{'required': [('send_by', '=', 'mail')]}" groups="base.group_no_one" domain="[('share', '=', False)]"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<group name="activity_details">
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="category"/>
|
||||
<field name="default_user_id" widget="selection"/>
|
||||
<field name="default_user_id" widget="selection" domain="[('share', '=', False)]"/>
|
||||
<field name="res_model_id" groups="base.group_no_one"/>
|
||||
<field name="res_model_change" invisible="1"/>
|
||||
<field name="initial_res_model_id" invisible="1"/>
|
||||
|
||||
@@ -357,7 +357,7 @@
|
||||
</group>
|
||||
<group>
|
||||
<field name="maintenance_team_id" attrs="{'required': [('period', '!=', 0)]}" context="{'default_company_id':company_id}"/>
|
||||
<field name="technician_user_id"/>
|
||||
<field name="technician_user_id" domain="[('share', '=', False)]"/>
|
||||
<field name="assign_date" groups="base.group_no_one"/>
|
||||
<field name="scrap_date" groups="base.group_no_one"/>
|
||||
<field name="location" string="Used in location"/>
|
||||
@@ -601,7 +601,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<field name="technician_user_id" class="oe_inline"/>
|
||||
<field name="technician_user_id" class="oe_inline" domain="[('share', '=', False)]"/>
|
||||
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}" class="oe_inline"/>
|
||||
</group>
|
||||
<group name="group_alias" attrs="{'invisible': [('alias_domain', '=', False)]}" groups="base.group_no_one">
|
||||
@@ -764,7 +764,7 @@
|
||||
<group>
|
||||
<group>
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="member_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}"/>
|
||||
<field name="member_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('share', '=', False)]"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
|
||||
@@ -781,7 +781,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Maintenance Team" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="member_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}"/>
|
||||
<field name="member_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('share', '=', False)]"/>
|
||||
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
<group>
|
||||
<field name="id" invisible="1"/>
|
||||
<field name="name" required="False" groups="base.group_no_one" string="Name"/>
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
<field name="email_from" attrs="{'readonly': [('state', 'in', ('sending', 'done'))]}"/>
|
||||
<label for="reply_to"/>
|
||||
<div name="reply_to_details">
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
<field name="delay_alert_date" invisible="1"/>
|
||||
<field string=" " name="json_popover" widget="stock_rescheduling_popover" attrs="{'invisible': [('delay_alert_date', '=', False)]}"/>
|
||||
</div>
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
<field name="origin"/>
|
||||
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}" attrs="{'readonly': [('state', '!=', 'draft')]}" force_save="1"/>
|
||||
<field name="show_final_lots" invisible="1"/>
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
<group>
|
||||
<group>
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="user_id" string="Project Manager" attrs="{'readonly':[('active','=',False)]}"/>
|
||||
<field name="user_id" string="Project Manager" attrs="{'readonly':[('active','=',False)]}" domain="[('share', '=', False)]"/>
|
||||
<field name="partner_id" string="Customer"/>
|
||||
</group>
|
||||
<group>
|
||||
@@ -508,7 +508,7 @@
|
||||
<field name="project_id" required="1" domain="[('active', '=', True), ('company_id', '=', company_id)]"/>
|
||||
<field name="user_id"
|
||||
class="o_task_user_field"
|
||||
options='{"no_open": True}'/>
|
||||
options='{"no_open": True}' domain="[('share', '=', False)]"/>
|
||||
<field
|
||||
name="parent_id"
|
||||
domain="[('parent_id', '=', False)]"
|
||||
|
||||
@@ -335,7 +335,7 @@
|
||||
</div>
|
||||
</group>
|
||||
<group name="other_info">
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
<field name="invoice_status" attrs="{'invisible': [('state', 'in', ('draft', 'sent', 'to approve', 'cancel'))]}"/>
|
||||
<field name="payment_term_id" attrs="{'readonly': ['|', ('invoice_status','=', 'invoiced'), ('state', '=', 'done')]}" options="{'no_create': True}"/>
|
||||
<field name="fiscal_position_id" options="{'no_create': True}" attrs="{'readonly': ['|', ('invoice_status','=', 'invoiced'), ('state', '=', 'done')]}"/>
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
<group>
|
||||
<group>
|
||||
<field name="is_quantity_copy" invisible='1'/>
|
||||
<field name="user_id" attrs="{'readonly': [('state','not in',('draft','in_progress','open'))]}"/>
|
||||
<field name="user_id" attrs="{'readonly': [('state','not in',('draft','in_progress','open'))]}" domain="[('share', '=', False)]"/>
|
||||
<field name="type_id" attrs="{'readonly': [('state','!=','draft')]}" widget="selection"/>
|
||||
<field name="vendor_id" context="{'res_partner_search_mode': 'supplier'}" attrs="{'required': [('is_quantity_copy', '=', 'none')], 'readonly': [('state', 'in', ['ongoing','done'])]}"/>
|
||||
<field name="currency_id" groups="base.group_multi_currency"/>
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
<field name="lot_id" context="{'default_product_id': product_id, 'default_company_id': company_id}" groups="stock.group_production_lot" attrs="{'required':[('tracking', 'in', ['serial', 'lot'])], 'invisible': [('tracking', 'not in', ['serial', 'lot'])], 'readonly': [('state', '=', 'done')]}"/>
|
||||
<field name="partner_id" widget="res_partner_many2one" attrs="{'required':[('invoice_method','!=','none')]}" context="{'res_partner_search_mode': 'customer', 'show_vat': True}"/>
|
||||
<field name="address_id" groups="sale.group_delivery_invoice_address"/>
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="location_id" options="{'no_create': True}"/>
|
||||
|
||||
@@ -646,7 +646,7 @@
|
||||
<page string="Other Info" name="other_information">
|
||||
<group>
|
||||
<group name="sales_person" string="Sales">
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
<field name="team_id" kanban_view_ref="%(sales_team.crm_team_view_kanban)s" options="{'no_create': True}"/>
|
||||
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
|
||||
<field name="require_signature"/>
|
||||
|
||||
@@ -377,7 +377,7 @@
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//group[@name='group_lots_and_weight']" position="inside">
|
||||
<field name="responsible_id"/>
|
||||
<field name="responsible_id" domain="[('share', '=', False)]"/>
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
|
||||
@@ -404,7 +404,7 @@
|
||||
<field name="picking_type_code" invisible="1"/>
|
||||
<field name="move_type" attrs="{'invisible': [('picking_type_code', '=', 'incoming')]}"/>
|
||||
<field name="priority" widget="priority"/>
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
<field name="group_id" groups="base.group_no_one"/>
|
||||
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}" force_save="1"/>
|
||||
</group>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</div>
|
||||
<group id="top-group">
|
||||
<field name="name" string="Campaign Name"/>
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}"/>
|
||||
</group>
|
||||
<notebook>
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
</group>
|
||||
<group>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
<field name="event_id"/>
|
||||
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}"/>
|
||||
</group>
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
<group>
|
||||
<group name="course" string="Course">
|
||||
<field string="Type" name="channel_type" widget="radio"/>
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
<field name="website_id" options="{'no_create': True}" groups="website.group_multi_website"/>
|
||||
</group>
|
||||
<group name="access_rights" string="Access Rights">
|
||||
|
||||
@@ -390,7 +390,7 @@
|
||||
<page name='sales_purchases' string="Sales & Purchase">
|
||||
<group name="container_row_2">
|
||||
<group string="Sales" name="sale" priority="1">
|
||||
<field name="user_id"/>
|
||||
<field name="user_id" domain="[('share', '=', False)]"/>
|
||||
</group>
|
||||
<group string="Purchase" name="purchase" priority="2">
|
||||
</group>
|
||||
|
||||
Reference in New Issue
Block a user