odoo-addon-odoo-repository 16.0.1.3.0.13__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo/addons/odoo_repository/README.rst +81 -0
- odoo/addons/odoo_repository/__init__.py +2 -0
- odoo/addons/odoo_repository/__manifest__.py +58 -0
- odoo/addons/odoo_repository/controllers/__init__.py +1 -0
- odoo/addons/odoo_repository/controllers/main.py +32 -0
- odoo/addons/odoo_repository/data/ir_cron.xml +38 -0
- odoo/addons/odoo_repository/data/odoo.repository.csv +216 -0
- odoo/addons/odoo_repository/data/odoo_branch.xml +82 -0
- odoo/addons/odoo_repository/data/odoo_module.xml +16 -0
- odoo/addons/odoo_repository/data/odoo_repository.xml +71 -0
- odoo/addons/odoo_repository/data/odoo_repository_addons_path.xml +59 -0
- odoo/addons/odoo_repository/data/odoo_repository_org.xml +14 -0
- odoo/addons/odoo_repository/data/queue_job.xml +56 -0
- odoo/addons/odoo_repository/lib/__init__.py +0 -0
- odoo/addons/odoo_repository/lib/scanner.py +1302 -0
- odoo/addons/odoo_repository/migrations/16.0.1.1.0/post-migration.py +26 -0
- odoo/addons/odoo_repository/migrations/16.0.1.2.0/pre-migration.py +43 -0
- odoo/addons/odoo_repository/migrations/16.0.1.3.0/post-migration.py +19 -0
- odoo/addons/odoo_repository/models/__init__.py +18 -0
- odoo/addons/odoo_repository/models/authentication_token.py +12 -0
- odoo/addons/odoo_repository/models/odoo_author.py +16 -0
- odoo/addons/odoo_repository/models/odoo_branch.py +111 -0
- odoo/addons/odoo_repository/models/odoo_license.py +16 -0
- odoo/addons/odoo_repository/models/odoo_maintainer.py +31 -0
- odoo/addons/odoo_repository/models/odoo_module.py +24 -0
- odoo/addons/odoo_repository/models/odoo_module_branch.py +873 -0
- odoo/addons/odoo_repository/models/odoo_module_branch_version.py +123 -0
- odoo/addons/odoo_repository/models/odoo_module_category.py +15 -0
- odoo/addons/odoo_repository/models/odoo_module_dev_status.py +15 -0
- odoo/addons/odoo_repository/models/odoo_python_dependency.py +16 -0
- odoo/addons/odoo_repository/models/odoo_repository.py +664 -0
- odoo/addons/odoo_repository/models/odoo_repository_addons_path.py +40 -0
- odoo/addons/odoo_repository/models/odoo_repository_branch.py +98 -0
- odoo/addons/odoo_repository/models/odoo_repository_org.py +23 -0
- odoo/addons/odoo_repository/models/res_company.py +23 -0
- odoo/addons/odoo_repository/models/res_config_settings.py +23 -0
- odoo/addons/odoo_repository/models/ssh_key.py +12 -0
- odoo/addons/odoo_repository/readme/CONTRIBUTORS.rst +2 -0
- odoo/addons/odoo_repository/readme/DESCRIPTION.rst +1 -0
- odoo/addons/odoo_repository/security/ir.model.access.csv +27 -0
- odoo/addons/odoo_repository/security/res_groups.xml +25 -0
- odoo/addons/odoo_repository/static/description/README +4 -0
- odoo/addons/odoo_repository/static/description/icon.png +0 -0
- odoo/addons/odoo_repository/static/description/index.html +430 -0
- odoo/addons/odoo_repository/tests/__init__.py +6 -0
- odoo/addons/odoo_repository/tests/common.py +162 -0
- odoo/addons/odoo_repository/tests/test_base_scanner.py +214 -0
- odoo/addons/odoo_repository/tests/test_odoo_module_branch.py +97 -0
- odoo/addons/odoo_repository/tests/test_odoo_repository_scan.py +242 -0
- odoo/addons/odoo_repository/tests/test_repository_scanner.py +215 -0
- odoo/addons/odoo_repository/tests/test_sync_node.py +55 -0
- odoo/addons/odoo_repository/tests/test_utils.py +25 -0
- odoo/addons/odoo_repository/utils/__init__.py +0 -0
- odoo/addons/odoo_repository/utils/github.py +30 -0
- odoo/addons/odoo_repository/utils/module.py +25 -0
- odoo/addons/odoo_repository/utils/scanner.py +90 -0
- odoo/addons/odoo_repository/views/authentication_token.xml +63 -0
- odoo/addons/odoo_repository/views/menu.xml +38 -0
- odoo/addons/odoo_repository/views/odoo_author.xml +54 -0
- odoo/addons/odoo_repository/views/odoo_branch.xml +84 -0
- odoo/addons/odoo_repository/views/odoo_license.xml +40 -0
- odoo/addons/odoo_repository/views/odoo_maintainer.xml +69 -0
- odoo/addons/odoo_repository/views/odoo_module.xml +90 -0
- odoo/addons/odoo_repository/views/odoo_module_branch.xml +353 -0
- odoo/addons/odoo_repository/views/odoo_module_category.xml +40 -0
- odoo/addons/odoo_repository/views/odoo_module_dev_status.xml +40 -0
- odoo/addons/odoo_repository/views/odoo_python_dependency.xml +40 -0
- odoo/addons/odoo_repository/views/odoo_repository.xml +165 -0
- odoo/addons/odoo_repository/views/odoo_repository_addons_path.xml +49 -0
- odoo/addons/odoo_repository/views/odoo_repository_branch.xml +60 -0
- odoo/addons/odoo_repository/views/odoo_repository_org.xml +54 -0
- odoo/addons/odoo_repository/views/res_config_settings.xml +123 -0
- odoo/addons/odoo_repository/views/ssh_key.xml +63 -0
- odoo_addon_odoo_repository-16.0.1.3.0.13.dist-info/METADATA +100 -0
- odoo_addon_odoo_repository-16.0.1.3.0.13.dist-info/RECORD +77 -0
- odoo_addon_odoo_repository-16.0.1.3.0.13.dist-info/WHEEL +5 -0
- odoo_addon_odoo_repository-16.0.1.3.0.13.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!-- Copyright 2023 Camptocamp SA
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
|
4
|
+
<odoo>
|
|
5
|
+
|
|
6
|
+
<record id="odoo_branch_view_form" model="ir.ui.view">
|
|
7
|
+
<field name="name">odoo.branch.form</field>
|
|
8
|
+
<field name="model">odoo.branch</field>
|
|
9
|
+
<field name="arch" type="xml">
|
|
10
|
+
<form>
|
|
11
|
+
<header>
|
|
12
|
+
<button
|
|
13
|
+
name="action_scan"
|
|
14
|
+
type="object"
|
|
15
|
+
string="Scan"
|
|
16
|
+
class="btn-primary"
|
|
17
|
+
groups="odoo_repository.group_odoo_repository_manager"
|
|
18
|
+
/>
|
|
19
|
+
<button
|
|
20
|
+
name="action_force_scan"
|
|
21
|
+
type="object"
|
|
22
|
+
string="Force Scan"
|
|
23
|
+
class="btn-secondary"
|
|
24
|
+
confirm="This operation will restart the scan from the beginning. Are you sure?"
|
|
25
|
+
groups="odoo_repository.group_odoo_repository_manager"
|
|
26
|
+
/>
|
|
27
|
+
</header>
|
|
28
|
+
<sheet>
|
|
29
|
+
<group>
|
|
30
|
+
<field
|
|
31
|
+
name="name"
|
|
32
|
+
attrs="{'readonly': [('repository_branch_ids', '!=', [])]}"
|
|
33
|
+
/>
|
|
34
|
+
</group>
|
|
35
|
+
<group name="repositories" string="Repositories">
|
|
36
|
+
<field name="repository_branch_ids" nolabel="1" colspan="2">
|
|
37
|
+
<tree>
|
|
38
|
+
<field name="repository_id" />
|
|
39
|
+
<field name="module_ids" />
|
|
40
|
+
<field name="last_scanned_commit" />
|
|
41
|
+
</tree>
|
|
42
|
+
</field>
|
|
43
|
+
</group>
|
|
44
|
+
</sheet>
|
|
45
|
+
</form>
|
|
46
|
+
</field>
|
|
47
|
+
</record>
|
|
48
|
+
|
|
49
|
+
<record id="odoo_branch_view_tree" model="ir.ui.view">
|
|
50
|
+
<field name="name">odoo.branch.tree</field>
|
|
51
|
+
<field name="model">odoo.branch</field>
|
|
52
|
+
<field name="arch" type="xml">
|
|
53
|
+
<tree>
|
|
54
|
+
<field name="name" />
|
|
55
|
+
</tree>
|
|
56
|
+
</field>
|
|
57
|
+
</record>
|
|
58
|
+
|
|
59
|
+
<record id="odoo_branch_view_search" model="ir.ui.view">
|
|
60
|
+
<field name="name">odoo.branch.search</field>
|
|
61
|
+
<field name="model">odoo.branch</field>
|
|
62
|
+
<field name="type">search</field>
|
|
63
|
+
<field name="arch" type="xml">
|
|
64
|
+
<search>
|
|
65
|
+
<field name="name" />
|
|
66
|
+
<filter name="archived" string="Archived" domain="[('active', '=', False)]" />
|
|
67
|
+
</search>
|
|
68
|
+
</field>
|
|
69
|
+
</record>
|
|
70
|
+
|
|
71
|
+
<record id="odoo_branch_action" model="ir.actions.act_window">
|
|
72
|
+
<field name="name">Versions</field>
|
|
73
|
+
<field name="type">ir.actions.act_window</field>
|
|
74
|
+
<field name="res_model">odoo.branch</field>
|
|
75
|
+
<field name="view_id" ref="odoo_branch_view_tree" />
|
|
76
|
+
</record>
|
|
77
|
+
|
|
78
|
+
<menuitem
|
|
79
|
+
id="odoo_branch_menu"
|
|
80
|
+
parent="config_odoo_repository_menu"
|
|
81
|
+
action="odoo_branch_action"
|
|
82
|
+
/>
|
|
83
|
+
|
|
84
|
+
</odoo>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!-- Copyright 2023 Camptocamp SA
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
|
4
|
+
<odoo>
|
|
5
|
+
|
|
6
|
+
<record id="odoo_license_view_tree" model="ir.ui.view">
|
|
7
|
+
<field name="name">odoo.license.tree</field>
|
|
8
|
+
<field name="model">odoo.license</field>
|
|
9
|
+
<field name="arch" type="xml">
|
|
10
|
+
<tree>
|
|
11
|
+
<field name="name" />
|
|
12
|
+
</tree>
|
|
13
|
+
</field>
|
|
14
|
+
</record>
|
|
15
|
+
|
|
16
|
+
<record id="odoo_license_view_search" model="ir.ui.view">
|
|
17
|
+
<field name="name">odoo.license.search</field>
|
|
18
|
+
<field name="model">odoo.license</field>
|
|
19
|
+
<field name="type">search</field>
|
|
20
|
+
<field name="arch" type="xml">
|
|
21
|
+
<search>
|
|
22
|
+
<field name="name" />
|
|
23
|
+
</search>
|
|
24
|
+
</field>
|
|
25
|
+
</record>
|
|
26
|
+
|
|
27
|
+
<record id="odoo_license_action" model="ir.actions.act_window">
|
|
28
|
+
<field name="name">Licenses</field>
|
|
29
|
+
<field name="type">ir.actions.act_window</field>
|
|
30
|
+
<field name="res_model">odoo.license</field>
|
|
31
|
+
<field name="view_id" ref="odoo_license_view_tree" />
|
|
32
|
+
</record>
|
|
33
|
+
|
|
34
|
+
<menuitem
|
|
35
|
+
id="odoo_license_menu"
|
|
36
|
+
parent="misc_odoo_repository_menu"
|
|
37
|
+
action="odoo_license_action"
|
|
38
|
+
/>
|
|
39
|
+
|
|
40
|
+
</odoo>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!-- Copyright 2023 Camptocamp SA
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
|
4
|
+
<odoo>
|
|
5
|
+
|
|
6
|
+
<record id="odoo_maintainer_view_form" model="ir.ui.view">
|
|
7
|
+
<field name="name">odoo.maintainer.form</field>
|
|
8
|
+
<field name="model">odoo.maintainer</field>
|
|
9
|
+
<field name="arch" type="xml">
|
|
10
|
+
<form>
|
|
11
|
+
<sheet>
|
|
12
|
+
<group>
|
|
13
|
+
<field name="name" />
|
|
14
|
+
</group>
|
|
15
|
+
<group string="Modules maintained">
|
|
16
|
+
<field name="module_branch_ids" nolabel="1" colspan="2">
|
|
17
|
+
<tree>
|
|
18
|
+
<field name="repository_branch_id" />
|
|
19
|
+
<field name="version" />
|
|
20
|
+
<field name="author_ids" widget="many2many_tags" />
|
|
21
|
+
<field name="license_id" />
|
|
22
|
+
<field name="sloc_python" />
|
|
23
|
+
<field name="sloc_xml" />
|
|
24
|
+
<field name="sloc_js" />
|
|
25
|
+
<field name="sloc_css" />
|
|
26
|
+
</tree>
|
|
27
|
+
</field>
|
|
28
|
+
</group>
|
|
29
|
+
</sheet>
|
|
30
|
+
</form>
|
|
31
|
+
</field>
|
|
32
|
+
</record>
|
|
33
|
+
|
|
34
|
+
<record id="odoo_maintainer_view_tree" model="ir.ui.view">
|
|
35
|
+
<field name="name">odoo.maintainer.tree</field>
|
|
36
|
+
<field name="model">odoo.maintainer</field>
|
|
37
|
+
<field name="arch" type="xml">
|
|
38
|
+
<tree>
|
|
39
|
+
<field name="name" />
|
|
40
|
+
<field name="github_url" widget="url" />
|
|
41
|
+
</tree>
|
|
42
|
+
</field>
|
|
43
|
+
</record>
|
|
44
|
+
|
|
45
|
+
<record id="odoo_maintainer_view_search" model="ir.ui.view">
|
|
46
|
+
<field name="name">odoo.maintainer.search</field>
|
|
47
|
+
<field name="model">odoo.maintainer</field>
|
|
48
|
+
<field name="type">search</field>
|
|
49
|
+
<field name="arch" type="xml">
|
|
50
|
+
<search>
|
|
51
|
+
<field name="name" />
|
|
52
|
+
</search>
|
|
53
|
+
</field>
|
|
54
|
+
</record>
|
|
55
|
+
|
|
56
|
+
<record id="odoo_maintainer_action" model="ir.actions.act_window">
|
|
57
|
+
<field name="name">Maintainers</field>
|
|
58
|
+
<field name="type">ir.actions.act_window</field>
|
|
59
|
+
<field name="res_model">odoo.maintainer</field>
|
|
60
|
+
<field name="view_id" ref="odoo_maintainer_view_tree" />
|
|
61
|
+
</record>
|
|
62
|
+
|
|
63
|
+
<menuitem
|
|
64
|
+
id="odoo_maintainer_menu"
|
|
65
|
+
parent="misc_odoo_repository_menu"
|
|
66
|
+
action="odoo_maintainer_action"
|
|
67
|
+
/>
|
|
68
|
+
|
|
69
|
+
</odoo>
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!-- Copyright 2023 Camptocamp SA
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
|
4
|
+
<odoo>
|
|
5
|
+
|
|
6
|
+
<record id="odoo_module_view_form" model="ir.ui.view">
|
|
7
|
+
<field name="name">odoo.module.form</field>
|
|
8
|
+
<field name="model">odoo.module</field>
|
|
9
|
+
<field name="arch" type="xml">
|
|
10
|
+
<form>
|
|
11
|
+
<sheet>
|
|
12
|
+
<div
|
|
13
|
+
class="alert alert-info"
|
|
14
|
+
role="alert"
|
|
15
|
+
attrs="{'invisible': [('blacklisted', '=', False)]}"
|
|
16
|
+
>
|
|
17
|
+
<p class="my-0">
|
|
18
|
+
<span
|
|
19
|
+
>You can only create blacklisted module names. The scanner is responsible to create technical module names automatically, but will ignore blacklisted modules.</span>
|
|
20
|
+
</p>
|
|
21
|
+
</div>
|
|
22
|
+
<group>
|
|
23
|
+
<field name="name" />
|
|
24
|
+
<field name="blacklisted" force_save="1" />
|
|
25
|
+
</group>
|
|
26
|
+
<group
|
|
27
|
+
name="branch_modules"
|
|
28
|
+
string="Exist on repositories/branches:"
|
|
29
|
+
attrs="{'invisible': [('blacklisted', '=', True)]}"
|
|
30
|
+
>
|
|
31
|
+
<field name="module_branch_ids" nolabel="1" colspan="2">
|
|
32
|
+
<tree>
|
|
33
|
+
<field name="repository_branch_id" />
|
|
34
|
+
<field name="version" />
|
|
35
|
+
<field name="author_ids" widget="many2many_tags" />
|
|
36
|
+
<field name="license_id" />
|
|
37
|
+
<field name="sloc_python" />
|
|
38
|
+
<field name="sloc_xml" />
|
|
39
|
+
<field name="sloc_js" />
|
|
40
|
+
<field name="sloc_css" />
|
|
41
|
+
</tree>
|
|
42
|
+
</field>
|
|
43
|
+
</group>
|
|
44
|
+
</sheet>
|
|
45
|
+
</form>
|
|
46
|
+
</field>
|
|
47
|
+
</record>
|
|
48
|
+
|
|
49
|
+
<record id="odoo_module_view_tree" model="ir.ui.view">
|
|
50
|
+
<field name="name">odoo.module.tree</field>
|
|
51
|
+
<field name="model">odoo.module</field>
|
|
52
|
+
<field name="arch" type="xml">
|
|
53
|
+
<tree>
|
|
54
|
+
<field name="name" />
|
|
55
|
+
<field name="blacklisted" />
|
|
56
|
+
</tree>
|
|
57
|
+
</field>
|
|
58
|
+
</record>
|
|
59
|
+
|
|
60
|
+
<record id="odoo_module_view_search" model="ir.ui.view">
|
|
61
|
+
<field name="name">odoo.module.search</field>
|
|
62
|
+
<field name="model">odoo.module</field>
|
|
63
|
+
<field name="type">search</field>
|
|
64
|
+
<field name="arch" type="xml">
|
|
65
|
+
<search>
|
|
66
|
+
<field name="name" />
|
|
67
|
+
<filter
|
|
68
|
+
name="blacklisted"
|
|
69
|
+
string="Blacklisted"
|
|
70
|
+
domain="[('blacklisted', '=', True)]"
|
|
71
|
+
/>
|
|
72
|
+
</search>
|
|
73
|
+
</field>
|
|
74
|
+
</record>
|
|
75
|
+
|
|
76
|
+
<record id="odoo_module_action" model="ir.actions.act_window">
|
|
77
|
+
<field name="name">Technical Module Names</field>
|
|
78
|
+
<field name="type">ir.actions.act_window</field>
|
|
79
|
+
<field name="res_model">odoo.module</field>
|
|
80
|
+
<field name="view_id" ref="odoo_module_view_tree" />
|
|
81
|
+
<field name="context">{"default_blacklisted": 1}</field>
|
|
82
|
+
</record>
|
|
83
|
+
|
|
84
|
+
<menuitem
|
|
85
|
+
id="odoo_module_menu"
|
|
86
|
+
parent="misc_odoo_repository_menu"
|
|
87
|
+
action="odoo_module_action"
|
|
88
|
+
/>
|
|
89
|
+
|
|
90
|
+
</odoo>
|
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!-- Copyright 2023 Camptocamp SA
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
|
4
|
+
<odoo>
|
|
5
|
+
|
|
6
|
+
<record id="odoo_module_branch_view_form" model="ir.ui.view">
|
|
7
|
+
<field name="name">odoo.module.branch.form</field>
|
|
8
|
+
<field name="model">odoo.module.branch</field>
|
|
9
|
+
<field name="arch" type="xml">
|
|
10
|
+
<form>
|
|
11
|
+
<sheet>
|
|
12
|
+
<div class="oe_button_box" name="button_box">
|
|
13
|
+
<button
|
|
14
|
+
name="open_recursive_dependencies"
|
|
15
|
+
type="object"
|
|
16
|
+
class="oe_stat_button"
|
|
17
|
+
icon="fa-sitemap icon"
|
|
18
|
+
>
|
|
19
|
+
<span>Dependencies</span>
|
|
20
|
+
</button>
|
|
21
|
+
</div>
|
|
22
|
+
<group>
|
|
23
|
+
<group name="manifest" string="Manifest">
|
|
24
|
+
<field name="title" readonly="1" />
|
|
25
|
+
<field name="summary" readonly="1" />
|
|
26
|
+
<field name="author_ids" widget="many2many_tags" readonly="1" />
|
|
27
|
+
<field name="maintainer_ids" widget="many2many_tags" readonly="1" />
|
|
28
|
+
<field name="category_id" options="{'no_open': True}" readonly="1" />
|
|
29
|
+
<field name="license_id" options="{'no_open': True}" readonly="1" />
|
|
30
|
+
<field name="version" readonly="1" />
|
|
31
|
+
<field
|
|
32
|
+
name="development_status_id"
|
|
33
|
+
options="{'no_open': True}"
|
|
34
|
+
readonly="1"
|
|
35
|
+
/>
|
|
36
|
+
<field name="application" readonly="1" />
|
|
37
|
+
<field name="installable" readonly="1" />
|
|
38
|
+
<field name="auto_install" readonly="1" />
|
|
39
|
+
</group>
|
|
40
|
+
<group col="1">
|
|
41
|
+
<group name="others" string="Others">
|
|
42
|
+
<field name="module_id" readonly="1" />
|
|
43
|
+
<field name="branch_id" options="{'no_open': True}" readonly="1" />
|
|
44
|
+
<field name="repository_branch_id" readonly="1" />
|
|
45
|
+
<field
|
|
46
|
+
name="pr_url"
|
|
47
|
+
widget="url"
|
|
48
|
+
attrs="{'invisible': [('pr_url', '=', False)]}"
|
|
49
|
+
/>
|
|
50
|
+
<field
|
|
51
|
+
name="url"
|
|
52
|
+
widget="url"
|
|
53
|
+
attrs="{'invisible': [('pr_url', '=', True)]}"
|
|
54
|
+
/>
|
|
55
|
+
<field name="last_scanned_commit" readonly="1" />
|
|
56
|
+
<field name="removed" readonly="1" />
|
|
57
|
+
<field name="is_standard" readonly="1" />
|
|
58
|
+
<field name="is_enterprise" readonly="1" />
|
|
59
|
+
<field name="is_community" readonly="1" />
|
|
60
|
+
<field name="global_dependency_level" />
|
|
61
|
+
<field name="non_std_dependency_level" />
|
|
62
|
+
</group>
|
|
63
|
+
<group name="code" string="Code analysis">
|
|
64
|
+
<field name="sloc_python" readonly="1" />
|
|
65
|
+
<field name="sloc_xml" readonly="1" />
|
|
66
|
+
<field name="sloc_js" readonly="1" />
|
|
67
|
+
<field name="sloc_css" readonly="1" />
|
|
68
|
+
</group>
|
|
69
|
+
</group>
|
|
70
|
+
</group>
|
|
71
|
+
<notebook>
|
|
72
|
+
<page name="versions" string="Versions">
|
|
73
|
+
<field name="version_ids" nolabel="1" readonly="1">
|
|
74
|
+
<tree>
|
|
75
|
+
<field name="name" />
|
|
76
|
+
<field name="commit" />
|
|
77
|
+
<field name="migration_script_url" widget="url" />
|
|
78
|
+
</tree>
|
|
79
|
+
</field>
|
|
80
|
+
</page>
|
|
81
|
+
<page name="dependencies" string="Dependencies">
|
|
82
|
+
<field name="dependency_ids" nolabel="1" readonly="1">
|
|
83
|
+
<tree>
|
|
84
|
+
<field name="module_id" />
|
|
85
|
+
<field name="repository_branch_id" />
|
|
86
|
+
<field name="version" />
|
|
87
|
+
<field name="license_id" optional="show" />
|
|
88
|
+
<field name="development_status_id" optional="show" />
|
|
89
|
+
<field name="global_dependency_level" optional="show" />
|
|
90
|
+
<field name="non_std_dependency_level" optional="show" />
|
|
91
|
+
</tree>
|
|
92
|
+
</field>
|
|
93
|
+
</page>
|
|
94
|
+
<page name="reverse_dependencies" string="Reverse Dependencies">
|
|
95
|
+
<field name="reverse_dependency_ids" nolabel="1" readonly="1">
|
|
96
|
+
<tree>
|
|
97
|
+
<field name="module_id" />
|
|
98
|
+
<field name="repository_branch_id" />
|
|
99
|
+
<field name="version" />
|
|
100
|
+
<field name="license_id" optional="show" />
|
|
101
|
+
<field name="development_status_id" optional="show" />
|
|
102
|
+
<field name="global_dependency_level" optional="show" />
|
|
103
|
+
<field name="non_std_dependency_level" optional="show" />
|
|
104
|
+
</tree>
|
|
105
|
+
</field>
|
|
106
|
+
</page>
|
|
107
|
+
<page name="python_dependency_ids" string="Python Dependencies">
|
|
108
|
+
<field name="python_dependency_ids" nolabel="1" readonly="1" />
|
|
109
|
+
</page>
|
|
110
|
+
</notebook>
|
|
111
|
+
</sheet>
|
|
112
|
+
</form>
|
|
113
|
+
</field>
|
|
114
|
+
</record>
|
|
115
|
+
|
|
116
|
+
<record id="odoo_module_branch_view_tree" model="ir.ui.view">
|
|
117
|
+
<field name="name">odoo.module.branch.tree</field>
|
|
118
|
+
<field name="model">odoo.module.branch</field>
|
|
119
|
+
<field name="arch" type="xml">
|
|
120
|
+
<tree>
|
|
121
|
+
<field name="module_id" />
|
|
122
|
+
<field name="repository_id" optional="show" />
|
|
123
|
+
<field name="branch_id" optional="show" />
|
|
124
|
+
<field name="is_standard" optional="hide" />
|
|
125
|
+
<field name="is_enterprise" optional="hide" />
|
|
126
|
+
<field name="title" optional="show" />
|
|
127
|
+
<field name="summary" optional="hide" />
|
|
128
|
+
<field name="author_ids" widget="many2many_tags" optional="show" />
|
|
129
|
+
<field name="category_id" optional="hide" />
|
|
130
|
+
<field name="maintainer_ids" widget="many2many_tags" optional="hide" />
|
|
131
|
+
<field name="dependency_ids" optional="hide" />
|
|
132
|
+
<field name="license_id" optional="show" />
|
|
133
|
+
<field name="version" optional="hide" />
|
|
134
|
+
<field name="development_status_id" optional="hide" />
|
|
135
|
+
<field name="python_dependency_ids" optional="hide" />
|
|
136
|
+
<field name="application" optional="hide" />
|
|
137
|
+
<field name="installable" optional="hide" />
|
|
138
|
+
<field name="auto_install" optional="hide" />
|
|
139
|
+
<field name="last_scanned_commit" optional="hide" />
|
|
140
|
+
<field name="pr_url" optional="hide" widget="url" />
|
|
141
|
+
<field name="global_dependency_level" optional="hide" />
|
|
142
|
+
<field name="non_std_dependency_level" optional="hide" />
|
|
143
|
+
<field name="sloc_python" sum="Python" optional="show" />
|
|
144
|
+
<field name="sloc_xml" sum="XML" optional="show" />
|
|
145
|
+
<field name="sloc_js" sum="JS" optional="show" />
|
|
146
|
+
<field name="sloc_css" sum="CSS" optional="show" />
|
|
147
|
+
</tree>
|
|
148
|
+
</field>
|
|
149
|
+
</record>
|
|
150
|
+
|
|
151
|
+
<record id="odoo_module_branch_view_tree_recursive_dependencies" model="ir.ui.view">
|
|
152
|
+
<field name="name">odoo.module.branch.tree.recursive_dependencies</field>
|
|
153
|
+
<field name="model">odoo.module.branch</field>
|
|
154
|
+
<field name="inherit_id" ref="odoo_module_branch_view_tree" />
|
|
155
|
+
<field name="mode">primary</field>
|
|
156
|
+
<field name="priority">100</field>
|
|
157
|
+
<field name="arch" type="xml">
|
|
158
|
+
<tree position="attributes">
|
|
159
|
+
<attribute
|
|
160
|
+
name="default_order"
|
|
161
|
+
>global_dependency_level, non_std_dependency_level, module_name</attribute>
|
|
162
|
+
</tree>
|
|
163
|
+
<field name="application" position="attributes">
|
|
164
|
+
<attribute name="optional">show</attribute>
|
|
165
|
+
</field>
|
|
166
|
+
<field name="global_dependency_level" position="attributes">
|
|
167
|
+
<attribute name="optional">show</attribute>
|
|
168
|
+
</field>
|
|
169
|
+
<field name="non_std_dependency_level" position="attributes">
|
|
170
|
+
<attribute name="optional">show</attribute>
|
|
171
|
+
</field>
|
|
172
|
+
</field>
|
|
173
|
+
</record>
|
|
174
|
+
|
|
175
|
+
<record id="odoo_module_branch_view_search" model="ir.ui.view">
|
|
176
|
+
<field name="name">odoo.module.branch.search</field>
|
|
177
|
+
<field name="model">odoo.module.branch</field>
|
|
178
|
+
<field name="type">search</field>
|
|
179
|
+
<field name="arch" type="xml">
|
|
180
|
+
<search>
|
|
181
|
+
<field name="module_id" />
|
|
182
|
+
<field name="repository_id" />
|
|
183
|
+
<field name="org_id" />
|
|
184
|
+
<field name="branch_id" />
|
|
185
|
+
<field name="title" />
|
|
186
|
+
<field name="author_ids" />
|
|
187
|
+
<field name="maintainer_ids" />
|
|
188
|
+
<field name="dependency_ids" />
|
|
189
|
+
<field name="license_id" />
|
|
190
|
+
<separator />
|
|
191
|
+
<filter
|
|
192
|
+
name="is_standard"
|
|
193
|
+
string="Standard"
|
|
194
|
+
domain="[('is_standard', '=', True)]"
|
|
195
|
+
/>
|
|
196
|
+
<filter
|
|
197
|
+
name="is_enterprise"
|
|
198
|
+
string="Enterprise"
|
|
199
|
+
domain="[('is_enterprise', '=', True)]"
|
|
200
|
+
/>
|
|
201
|
+
<filter
|
|
202
|
+
name="is_community"
|
|
203
|
+
string="Community Contribution"
|
|
204
|
+
domain="[('is_community', '=', True)]"
|
|
205
|
+
/>
|
|
206
|
+
<separator />
|
|
207
|
+
<filter
|
|
208
|
+
name="application"
|
|
209
|
+
string="Application"
|
|
210
|
+
domain="[('application', '=', True)]"
|
|
211
|
+
/>
|
|
212
|
+
<filter
|
|
213
|
+
name="installable"
|
|
214
|
+
string="Installable"
|
|
215
|
+
domain="[('installable', '=', True)]"
|
|
216
|
+
/>
|
|
217
|
+
<filter
|
|
218
|
+
name="auto_install"
|
|
219
|
+
string="Auto-Install"
|
|
220
|
+
domain="[('auto_install', '=', True)]"
|
|
221
|
+
/>
|
|
222
|
+
<separator />
|
|
223
|
+
<filter
|
|
224
|
+
name="unmerged_pr"
|
|
225
|
+
string="Unmerged"
|
|
226
|
+
domain="[('pr_url', '!=', False)]"
|
|
227
|
+
/>
|
|
228
|
+
<filter
|
|
229
|
+
name="with_repository"
|
|
230
|
+
string="With Repository"
|
|
231
|
+
domain="[('repository_branch_id', '!=', False)]"
|
|
232
|
+
/>
|
|
233
|
+
<filter
|
|
234
|
+
name="without_repository"
|
|
235
|
+
string="Without Repository"
|
|
236
|
+
domain="[('repository_branch_id', '=', False)]"
|
|
237
|
+
/>
|
|
238
|
+
<group expand="0" name="group_by" string="Group By">
|
|
239
|
+
<filter
|
|
240
|
+
name="group_by_org_id"
|
|
241
|
+
string="Organization"
|
|
242
|
+
context="{'group_by': 'org_id'}"
|
|
243
|
+
/>
|
|
244
|
+
<filter
|
|
245
|
+
name="group_by_repository_id"
|
|
246
|
+
string="Repository"
|
|
247
|
+
context="{'group_by': 'repository_id'}"
|
|
248
|
+
/>
|
|
249
|
+
<filter
|
|
250
|
+
name="group_by_branch_id"
|
|
251
|
+
string="Branch"
|
|
252
|
+
context="{'group_by': 'branch_id'}"
|
|
253
|
+
/>
|
|
254
|
+
<filter
|
|
255
|
+
name="group_by_author_ids"
|
|
256
|
+
string="Author"
|
|
257
|
+
context="{'group_by': 'author_ids'}"
|
|
258
|
+
/>
|
|
259
|
+
<filter
|
|
260
|
+
name="group_by_license_id"
|
|
261
|
+
string="License"
|
|
262
|
+
context="{'group_by': 'license_id'}"
|
|
263
|
+
/>
|
|
264
|
+
<filter
|
|
265
|
+
name="group_by_development_status_id"
|
|
266
|
+
string="Development Status"
|
|
267
|
+
context="{'group_by': 'development_status_id'}"
|
|
268
|
+
/>
|
|
269
|
+
</group>
|
|
270
|
+
</search>
|
|
271
|
+
</field>
|
|
272
|
+
</record>
|
|
273
|
+
|
|
274
|
+
<record id="odoo_module_branch_view_pivot" model="ir.ui.view">
|
|
275
|
+
<field name="name">odoo.module.branch.pivot</field>
|
|
276
|
+
<field name="model">odoo.module.branch</field>
|
|
277
|
+
<field name="arch" type="xml">
|
|
278
|
+
<pivot string="Modules" sample="1">
|
|
279
|
+
<field name="repository_id" type="row" />
|
|
280
|
+
<field name="branch_id" type="col" />
|
|
281
|
+
</pivot>
|
|
282
|
+
</field>
|
|
283
|
+
</record>
|
|
284
|
+
|
|
285
|
+
<record id="odoo_module_branch_view_graph" model="ir.ui.view">
|
|
286
|
+
<field name="name">odoo.module.branch.graph</field>
|
|
287
|
+
<field name="model">odoo.module.branch</field>
|
|
288
|
+
<field name="arch" type="xml">
|
|
289
|
+
<graph string="Modules" type="line" sample="1" stacked="0">
|
|
290
|
+
<field name="org_id" />
|
|
291
|
+
</graph>
|
|
292
|
+
</field>
|
|
293
|
+
</record>
|
|
294
|
+
|
|
295
|
+
<record id="odoo_module_branch_action" model="ir.actions.act_window">
|
|
296
|
+
<field name="name">Modules</field>
|
|
297
|
+
<field name="type">ir.actions.act_window</field>
|
|
298
|
+
<field name="res_model">odoo.module.branch</field>
|
|
299
|
+
<field name="view_mode">tree,form</field>
|
|
300
|
+
<field name="view_id" ref="odoo_module_branch_view_tree" />
|
|
301
|
+
<field name="context">{
|
|
302
|
+
'search_default_installable': 1,
|
|
303
|
+
'search_default_with_repository': 2
|
|
304
|
+
}</field>
|
|
305
|
+
</record>
|
|
306
|
+
|
|
307
|
+
<record id="odoo_module_branch_report_action" model="ir.actions.act_window">
|
|
308
|
+
<field name="name">Modules Analysis</field>
|
|
309
|
+
<field name="type">ir.actions.act_window</field>
|
|
310
|
+
<field name="res_model">odoo.module.branch</field>
|
|
311
|
+
<field name="view_mode">pivot,graph</field>
|
|
312
|
+
<field name="view_id" ref="odoo_module_branch_view_tree" />
|
|
313
|
+
<field name="context">{
|
|
314
|
+
'search_default_installable': 1,
|
|
315
|
+
'search_default_with_repository': 2,
|
|
316
|
+
'pivot_column_groupby': ['branch_id'],
|
|
317
|
+
'pivot_row_groupby': ['org_id', 'repository_id'],
|
|
318
|
+
'graph_mode': 'line',
|
|
319
|
+
'graph_stacked': 0,
|
|
320
|
+
'graph_measure': '__count__',
|
|
321
|
+
'graph_groupbys': ['branch_id', 'org_id'],
|
|
322
|
+
}</field>
|
|
323
|
+
</record>
|
|
324
|
+
|
|
325
|
+
<record
|
|
326
|
+
id="odoo_module_branch_action_recursive_dependencies"
|
|
327
|
+
model="ir.actions.act_window"
|
|
328
|
+
>
|
|
329
|
+
<field name="name">Dependencies</field>
|
|
330
|
+
<field name="type">ir.actions.act_window</field>
|
|
331
|
+
<field name="res_model">odoo.module.branch</field>
|
|
332
|
+
<field name="view_id" ref="odoo_module_branch_view_tree_recursive_dependencies" />
|
|
333
|
+
</record>
|
|
334
|
+
|
|
335
|
+
<menuitem
|
|
336
|
+
id="modules_odoo_repository_menu"
|
|
337
|
+
parent="data_odoo_repository_menu"
|
|
338
|
+
name="Modules"
|
|
339
|
+
/>
|
|
340
|
+
|
|
341
|
+
<menuitem
|
|
342
|
+
id="odoo_module_branch_menu"
|
|
343
|
+
parent="modules_odoo_repository_menu"
|
|
344
|
+
action="odoo_module_branch_action"
|
|
345
|
+
/>
|
|
346
|
+
|
|
347
|
+
<menuitem
|
|
348
|
+
id="odoo_module_branch_report_menu"
|
|
349
|
+
parent="report_odoo_repository_menu"
|
|
350
|
+
action="odoo_module_branch_report_action"
|
|
351
|
+
/>
|
|
352
|
+
|
|
353
|
+
</odoo>
|