[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:
Nisha patel
2020-03-16 10:28:35 +00:00
committed by Barad Mahendra
parent c0ccf6f103
commit e428d473c3
25 changed files with 30 additions and 30 deletions
+1 -1
View File
@@ -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"/>
+1 -1
View File
@@ -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}"/>
+1 -1
View File
@@ -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">
+1 -1
View File
@@ -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">
+1 -1
View File
@@ -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']), '&amp;', ('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"
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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">
+1 -1
View File
@@ -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"/>
+2 -2
View File
@@ -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)]"
+1 -1
View File
@@ -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"/>
+1 -1
View File
@@ -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}"/>
+1 -1
View File
@@ -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"/>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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">
+1 -1
View File
@@ -390,7 +390,7 @@
<page name='sales_purchases' string="Sales &amp; 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>