[IMP] pre-commit: first run on whole repo

This commit is contained in:
Kevin Khao
2021-11-26 18:54:38 +03:00
parent a04b8980e1
commit 167aefee13
289 changed files with 6020 additions and 4170 deletions

View File

@@ -3,12 +3,12 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
'name': 'Base Dynamic List',
'version': '14.0.1.0.0',
'category': 'Tools',
'license': 'AGPL-3',
'summary': 'Dynamic lists',
'description': """
"name": "Base Dynamic List",
"version": "14.0.1.0.0",
"category": "Tools",
"license": "AGPL-3",
"summary": "Dynamic lists",
"description": """
Base Dynamic List
=================
@@ -51,12 +51,12 @@ parent="parent_menu_xmlid"/>
Limitation: when you want to have different access rights on these lists depending on the source object, you should prefer to use dedicated objects.
""",
'author': 'Akretion',
'website': 'http://www.akretion.com',
'depends': ['base'],
'data': [
'security/ir.model.access.csv',
'views/dynamic_list.xml',
],
'installable': True,
"author": "Akretion",
"website": "https://github.com/OCA/odoo-usability",
"depends": ["base"],
"data": [
"security/ir.model.access.csv",
"views/dynamic_list.xml",
],
"installable": True,
}

View File

@@ -6,110 +6,96 @@ from odoo import api, fields, models
class DynamicList(models.Model):
_name = 'dynamic.list'
_description = 'Dynamic List (non translatable)'
_order = 'sequence, id'
_name = "dynamic.list"
_description = "Dynamic List (non translatable)"
_order = "sequence, id"
name = fields.Char(required=True)
sequence = fields.Integer(default=10)
active = fields.Boolean(default=True)
domain = fields.Selection([], string='Domain', required=True, index=True)
domain = fields.Selection([], string="Domain", required=True, index=True)
_sql_constraint = [(
'domain_name_uniq',
'unique(domain, name)',
'This entry already exists!'
)]
_sql_constraint = [
("domain_name_uniq", "unique(domain, name)", "This entry already exists!")
]
class DynamicListTranslate(models.Model):
_name = 'dynamic.list.translate'
_description = 'Translatable Dynamic List'
_order = 'sequence, id'
_name = "dynamic.list.translate"
_description = "Translatable Dynamic List"
_order = "sequence, id"
name = fields.Char(translate=True, required=True)
sequence = fields.Integer(default=10)
active = fields.Boolean(default=True)
domain = fields.Selection([], string='Domain', required=True, index=True)
domain = fields.Selection([], string="Domain", required=True, index=True)
_sql_constraint = [(
'domain_name_uniq',
'unique(domain, name)',
'This entry already exists!'
)]
_sql_constraint = [
("domain_name_uniq", "unique(domain, name)", "This entry already exists!")
]
class DynamicListCode(models.Model):
_name = 'dynamic.list.code'
_description = 'Dynamic list with code'
_order = 'sequence, id'
_name = "dynamic.list.code"
_description = "Dynamic list with code"
_order = "sequence, id"
code = fields.Char(required=True)
name = fields.Char(translate=True, required=True)
sequence = fields.Integer(default=10)
active = fields.Boolean(default=True)
domain = fields.Selection([], string='Domain', required=True, index=True)
domain = fields.Selection([], string="Domain", required=True, index=True)
_sql_constraint = [(
'domain_code_uniq',
'unique(domain, code)',
'This code already exists!'
)]
_sql_constraint = [
("domain_code_uniq", "unique(domain, code)", "This code already exists!")
]
@api.depends('code', 'name')
@api.depends("code", "name")
def name_get(self):
res = []
for rec in self:
res.append((rec.id, '[%s] %s' % (rec.code, rec.name)))
res.append((rec.id, "[%s] %s" % (rec.code, rec.name)))
return res
@api.model
def name_search(
self, name='', args=None, operator='ilike', limit=80):
def name_search(self, name="", args=None, operator="ilike", limit=80):
if args is None:
args = []
if name and operator == 'ilike':
recs = self.search(
[('code', '=', name)] + args, limit=limit)
if name and operator == "ilike":
recs = self.search([("code", "=", name)] + args, limit=limit)
if recs:
return recs.name_get()
return super().name_search(
name=name, args=args, operator=operator, limit=limit)
return super().name_search(name=name, args=args, operator=operator, limit=limit)
class DynamicListCodeTranslate(models.Model):
_name = 'dynamic.list.code.translate'
_description = 'Translatable dynamic list with code'
_order = 'sequence, id'
_name = "dynamic.list.code.translate"
_description = "Translatable dynamic list with code"
_order = "sequence, id"
code = fields.Char(required=True)
name = fields.Char(translate=True, required=True)
sequence = fields.Integer(default=10)
active = fields.Boolean(default=True)
domain = fields.Selection([], string='Domain', required=True, index=True)
domain = fields.Selection([], string="Domain", required=True, index=True)
_sql_constraint = [(
'domain_code_uniq',
'unique(domain, code)',
'This code already exists!'
)]
_sql_constraint = [
("domain_code_uniq", "unique(domain, code)", "This code already exists!")
]
@api.depends('code', 'name')
@api.depends("code", "name")
def name_get(self):
res = []
for rec in self:
res.append((rec.id, '[%s] %s' % (rec.code, rec.name)))
res.append((rec.id, "[%s] %s" % (rec.code, rec.name)))
return res
@api.model
def name_search(
self, name='', args=None, operator='ilike', limit=80):
def name_search(self, name="", args=None, operator="ilike", limit=80):
if args is None:
args = []
if name and operator == 'ilike':
recs = self.search(
[('code', '=', name)] + args, limit=limit)
if name and operator == "ilike":
recs = self.search([("code", "=", name)] + args, limit=limit)
if recs:
return recs.name_get()
return super().name_search(
name=name, args=args, operator=operator, limit=limit)
return super().name_search(name=name, args=args, operator=operator, limit=limit)

View File

@@ -1,25 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright 2020-2021 Akretion France (http://www.akretion.com/)
@author: Alexis de Lattre <alexis.delattre@akretion.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<odoo>
<menuitem id="dynamic_list_root_menu" name="Dynamic Lists" parent="base.menu_custom" sequence="100"/>
<menuitem
id="dynamic_list_root_menu"
name="Dynamic Lists"
parent="base.menu_custom"
sequence="100"
/>
<record id="dynamic_list_form" model="ir.ui.view">
<field name="model">dynamic.list</field>
<field name="arch" type="xml">
<form>
<sheet>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
<widget
name="web_ribbon"
title="Archived"
bg_color="bg-danger"
attrs="{'invisible': [('active', '=', True)]}"
/>
<group name="main">
<field name="name"/>
<field name="domain" invisible="not context.get('dynamic_list_main_view')"/>
<field name="active" invisible="1"/>
<field name="name" />
<field
name="domain"
invisible="not context.get('dynamic_list_main_view')"
/>
<field name="active" invisible="1" />
</group>
</sheet>
</form>
@@ -30,9 +42,12 @@
<field name="model">dynamic.list</field>
<field name="arch" type="xml">
<tree>
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="domain" invisible="not context.get('dynamic_list_main_view')"/>
<field name="sequence" widget="handle" />
<field name="name" />
<field
name="domain"
invisible="not context.get('dynamic_list_main_view')"
/>
</tree>
</field>
</record>
@@ -41,11 +56,19 @@
<field name="model">dynamic.list</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
<field name="name" />
<separator />
<filter
string="Archived"
name="inactive"
domain="[('active', '=', False)]"
/>
<group string="Group By" name="groupby">
<filter name="domain_groupby" string="Domain" context="{'group_by': 'domain'}"/>
<filter
name="domain_groupby"
string="Domain"
context="{'group_by': 'domain'}"
/>
</group>
</search>
</field>
@@ -55,21 +78,36 @@
<field name="name">Simple List</field>
<field name="res_model">dynamic.list</field>
<field name="view_mode">tree,form</field>
<field name="context">{'dynamic_list_main_view': True, 'search_default_domain_groupby': True}</field>
<field
name="context"
>{'dynamic_list_main_view': True, 'search_default_domain_groupby': True}</field>
</record>
<menuitem id="dynamic_list_menu" action="dynamic_list_action" parent="dynamic_list_root_menu" sequence="10"/>
<menuitem
id="dynamic_list_menu"
action="dynamic_list_action"
parent="dynamic_list_root_menu"
sequence="10"
/>
<record id="dynamic_list_translate_form" model="ir.ui.view">
<field name="model">dynamic.list.translate</field>
<field name="arch" type="xml">
<form>
<sheet>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
<widget
name="web_ribbon"
title="Archived"
bg_color="bg-danger"
attrs="{'invisible': [('active', '=', True)]}"
/>
<group name="main">
<field name="name"/>
<field name="domain" invisible="not context.get('dynamic_list_translate_main_view')"/>
<field name="active" invisible="1"/>
<field name="name" />
<field
name="domain"
invisible="not context.get('dynamic_list_translate_main_view')"
/>
<field name="active" invisible="1" />
</group>
</sheet>
</form>
@@ -80,9 +118,12 @@
<field name="model">dynamic.list.translate</field>
<field name="arch" type="xml">
<tree>
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="domain" invisible="not context.get('dynamic_list_translate_main_view')"/>
<field name="sequence" widget="handle" />
<field name="name" />
<field
name="domain"
invisible="not context.get('dynamic_list_translate_main_view')"
/>
</tree>
</field>
</record>
@@ -91,11 +132,19 @@
<field name="model">dynamic.list.translate</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
<field name="name" />
<separator />
<filter
string="Archived"
name="inactive"
domain="[('active', '=', False)]"
/>
<group string="Group By" name="groupby">
<filter name="domain_groupby" string="Domain" context="{'group_by': 'domain'}"/>
<filter
name="domain_groupby"
string="Domain"
context="{'group_by': 'domain'}"
/>
</group>
</search>
</field>
@@ -105,22 +154,37 @@
<field name="name">Translatable Simple List</field>
<field name="res_model">dynamic.list.translate</field>
<field name="view_mode">tree,form</field>
<field name="context">{'dynamic_list_translate_main_view': True, 'search_default_domain_groupby': True}</field>
<field
name="context"
>{'dynamic_list_translate_main_view': True, 'search_default_domain_groupby': True}</field>
</record>
<menuitem id="dynamic_list_translate_menu" action="dynamic_list_translate_action" parent="dynamic_list_root_menu" sequence="20"/>
<menuitem
id="dynamic_list_translate_menu"
action="dynamic_list_translate_action"
parent="dynamic_list_root_menu"
sequence="20"
/>
<record id="dynamic_list_code_form" model="ir.ui.view">
<field name="model">dynamic.list.code</field>
<field name="arch" type="xml">
<form>
<sheet>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
<widget
name="web_ribbon"
title="Archived"
bg_color="bg-danger"
attrs="{'invisible': [('active', '=', True)]}"
/>
<group name="main">
<field name="code"/>
<field name="name"/>
<field name="domain" invisible="not context.get('dynamic_list_code_main_view')"/>
<field name="active" invisible="1"/>
<field name="code" />
<field name="name" />
<field
name="domain"
invisible="not context.get('dynamic_list_code_main_view')"
/>
<field name="active" invisible="1" />
</group>
</sheet>
</form>
@@ -131,10 +195,13 @@
<field name="model">dynamic.list.code</field>
<field name="arch" type="xml">
<tree>
<field name="sequence" widget="handle"/>
<field name="code"/>
<field name="name"/>
<field name="domain" invisible="not context.get('dynamic_list_code_main_view')"/>
<field name="sequence" widget="handle" />
<field name="code" />
<field name="name" />
<field
name="domain"
invisible="not context.get('dynamic_list_code_main_view')"
/>
</tree>
</field>
</record>
@@ -143,12 +210,24 @@
<field name="model">dynamic.list.code</field>
<field name="arch" type="xml">
<search>
<field name="name" string="Name or Code" filter_domain="['|', ('name', 'ilike', self), ('code', 'ilike', self)]"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
<field name="code"/>
<field
name="name"
string="Name or Code"
filter_domain="['|', ('name', 'ilike', self), ('code', 'ilike', self)]"
/>
<separator />
<filter
string="Archived"
name="inactive"
domain="[('active', '=', False)]"
/>
<field name="code" />
<group string="Group By" name="groupby">
<filter name="domain_groupby" string="Domain" context="{'group_by': 'domain'}"/>
<filter
name="domain_groupby"
string="Domain"
context="{'group_by': 'domain'}"
/>
</group>
</search>
</field>
@@ -158,22 +237,37 @@
<field name="name">Code List</field>
<field name="res_model">dynamic.list.code</field>
<field name="view_mode">tree,form</field>
<field name="context">{'dynamic_list_code_main_view': True, 'search_default_domain_groupby': True}</field>
<field
name="context"
>{'dynamic_list_code_main_view': True, 'search_default_domain_groupby': True}</field>
</record>
<menuitem id="dynamic_list_code_menu" action="dynamic_list_code_action" parent="dynamic_list_root_menu" sequence="30"/>
<menuitem
id="dynamic_list_code_menu"
action="dynamic_list_code_action"
parent="dynamic_list_root_menu"
sequence="30"
/>
<record id="dynamic_list_code_translate_form" model="ir.ui.view">
<field name="model">dynamic.list.code.translate</field>
<field name="arch" type="xml">
<form>
<sheet>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
<widget
name="web_ribbon"
title="Archived"
bg_color="bg-danger"
attrs="{'invisible': [('active', '=', True)]}"
/>
<group name="main">
<field name="code"/>
<field name="name"/>
<field name="domain" invisible="not context.get('dynamic_list_code_translate_main_view')"/>
<field name="active" invisible="1"/>
<field name="code" />
<field name="name" />
<field
name="domain"
invisible="not context.get('dynamic_list_code_translate_main_view')"
/>
<field name="active" invisible="1" />
</group>
</sheet>
</form>
@@ -184,10 +278,13 @@
<field name="model">dynamic.list.code.translate</field>
<field name="arch" type="xml">
<tree>
<field name="sequence" widget="handle"/>
<field name="code"/>
<field name="name"/>
<field name="domain" invisible="not context.get('dynamic_list_code_translate_main_view')"/>
<field name="sequence" widget="handle" />
<field name="code" />
<field name="name" />
<field
name="domain"
invisible="not context.get('dynamic_list_code_translate_main_view')"
/>
</tree>
</field>
</record>
@@ -196,12 +293,24 @@
<field name="model">dynamic.list.code.translate</field>
<field name="arch" type="xml">
<search>
<field name="name" string="Name or Code" filter_domain="['|', ('name', 'ilike', self), ('code', 'ilike', self)]"/>
<field name="code"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
<field
name="name"
string="Name or Code"
filter_domain="['|', ('name', 'ilike', self), ('code', 'ilike', self)]"
/>
<field name="code" />
<separator />
<filter
string="Archived"
name="inactive"
domain="[('active', '=', False)]"
/>
<group string="Group By" name="groupby">
<filter name="domain_groupby" string="Domain" context="{'group_by': 'domain'}"/>
<filter
name="domain_groupby"
string="Domain"
context="{'group_by': 'domain'}"
/>
</group>
</search>
</field>
@@ -211,10 +320,17 @@
<field name="name">Translatable Code List</field>
<field name="res_model">dynamic.list.code.translate</field>
<field name="view_mode">tree,form</field>
<field name="context">{'dynamic_list_code_translate_main_view': True, 'search_default_domain_groupby': True}</field>
<field
name="context"
>{'dynamic_list_code_translate_main_view': True, 'search_default_domain_groupby': True}</field>
</record>
<menuitem id="dynamic_list_code_translate_menu" action="dynamic_list_code_translate_action" parent="dynamic_list_root_menu" sequence="40"/>
<menuitem
id="dynamic_list_code_translate_menu"
action="dynamic_list_code_translate_action"
parent="dynamic_list_root_menu"
sequence="40"
/>
</odoo>