Purpose
=======

The reified view removal makes sense from a functional point of view
as it allows to customize the res.users configuration view.

But this PR is also impossible to migrate efficiently as all the custom
groups that are not defined on the res.users model and that are not included
in the res.users view wont be displayed anymore.

It is still possible to add the group by hand in debug mode, but actually it is
not the clean workaround.

This could be done again in a better way, for example by defining a new field
like "UserGroup" and by allowing a easy customization with the Odoo Studio feature

Specification
=============

- Remove the generic methods to define the user's group computed fields
- Reintroduce the reified view
- Keep the main interesting feature of the original PR: Display the user's type
  (Internal User, Public, Portal) as a selection field.
This commit is contained in:
Yannick Tivisse
2018-09-10 14:24:38 +02:00
146 changed files with 440 additions and 1346 deletions
-1
View File
@@ -65,7 +65,6 @@ Core mechanisms for the accounting modules. To display the menuitems, install th
'views/account_dashboard_setup_bar.xml',
'wizard/account_report_tax_view.xml',
'views/report_tax.xml',
'views/res_users_views.xml',
'data/service_cron_reverse.xml',
'views/account_fiscal_year_view.xml',
],
-1
View File
@@ -15,4 +15,3 @@ from . import company
from . import res_config_settings
from . import account_cash_rounding
from . import reconciliation_widget
from . import res_users
-21
View File
@@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
has_group_warning_account = fields.Boolean(
'A warning can be set on a partner (Account)', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='account.group_warning_account')
has_group_cash_rounding = fields.Boolean(
'Allow the cash rounding management', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='account.group_cash_rounding')
group_account_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_accounting_and_finance'),
string='Accounting & Finance', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_accounting_and_finance')
@@ -10,6 +10,7 @@
<record id="group_account_user" model="res.groups">
<field name="name">Show Full Accounting Features</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record id="group_account_manager" model="res.groups">
@@ -28,10 +29,12 @@
<record id="group_warning_account" model="res.groups">
<field name="name">A warning can be set on a partner (Account)</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record id="group_cash_rounding" model="res.groups">
<field name="name">Allow the cash rounding management</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record id="group_fiscal_year" model="res.groups">
-24
View File
@@ -1,24 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.account.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">40</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_account_user'/>
</group>
<group name="technical" position="inside">
<label for="has_group_warning_account" colspan="3"/>
<div>
<field name='has_group_warning_account' colspan="1" class="oe_inline"/>
</div>
<label for="has_group_cash_rounding" colspan="3"/>
<div>
<field name='has_group_cash_rounding' colspan="1" class="oe_inline"/>
</div>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -19,7 +19,6 @@ that have no counterpart in the general financial accounts.
'security/analytic_security.xml',
'security/ir.model.access.csv',
'views/analytic_account_views.xml',
'views/res_users_views.xml',
],
'demo': [
'data/analytic_demo.xml',
-1
View File
@@ -2,4 +2,3 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import analytic_account
from . import res_users
-16
View File
@@ -1,16 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
has_group_analytic_accounting = fields.Boolean(
'Analytic Accounting', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='analytic.group_analytic_accounting')
has_group_analytic_tags = fields.Boolean(
'Analytic Accounting Tags', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='analytic.group_analytic_tags')
@@ -34,10 +34,12 @@
<record id="group_analytic_accounting" model="res.groups">
<field name="name">Analytic Accounting</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record id="group_analytic_tags" model="res.groups">
<field name="name">Analytic Accounting Tags</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
</data>
-20
View File
@@ -1,20 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.analytic.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="arch" type="xml">
<group name="technical" position="inside">
<label for="has_group_analytic_accounting" colspan="3"/>
<div>
<field name='has_group_analytic_accounting' colspan="1" class="oe_inline"/>
</div>
<label for="has_group_analytic_tags" colspan="3"/>
<div>
<field name='has_group_analytic_tags' colspan="1" class="oe_inline"/>
</div>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -43,7 +43,6 @@
'report/crm_activity_report_views.xml',
'report/crm_opportunity_report_views.xml',
'views/crm_team_views.xml',
'views/res_users_views.xml',
],
'demo': [
'data/crm_demo.xml',
+1 -4
View File
@@ -5,11 +5,8 @@ from odoo import fields, models
class Users(models.Model):
_inherit = 'res.users'
target_sales_won = fields.Integer('Won in Opportunities Target')
target_sales_done = fields.Integer('Activities Done Target')
has_group_use_lead = fields.Boolean(
'Show Lead Menu', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='crm.group_use_lead')
+1
View File
@@ -5,6 +5,7 @@
<record id="group_use_lead" model="res.groups">
<field name="name">Show Lead Menu</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record model="res.users" id="base.user_root">
-16
View File
@@ -1,16 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.crm.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="arch" type="xml">
<group name="technical" position="inside">
<label for="has_group_use_lead" colspan="3"/>
<div>
<field name='has_group_use_lead' colspan="1" class="oe_inline"/>
</div>
</group>
</field>
</record>
</odoo>
-2
View File
@@ -30,8 +30,6 @@ Key Features
'views/res_config_settings_views.xml',
'views/event_templates.xml',
'views/res_partner_views.xml',
'views/res_users_views.xml',
],
'demo': [
'data/event_demo.xml',
-1
View File
@@ -5,4 +5,3 @@ from . import event
from . import event_mail
from . import res_config_settings
from . import res_partner
from . import res_users
+1 -2
View File
@@ -3,11 +3,10 @@
from odoo import api, fields, models
class ResPartner(models.Model):
_inherit = 'res.partner'
event_count = fields.Integer("Events Count", compute='_compute_event_count', help="Number of events the partner has participated.")
event_count = fields.Integer("Events", compute='_compute_event_count', help="Number of events the partner has participated.")
def _compute_event_count(self):
if not self.user_has_groups('event.group_event_user'):
-13
View File
@@ -1,13 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
group_event_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_event_management'),
string='Events', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_event_management')
-14
View File
@@ -1,14 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.event.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">105</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_event_user'/>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -36,7 +36,6 @@ Main Features
'views/fleet_vehicle_cost_views.xml',
'views/fleet_board_view.xml',
'views/mail_activity_views.xml',
'views/res_users_views.xml',
'data/fleet_cars_data.xml',
'data/fleet_data.xml',
'data/mail_data.xml',
-1
View File
@@ -4,4 +4,3 @@
from . import fleet_vehicle
from . import fleet_vehicle_cost
from . import fleet_vehicle_model
from . import res_users
-13
View File
@@ -1,13 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
group_fleet_user = fields.Selection(
selection=lambda self: self._get_group_selection('fleet.module_fleet_category'),
string='Fleet', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='fleet.module_fleet_category')
-14
View File
@@ -1,14 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.fleet.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">100</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_fleet_user'/>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -27,7 +27,6 @@
'views/hr_views.xml',
'views/hr_templates.xml',
'views/res_config_settings_views.xml',
'views/res_users_views.xml',
'data/hr_data.xml',
],
'demo': [
-6
View File
@@ -11,12 +11,6 @@ class User(models.Model):
employee_ids = fields.One2many('hr.employee', 'user_id', string='Related employees')
group_hr_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_human_resources'),
string="Human Resources", compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_human_resources',
help='Officer: The user will be able to approve document created by employees.\nManager: The user will have access to the human resources configuration as well as statistic reports.')
@api.multi
def write(self, vals):
""" When renaming admin user, we want its new name propagated to its related employees """
-14
View File
@@ -1,14 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.hr.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">50</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name="group_hr_user"/>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -26,7 +26,6 @@ actions(Check in/Check out) performed by them.
'views/hr_department_view.xml',
'views/hr_employee_view.xml',
'views/res_config_settings_views.xml',
'views/res_users_views.xml',
],
'demo': [
'data/hr_attendance_demo.xml'
-1
View File
@@ -3,4 +3,3 @@
from . import res_config_settings
from . import hr_attendance
from . import hr_employee
from . import res_users
-23
View File
@@ -1,23 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
has_group_hr_attendance = fields.Boolean(
'Manual Attendance', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='hr_attendance.group_hr_attendance',
help='The user will gain access to the human resources attendance menu, enabling him to manage his own attendance.')
has_group_hr_attendance_use_pin = fields.Boolean(
'Enable PIN use', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='hr_attendance.group_hr_attendance_use_pin',
help='The user will have to enter his PIN to check in and out manually at the company screen.')
group_hr_attendance_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_hr_attendance'),
string='Attendance', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_hr_attendance')
@@ -34,6 +34,7 @@
<record id="group_hr_attendance_use_pin" model="res.groups">
<field name="name">Enable PIN use</field>
<field name="category_id" ref="base.module_category_hidden"/>
<field name="comment">The user will have to enter his PIN to check in and out manually at the company screen.</field>
</record>
@@ -1,24 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.hr_attendance.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">80</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_hr_attendance_user'/>
</group>
<group name="technical" position="inside">
<label for="has_group_hr_attendance" colspan="3"/>
<div>
<field name='has_group_hr_attendance' colspan="1" class="oe_inline"/>
</div>
<label for="has_group_hr_attendance_use_pin" colspan="3"/>
<div>
<field name='has_group_hr_attendance_use_pin' colspan="1" class="oe_inline"/>
</div>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -23,7 +23,6 @@ You can assign several contracts per employee.
'security/ir.model.access.csv',
'data/hr_contract_data.xml',
'views/hr_contract_views.xml',
'views/res_users_views.xml',
],
'demo': [],
'installable': True,
-1
View File
@@ -2,4 +2,3 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import hr_contract
from . import res_users
-13
View File
@@ -1,13 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
group_hr_contract_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_hr_contract'),
string='Contracts', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_hr_contract')
@@ -1,14 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.hr_contract.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">51</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_hr_contract_user'/>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -43,7 +43,6 @@ This module also uses analytic accounting and is compatible with the invoice on
'views/assets.xml',
'views/res_config_settings_views.xml',
'views/account_journal_dashboard.xml',
'views/res_users_views.xml',
],
'demo': ['data/hr_expense_demo.xml'],
'installable': True,
-1
View File
@@ -7,4 +7,3 @@ from . import hr_expense
from . import product_template
from . import res_config_settings
from . import account_journal_dashboard
from . import res_users
-13
View File
@@ -1,13 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
group_hr_expense_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_hr_expense'),
string='Expenses', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_hr_expense')
+1 -1
View File
@@ -15,7 +15,7 @@ class TestExpenseCommon(TestAccountNoChartCommon):
# The user manager is only expense manager
user_group_manager = cls.env.ref('hr_expense.group_hr_expense_manager')
cls.user_manager.write({
'groups_id': [(6, 0, [user_group_manager.id])],
'groups_id': [(6, 0, [user_group_manager.id, cls.env.ref('base.group_user').id])],
})
# create employee
@@ -1,14 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.hr_expense.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">65</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_hr_expense_user'/>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -39,7 +39,6 @@ A synchronization with an internal agenda (Meetings of the CRM module) is also p
'views/hr_leave_type_views.xml',
'views/hr_leave_allocation_views.xml',
'views/mail_activity_views.xml',
'views/res_users_views.xml',
'wizard/hr_holidays_summary_department_views.xml',
'wizard/hr_holidays_summary_employees_views.xml',
-1
View File
@@ -6,4 +6,3 @@ from . import hr
from . import hr_leave
from . import hr_leave_allocation
from . import hr_leave_type
from . import res_users
-13
View File
@@ -1,13 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
group_hr_holidays_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_hr_holidays'),
string='Leaves', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_hr_holidays')
@@ -1,14 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.hr_holidays.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">55</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_hr_holidays_user'/>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -29,7 +29,6 @@
'views/report_contributionregister_templates.xml',
'views/report_payslip_templates.xml',
'views/report_payslipdetails_templates.xml',
'views/res_users_views.xml',
],
'demo': ['data/hr_payroll_demo.xml'],
}
-1
View File
@@ -6,4 +6,3 @@ from . import hr_employee
from . import res_config_settings
from . import hr_salary_rule
from . import hr_payslip
from . import res_users
-13
View File
@@ -1,13 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
group_hr_payroll_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_hr_payroll'),
string='Payroll', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_hr_payroll')
@@ -1,14 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.hr_payroll.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">95</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_hr_payroll_user'/>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -27,7 +27,6 @@
'views/hr_department_views.xml',
'views/hr_job_views.xml',
'views/mail_activity_views.xml',
'views/res_users_views.xml',
],
'demo': [
'data/hr_recruitment_demo.xml',
-1
View File
@@ -4,4 +4,3 @@ from . import hr_employee
from . import hr_job
from . import res_config_settings
from . import calendar
from . import res_users
-13
View File
@@ -1,13 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
group_hr_recruitment_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_hr_recruitment'),
string='Recruitment', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_hr_recruitment')
@@ -1,14 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.hr_recruitment.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">60</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_hr_recruitment_user'/>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -31,7 +31,6 @@ up a management by affair.
'report/hr_timesheet_report_view.xml',
'report/report_timesheet_templates.xml',
'views/hr_views.xml',
'views/res_users_views.xml',
'data/hr_timesheet_data.xml',
],
'demo': [
-1
View File
@@ -6,4 +6,3 @@ from . import hr
from . import hr_timesheet
from . import res_config_settings
from . import project
from . import res_users
-13
View File
@@ -1,13 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
group_hr_timesheet_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_hr_timesheet'),
string='Timesheets', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_hr_timesheet')
@@ -1,14 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.hr_timesheet.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">70</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_hr_timesheet_user'/>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -25,7 +25,6 @@ Help your customers with this chat, and analyse their feedback.
"views/mail_channel_views.xml",
"views/im_livechat_channel_views.xml",
"views/im_livechat_channel_templates.xml",
"views/res_users_views.xml",
"report/im_livechat_report_channel_views.xml",
"report/im_livechat_report_operator_views.xml"
],
-1
View File
@@ -3,4 +3,3 @@ from . import im_livechat_channel
from . import ir_autovacuum
from . import mail_channel
from . import rating
from . import res_users
-14
View File
@@ -1,14 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
group_im_livechat_user = fields.Selection(
selection=lambda self: self._get_group_selection('im_livechat.module_category_im_livechat'),
string='Live Support', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='im_livechat.module_category_im_livechat',
help='User: The user will be able to join support channels.\nManager: The user will be able to delete support channels.')
@@ -1,14 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.im_livechat.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">125</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_im_livechat_user'/>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -17,7 +17,6 @@ Based on invoices.
'security/l10n_be_intrastat_security.xml',
'security/ir.model.access.csv',
'views/l10n_be_intrastat_view.xml',
'views/res_users_views.xml',
'wizard/l10n_be_intrastat_declaration_view.xml',
],
}
@@ -2,4 +2,3 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import l10n_be_intrastat
from . import res_users
@@ -1,12 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
has_group_intrastat_extended = fields.Boolean(
'Intrastat extended', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='l10n_be_intrastat.intrastat_extended')
@@ -1,16 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.l10n_be_intrastat.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="arch" type="xml">
<group name="technical" position="inside">
<label for="has_group_intrastat_extended" colspan="3"/>
<div>
<field name='has_group_intrastat_extended' colspan="1" class="oe_inline"/>
</div>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -29,7 +29,6 @@ If you want to save your employees' time and avoid them to always have coins in
'views/lunch_templates.xml',
'wizard/lucky_order_view.xml',
'views/lunch_views.xml',
'views/res_users_views.xml',
'data/lunch_data.xml',
],
'demo': ['data/lunch_demo.xml'],
-1
View File
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
from . import lunch
from . import res_users
-13
View File
@@ -1,13 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
group_lunch_user = fields.Selection(
selection=lambda self: self._get_group_selection('lunch.module_lunch_category'),
string='Lunch', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='lunch.module_lunch_category')
-14
View File
@@ -1,14 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.lunch.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">90</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_lunch_user'/>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -17,7 +17,6 @@
'views/maintenance_views.xml',
'views/maintenance_templates.xml',
'views/mail_activity_views.xml',
'views/res_users_views.xml',
'data/maintenance_cron.xml',
],
'demo': ['data/maintenance_demo.xml'],
-1
View File
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
from . import maintenance
from . import res_users
-13
View File
@@ -1,13 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
has_group_equipment_manager = fields.Boolean(
'Equipment Manager', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='maintenance.group_equipment_manager',
help='The user will be able to manage equipments.')
@@ -1,16 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.maintenance.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="arch" type="xml">
<group name="technical" position="inside">
<label for="has_group_equipment_manager" colspan="3"/>
<div>
<field name='has_group_equipment_manager' colspan="1" class="oe_inline"/>
</div>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -35,7 +35,6 @@
'views/themes_templates.xml',
'views/snippets_themes.xml',
'views/snippets_themes_options.xml',
'views/res_users_views.xml',
],
'demo': [
'data/mass_mailing_demo.xml',
-1
View File
@@ -8,4 +8,3 @@ from . import mail_thread
from . import res_config_settings
from . import mass_mailing_report
from . import link_tracker
from . import res_users
-17
View File
@@ -1,17 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
group_mass_mailing_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_mass_mailing'),
string='Mass Mailing', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_mass_mailing')
has_group_mass_mailing_campaign = fields.Boolean(
'Manage Mass Mailing Campaigns', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='mass_mailing.group_mass_mailing_campaign')
@@ -10,6 +10,7 @@
<!-- Group to manage campaigns -->
<record id="group_mass_mailing_campaign" model="res.groups">
<field name="name">Manage Mass Mailing Campaigns</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<data noupdate="1">
@@ -1,20 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.mass_mailing.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">110</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_mass_mailing_user'/>
</group>
<group name="technical" position="inside">
<label for="has_group_mass_mailing_campaign" colspan="3"/>
<div>
<field name='has_group_mass_mailing_campaign' colspan="1" class="oe_inline"/>
</div>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -35,7 +35,6 @@
'views/res_config_settings_views.xml',
'views/mrp_templates.xml',
'views/stock_scrap_views.xml',
'views/res_users_views.xml',
'report/mrp_report_views_main.xml',
'report/mrp_report_bom_structure.xml',
'report/mrp_production_templates.xml',
-1
View File
@@ -18,4 +18,3 @@ from . import stock_picking
from . import stock_production_lot
from . import stock_scrap
from . import stock_warehouse
from . import res_users
-17
View File
@@ -1,17 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
has_group_mrp_routings = fields.Boolean(
'Manage Work Order Operations', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='mrp.group_mrp_routings')
group_mrp_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_manufacturing'),
string='Manufacturing', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_manufacturing')
+1
View File
@@ -17,6 +17,7 @@
<record id="group_mrp_routings" model="res.groups">
<field name="name">Manage Work Order Operations</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
</data>
-20
View File
@@ -1,20 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.mrp.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">25</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_mrp_user'/>
</group>
<group name="technical" position="inside">
<label for="has_group_mrp_routings" colspan="3"/>
<div>
<field name='has_group_mrp_routings' colspan="1" class="oe_inline"/>
</div>
</group>
</field>
</record>
</odoo>
+1 -1
View File
@@ -35,8 +35,8 @@
'views/account_statement_view.xml',
'views/account_statement_report.xml',
'views/res_config_settings_views.xml',
'views/res_users_views.xml',
'views/res_partner_view.xml',
'views/res_users_views.xml',
'views/report_statement.xml',
'views/report_userlabel.xml',
'views/report_saledetails.xml',
-5
View File
@@ -9,11 +9,6 @@ class ResUsers(models.Model):
pos_security_pin = fields.Char(string='Security PIN', size=32, help='A Security PIN used to protect sensible functionality in the Point of Sale')
group_point_of_sale_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_point_of_sale'),
string='Point of Sale', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_point_of_sale')
@api.constrains('pos_security_pin')
def _check_pin(self):
if self.pos_security_pin and not self.pos_security_pin.isdigit():
@@ -3,12 +3,8 @@
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.view</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">130</field>
<field name="inherit_id" ref="base.view_users_form" />
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_point_of_sale_user'/>
</group>
<notebook position="inside">
<page string="Point of Sale">
<group>
-1
View File
@@ -38,7 +38,6 @@ Print product labels with barcode.
'views/product_pricelist_views.xml',
'views/res_partner_views.xml',
'views/product_template_import_templates.xml',
'views/res_users_views.xml',
'report/product_reports.xml',
'report/product_pricelist_templates.xml',
'report/product_product_templates.xml',
-1
View File
@@ -15,4 +15,3 @@ from . import product_attribute
from . import product_pricelist
from . import res_company
from . import res_partner
from . import res_users
-28
View File
@@ -1,28 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
has_group_sale_pricelist = fields.Boolean(
'Sales Pricelists', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='product.group_sale_pricelist')
has_group_pricelist_item = fields.Boolean(
'Manage Pricelist Items', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='product.group_pricelist_item')
has_group_product_pricelist = fields.Boolean(
'Pricelists On Product', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='product.group_product_pricelist')
has_group_stock_packaging = fields.Boolean(
'Manage Product Packaging', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='product.group_stock_packaging')
has_group_product_variant = fields.Boolean(
'Manage Product Variants', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='product.group_product_variant')
@@ -4,22 +4,27 @@
<record id="group_sale_pricelist" model="res.groups">
<field name="name">Sales Pricelists</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record id="group_pricelist_item" model="res.groups">
<field name="name">Manage Pricelist Items</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record id="group_product_pricelist" model="res.groups">
<field name="name">Pricelists On Product</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record id="group_stock_packaging" model="res.groups">
<field name="name">Manage Product Packaging</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record id="group_product_variant" model="res.groups">
<field name="name">Manage Product Variants</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
</data>
-32
View File
@@ -1,32 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.product.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="arch" type="xml">
<group name="technical" position="inside">
<label for="has_group_sale_pricelist" colspan="3"/>
<div>
<field name='has_group_sale_pricelist' colspan="1" class="oe_inline"/>
</div>
<label for="has_group_pricelist_item" colspan="3"/>
<div>
<field name='has_group_pricelist_item' colspan="1" class="oe_inline"/>
</div>
<label for="has_group_product_pricelist" colspan="3"/>
<div>
<field name='has_group_product_pricelist' colspan="1" class="oe_inline"/>
</div>
<label for="has_group_stock_packaging" colspan="3"/>
<div>
<field name='has_group_stock_packaging' colspan="1" class="oe_inline"/>
</div>
<label for="has_group_product_variant" colspan="3"/>
<div>
<field name='has_group_product_variant' colspan="1" class="oe_inline"/>
</div>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -31,7 +31,6 @@
'views/project_assets.xml',
'views/project_portal_templates.xml',
'views/project_rating_templates.xml',
'views/res_users_views.xml',
'data/project_mail_template_data.xml',
'data/project_data.xml',
],
-1
View File
@@ -5,4 +5,3 @@ from . import project
from . import res_config_settings
from . import res_company
from . import res_partner
from . import res_users
-21
View File
@@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
has_group_subtask_project = fields.Boolean(
'Use Subtasks', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='project.group_subtask_project')
has_group_project_rating = fields.Boolean(
'Use Rating on Project', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='project.group_project_rating')
group_project_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_project_management'),
string='Project', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_project_management')
@@ -16,10 +16,12 @@
<record id="group_subtask_project" model="res.groups">
<field name="name">Use Subtasks</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record id="group_project_rating" model="res.groups">
<field name="name">Use Rating on Project</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<data noupdate="1">
-24
View File
@@ -1,24 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.project.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">5</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_project_user'/>
</group>
<group name="technical" position="inside">
<label for="has_group_subtask_project" colspan="3"/>
<div>
<field name='has_group_subtask_project' colspan="1" class="oe_inline"/>
</div>
<label for="has_group_project_rating" colspan="3"/>
<div>
<field name='has_group_project_rating' colspan="1" class="oe_inline"/>
</div>
</group>
</field>
</record>
</odoo>
-1
View File
@@ -25,7 +25,6 @@
'report/purchase_report_views.xml',
'data/mail_template_data.xml',
'views/portal_templates.xml',
'views/res_users_views.xml',
'report/purchase_order_templates.xml',
'report/purchase_quotation_templates.xml',
],
-1
View File
@@ -7,4 +7,3 @@ from . import product
from . import res_company
from . import res_config_settings
from . import res_partner
from . import res_users
-22
View File
@@ -1,22 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
has_group_manage_vendor_price = fields.Boolean(
'Manage Vendor Price', compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='purchase.group_manage_vendor_price')
has_group_warning_purchase = fields.Boolean(
'A warning can be set on a product or a customer (Purchase)',
compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='purchase.group_warning_purchase')
group_purchase_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_purchase_management'),
string='Purchases', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_purchase_management')
@@ -17,10 +17,12 @@
<record id="group_manage_vendor_price" model="res.groups">
<field name="name">Manage Vendor Price</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record id="group_warning_purchase" model="res.groups">
<field name="name">A warning can be set on a product or a customer (Purchase)</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
</data>
-24
View File
@@ -1,24 +0,0 @@
<?xml version="1.0"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.purchase.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="priority">45</field>
<field name="arch" type="xml">
<group name="applications" position="inside">
<field name='group_purchase_user'/>
</group>
<group name="technical" position="inside">
<label for="has_group_manage_vendor_price" colspan="3"/>
<div>
<field name='has_group_manage_vendor_price' colspan="1" class="oe_inline"/>
</div>
<label for="has_group_warning_purchase" colspan="3"/>
<div>
<field name='has_group_warning_purchase' colspan="1" class="oe_inline"/>
</div>
</group>
</field>
</record>
</odoo>

Some files were not shown because too many files have changed in this diff Show More