Skip to content

Commit ae995b7

Browse files
sebastienbeauPierrick Brun
authored and
Pierrick Brun
committed
[IMP] add data, add action to recompute type
1 parent 0d5075d commit ae995b7

6 files changed

+113
-1
lines changed

module_analysis_price/__manifest__.py

+3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
"data": [
2222
"views/ir_module_type_view.xml",
2323
"views/ir_module_author_view.xml",
24+
"views/ir_module_type_rule_view.xml",
25+
"data/module_type_data.xml",
26+
"data/module_type_rule_data.xml",
2427
],
2528
"demo": [],
2629
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<odoo>
3+
<record id="module_type_odoo_framework" model="ir.module.type">
4+
<field name="sequence">1</field>
5+
<field name="name">Odoo Framework</field>
6+
</record>
7+
8+
<record id="module_type_odoo_module" model="ir.module.type">
9+
<field name="sequence">2</field>
10+
<field name="name">Odoo Natif Module</field>
11+
</record>
12+
13+
<record id="module_type_oca" model="ir.module.type">
14+
<field name="sequence">3</field>
15+
<field name="name">Odoo Community Association (OCA)</field>
16+
<field name="community">True</field>
17+
</record>
18+
19+
<record id="module_type_shopinvader" model="ir.module.type">
20+
<field name="sequence">4</field>
21+
<field name="name">Shopinvader</field>
22+
<field name="community">True</field>
23+
</record>
24+
25+
<record id="module_type_incubator" model="ir.module.type">
26+
<field name="sequence">5</field>
27+
<field name="name">Incubateur Akretion</field>
28+
<field name="community">True</field>
29+
</record>
30+
31+
<record id="module_type_custom" model="ir.module.type">
32+
<field name="sequence">6</field>
33+
<field name="name">Custom</field>
34+
</record>
35+
36+
</odoo>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<odoo>
3+
4+
<record id="module_type_rule_odoo_framework" model="ir.module.type.rule">
5+
<field name="sequence">1</field>
6+
<field name="module_type_id" ref="module_type_odoo_framework" />
7+
<field
8+
name="module_domain"
9+
>[('name', 'in', ('base', 'web', 'iap', 'iap_mail', 'mail', 'web_editor', 'web_kanban_gauge', 'web_tour', 'rating', 'portal', 'rating', 'utm', 'http_routing', 'digest', 'fetchmail', 'bus', 'board', 'base_automation', 'base_vat', 'base_import', 'base_iban', 'base_setup', 'base_sparse_field', 'auth_password_policy', 'auth_password_policy_signup', 'auth_signup'))]</field>
10+
</record>
11+
12+
<record id="module_type_rule_oca" model="ir.module.type.rule">
13+
<field name="sequence">2</field>
14+
<field name="module_type_id" ref="module_type_oca" />
15+
<field
16+
name="module_domain"
17+
>[('author_ids', '=', 'Odoo Community Association (OCA)')]</field>
18+
</record>
19+
20+
<record id="module_type_rule_shopinvader" model="ir.module.type.rule">
21+
<field name="sequence">3</field>
22+
<field name="module_type_id" ref="module_type_shopinvader" />
23+
<field
24+
name="module_domain"
25+
>['|', ('website', 'ilike', 'shopinvader'), ('name', 'ilike', 'shopinvader')]</field>
26+
</record>
27+
28+
<record id="module_type_rule_custom" model="ir.module.type.rule">
29+
<field name="sequence">4</field>
30+
<field name="module_type_id" ref="module_type_custom" />
31+
<field
32+
name="module_domain"
33+
>[('website', 'ilike', 'https://gitlab.akretion.com')]</field>
34+
</record>
35+
36+
<record id="module_type_rule_incubator" model="ir.module.type.rule">
37+
<field name="sequence">5</field>
38+
<field name="module_type_id" ref="module_type_incubator" />
39+
<field name="module_domain">[('author_ids', '=', 'Akretion')]</field>
40+
</record>
41+
42+
<record id="module_type_rule_odoo_module" model="ir.module.type.rule">
43+
<field name="sequence">6</field>
44+
<field name="module_type_id" ref="module_type_odoo_module" />
45+
<field
46+
name="module_domain"
47+
>[('author_ids.name', 'in', ['Odoo S.A.', 'OpenERP SA', 'Odoo SA'])]</field>
48+
</record>
49+
50+
</odoo>

module_analysis_price/models/ir_module_author.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,7 @@ def _compute_community_rate(self):
4444
)
4545
else:
4646
for record in self:
47-
record.community_rate = 0
47+
record.community_installed_code_qty = 0
48+
record.community_installed_code_rate = 0
49+
record.community_installed_module_qty = 0
50+
record.community_installed_module_rate = 0

module_analysis_price/models/ir_module_module.py

+5
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,8 @@ def _compute_code_qty(self):
2020
record.code_qty = (
2121
record.python_code_qty + record.xml_code_qty + record.js_code_qty
2222
)
23+
24+
def _recompute_module_type(self):
25+
rules = self.env["ir.module.type.rule"].search([])
26+
for module in self.search([("state", "=", "installed")]):
27+
module.module_type_id = rules._get_module_type_id_from_module(module)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<odoo>
3+
4+
<record model="ir.actions.server" id="action_recompute_sale_order_price">
5+
<field name="name">Mettre à jours les types des modules</field>
6+
<field name="model_id" ref="base.model_ir_module_module" />
7+
<field
8+
name="binding_model_id"
9+
ref="module_analysis.model_ir_module_type_rule"
10+
/>
11+
<field name="state">code</field>
12+
<field name="code">env["ir.module.module"]._recompute_module_type()</field>
13+
</record>
14+
15+
</odoo>

0 commit comments

Comments
 (0)