[MERGE] base: Revert https://github.com/odoo/odoo/pull/26831
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:
@@ -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',
|
||||
],
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
@@ -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',
|
||||
|
||||
@@ -2,4 +2,3 @@
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import analytic_account
|
||||
from . import res_users
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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',
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
@@ -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',
|
||||
|
||||
@@ -5,4 +5,3 @@ from . import event
|
||||
from . import event_mail
|
||||
from . import res_config_settings
|
||||
from . import res_partner
|
||||
from . import res_users
|
||||
|
||||
@@ -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'):
|
||||
|
||||
@@ -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')
|
||||
@@ -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>
|
||||
@@ -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',
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
from . import fleet_vehicle
|
||||
from . import fleet_vehicle_cost
|
||||
from . import fleet_vehicle_model
|
||||
from . import res_users
|
||||
|
||||
@@ -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')
|
||||
@@ -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>
|
||||
@@ -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': [
|
||||
|
||||
@@ -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 """
|
||||
|
||||
@@ -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>
|
||||
@@ -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'
|
||||
|
||||
@@ -3,4 +3,3 @@
|
||||
from . import res_config_settings
|
||||
from . import hr_attendance
|
||||
from . import hr_employee
|
||||
from . import res_users
|
||||
|
||||
@@ -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>
|
||||
@@ -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,
|
||||
|
||||
@@ -2,4 +2,3 @@
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import hr_contract
|
||||
from . import res_users
|
||||
|
||||
@@ -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>
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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')
|
||||
@@ -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>
|
||||
@@ -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',
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
@@ -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'],
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
@@ -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',
|
||||
|
||||
@@ -4,4 +4,3 @@ from . import hr_employee
|
||||
from . import hr_job
|
||||
from . import res_config_settings
|
||||
from . import calendar
|
||||
from . import res_users
|
||||
|
||||
@@ -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>
|
||||
@@ -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': [
|
||||
|
||||
@@ -6,4 +6,3 @@ from . import hr
|
||||
from . import hr_timesheet
|
||||
from . import res_config_settings
|
||||
from . import project
|
||||
from . import res_users
|
||||
|
||||
@@ -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>
|
||||
@@ -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"
|
||||
],
|
||||
|
||||
@@ -3,4 +3,3 @@ from . import im_livechat_channel
|
||||
from . import ir_autovacuum
|
||||
from . import mail_channel
|
||||
from . import rating
|
||||
from . import res_users
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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,4 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import lunch
|
||||
from . import res_users
|
||||
|
||||
@@ -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')
|
||||
@@ -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>
|
||||
@@ -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,4 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import maintenance
|
||||
from . import res_users
|
||||
|
||||
@@ -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>
|
||||
@@ -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',
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
@@ -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',
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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')
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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',
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -15,4 +15,3 @@ from . import product_attribute
|
||||
from . import product_pricelist
|
||||
from . import res_company
|
||||
from . import res_partner
|
||||
from . import res_users
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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',
|
||||
],
|
||||
|
||||
@@ -5,4 +5,3 @@ from . import project
|
||||
from . import res_config_settings
|
||||
from . import res_company
|
||||
from . import res_partner
|
||||
from . import res_users
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
@@ -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',
|
||||
],
|
||||
|
||||
@@ -7,4 +7,3 @@ from . import product
|
||||
from . import res_company
|
||||
from . import res_config_settings
|
||||
from . import res_partner
|
||||
from . import res_users
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user