odoo-addon-mis-builder 16.0.5.1.11__py3-none-any.whl → 17.0.1.0.0.2__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/mis_builder/README.rst +474 -429
- odoo/addons/mis_builder/__manifest__.py +1 -1
- odoo/addons/mis_builder/i18n/it.po +2 -2
- odoo/addons/mis_builder/i18n/mis_builder.pot +1 -17
- odoo/addons/mis_builder/models/aep.py +1 -1
- odoo/addons/mis_builder/models/expression_evaluator.py +1 -1
- odoo/addons/mis_builder/models/kpimatrix.py +5 -2
- odoo/addons/mis_builder/models/mis_kpi_data.py +1 -3
- odoo/addons/mis_builder/models/mis_report.py +18 -19
- odoo/addons/mis_builder/models/mis_report_instance.py +4 -9
- odoo/addons/mis_builder/readme/CONTRIBUTORS.md +29 -0
- odoo/addons/mis_builder/readme/DESCRIPTION.md +5 -0
- odoo/addons/mis_builder/readme/DEVELOP.md +7 -0
- odoo/addons/mis_builder/readme/HISTORY.md +542 -0
- odoo/addons/mis_builder/readme/INSTALL.md +7 -0
- odoo/addons/mis_builder/readme/ROADMAP.md +5 -0
- odoo/addons/mis_builder/readme/USAGE.md +19 -0
- odoo/addons/mis_builder/static/description/index.html +305 -238
- odoo/addons/mis_builder/static/src/components/mis_report_widget.esm.js +7 -4
- odoo/addons/mis_builder/static/src/components/mis_report_widget.xml +5 -5
- odoo/addons/mis_builder/tests/test_aep.py +17 -2
- odoo/addons/mis_builder/views/mis_report.xml +7 -11
- odoo/addons/mis_builder/views/mis_report_instance.xml +38 -47
- odoo/addons/mis_builder/views/mis_report_style.xml +12 -46
- odoo_addon_mis_builder-17.0.1.0.0.2.dist-info/METADATA +778 -0
- {odoo_addon_mis_builder-16.0.5.1.11.dist-info → odoo_addon_mis_builder-17.0.1.0.0.2.dist-info}/RECORD +28 -31
- odoo/addons/mis_builder/migrations/16.0.5.0.0/end-migrate.py +0 -10
- odoo/addons/mis_builder/migrations/8.0.2.0.0/post-migration.py +0 -29
- odoo/addons/mis_builder/migrations/8.0.2.0.0/pre-migration.py +0 -20
- odoo/addons/mis_builder/readme/CONTRIBUTORS.rst +0 -27
- odoo/addons/mis_builder/readme/DESCRIPTION.rst +0 -5
- odoo/addons/mis_builder/readme/DEVELOP.rst +0 -6
- odoo/addons/mis_builder/readme/HISTORY.rst +0 -539
- odoo/addons/mis_builder/readme/INSTALL.rst +0 -7
- odoo/addons/mis_builder/readme/ROADMAP.rst +0 -3
- odoo/addons/mis_builder/readme/USAGE.rst +0 -26
- odoo_addon_mis_builder-16.0.5.1.11.dist-info/METADATA +0 -733
- {odoo_addon_mis_builder-16.0.5.1.11.dist-info → odoo_addon_mis_builder-17.0.1.0.0.2.dist-info}/WHEEL +0 -0
- {odoo_addon_mis_builder-16.0.5.1.11.dist-info → odoo_addon_mis_builder-17.0.1.0.0.2.dist-info}/top_level.txt +0 -0
@@ -2,8 +2,7 @@
|
|
2
2
|
|
3
3
|
import {Component, onWillStart, useState, useSubEnv} from "@odoo/owl";
|
4
4
|
import {useBus, useService} from "@web/core/utils/hooks";
|
5
|
-
import {
|
6
|
-
import {FilterMenu} from "@web/search/filter_menu/filter_menu";
|
5
|
+
import {DateTimeInput} from "@web/core/datetime/datetime_input";
|
7
6
|
import {SearchBar} from "@web/search/search_bar/search_bar";
|
8
7
|
import {SearchModel} from "@web/search/search_model";
|
9
8
|
import {parseDate} from "@web/core/l10n/dates";
|
@@ -176,7 +175,11 @@ export class MisReportWidget extends Component {
|
|
176
175
|
}
|
177
176
|
}
|
178
177
|
|
179
|
-
MisReportWidget.components = {
|
178
|
+
MisReportWidget.components = {SearchBar, DateTimeInput};
|
180
179
|
MisReportWidget.template = "mis_builder.MisReportWidget";
|
181
180
|
|
182
|
-
|
181
|
+
export const misReportWidget = {
|
182
|
+
component: MisReportWidget,
|
183
|
+
};
|
184
|
+
|
185
|
+
registry.category("fields").add("mis_report_widget", misReportWidget);
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<?xml version="1.0" encoding="utf-8" ?>
|
2
2
|
<templates>
|
3
3
|
|
4
|
-
<t t-name="mis_builder.MisReportWidget"
|
4
|
+
<t t-name="mis_builder.MisReportWidget">
|
5
5
|
<div class="oe_mis_builder_content">
|
6
6
|
<t t-if="state.mis_report_data">
|
7
7
|
<div class="oe_mis_builder_cp">
|
@@ -13,12 +13,12 @@
|
|
13
13
|
</div>
|
14
14
|
<div class="oe_mis_builder_cp_right_bottom">
|
15
15
|
<div class="oe_mis_builder_filter_buttons">
|
16
|
-
<
|
17
|
-
|
18
|
-
date="state.pivot_date"
|
19
|
-
onDateTimeChanged="onDateTimeChanged.bind(this)"
|
16
|
+
<DateTimeInput
|
17
|
+
value="state.pivot_date"
|
20
18
|
placeholder="'Base date...'"
|
19
|
+
type="'date'"
|
21
20
|
t-if="showPivotDate"
|
21
|
+
onChange="onDateTimeChanged.bind(this)"
|
22
22
|
/>
|
23
23
|
</div>
|
24
24
|
<div class="oe_mis_builder_action_buttons">
|
@@ -24,7 +24,14 @@ class TestAEP(common.TransactionCase):
|
|
24
24
|
self.curr_year = datetime.date.today().year
|
25
25
|
self.prev_year = self.curr_year - 1
|
26
26
|
# create company
|
27
|
-
self.company = self.res_company.create(
|
27
|
+
self.company = self.res_company.create(
|
28
|
+
{
|
29
|
+
"name": "AEP Company",
|
30
|
+
"country_id": (
|
31
|
+
self.env["res.country"].search([("code", "=", "US")], limit=1).id
|
32
|
+
),
|
33
|
+
}
|
34
|
+
)
|
28
35
|
# create receivable bs account
|
29
36
|
self.account_ar = self.account_model.create(
|
30
37
|
{
|
@@ -363,8 +370,16 @@ class TestAEP(common.TransactionCase):
|
|
363
370
|
self.aep.parse_expr(expr)
|
364
371
|
self.aep.done_parsing()
|
365
372
|
|
373
|
+
tax_group = self.env["account.tax.group"].create(dict(name="test tax group"))
|
374
|
+
|
366
375
|
tax = self.env["account.tax"].create(
|
367
|
-
dict(
|
376
|
+
dict(
|
377
|
+
name="test tax",
|
378
|
+
active=True,
|
379
|
+
amount=0,
|
380
|
+
company_id=self.company.id,
|
381
|
+
tax_group_id=tax_group.id,
|
382
|
+
)
|
368
383
|
)
|
369
384
|
move = self._create_move(
|
370
385
|
date=datetime.date(self.prev_year, 12, 1),
|
@@ -38,11 +38,11 @@
|
|
38
38
|
<field name="type" />
|
39
39
|
<field
|
40
40
|
name="compare_method"
|
41
|
-
|
41
|
+
invisible="type == 'str'"
|
42
42
|
/>
|
43
43
|
<field
|
44
44
|
name="accumulation_method"
|
45
|
-
|
45
|
+
invisible="type == 'str'"
|
46
46
|
/>
|
47
47
|
<field name="expression" />
|
48
48
|
</tree>
|
@@ -119,11 +119,7 @@
|
|
119
119
|
<field name="style_id" />
|
120
120
|
<field name="style_expression" />
|
121
121
|
<field name='id' invisible='1' />
|
122
|
-
<field
|
123
|
-
name="report_id"
|
124
|
-
invisible="1"
|
125
|
-
attrs="{'required': [('id', '!=', False)]}"
|
126
|
-
/>
|
122
|
+
<field name="report_id" invisible="1" required="id != False" />
|
127
123
|
</group>
|
128
124
|
<notebook>
|
129
125
|
<page string="Expressions">
|
@@ -134,7 +130,7 @@
|
|
134
130
|
name="expression_ids"
|
135
131
|
colspan="2"
|
136
132
|
nolabel="1"
|
137
|
-
|
133
|
+
invisible="not multi"
|
138
134
|
>
|
139
135
|
<tree editable="bottom">
|
140
136
|
<field
|
@@ -148,8 +144,8 @@
|
|
148
144
|
name="expression"
|
149
145
|
colspan="2"
|
150
146
|
nolabel="1"
|
151
|
-
|
152
|
-
|
147
|
+
invisible="multi"
|
148
|
+
readonly="multi"
|
153
149
|
placeholder="Enter expression here, for example balp[70%]. See also help tab."
|
154
150
|
/>
|
155
151
|
</group>
|
@@ -157,7 +153,7 @@
|
|
157
153
|
<field name="auto_expand_accounts" />
|
158
154
|
<field
|
159
155
|
name="auto_expand_accounts_style_id"
|
160
|
-
|
156
|
+
invisible="auto_expand_accounts != True"
|
161
157
|
/>
|
162
158
|
</group>
|
163
159
|
</page>
|
@@ -58,38 +58,43 @@
|
|
58
58
|
<form string="MIS Report Instance">
|
59
59
|
<sheet>
|
60
60
|
<field name="temporary" invisible="1" />
|
61
|
-
<div class="
|
61
|
+
<div class="d-flex justify-content-end" name="buttons">
|
62
62
|
<button
|
63
63
|
type="object"
|
64
64
|
name="preview"
|
65
65
|
string="Preview"
|
66
66
|
icon="fa-search"
|
67
|
+
class="btn"
|
67
68
|
/>
|
68
69
|
<button
|
69
70
|
type="object"
|
70
71
|
name="print_pdf"
|
71
72
|
string="Print"
|
72
73
|
icon="fa-print"
|
74
|
+
class="btn"
|
73
75
|
/>
|
74
76
|
<button
|
75
77
|
type="object"
|
76
78
|
name="export_xls"
|
77
79
|
string="Export"
|
78
80
|
icon="fa-download"
|
81
|
+
class="btn"
|
79
82
|
/>
|
80
83
|
<button
|
81
84
|
type="action"
|
82
85
|
name="%(mis_report_instance_add_to_dashboard_action)d"
|
83
86
|
string="Add to dashboard"
|
84
87
|
icon="fa-plus"
|
85
|
-
|
88
|
+
invisible="temporary"
|
89
|
+
class="btn"
|
86
90
|
/>
|
87
91
|
<button
|
88
92
|
type="object"
|
89
93
|
name="save_report"
|
90
94
|
string="Save"
|
91
95
|
icon="fa-save"
|
92
|
-
|
96
|
+
invisible="not temporary"
|
97
|
+
class="btn"
|
93
98
|
/>
|
94
99
|
</div>
|
95
100
|
<div class="oe_title">
|
@@ -113,26 +118,20 @@
|
|
113
118
|
<group>
|
114
119
|
<group
|
115
120
|
name="simple_mode"
|
116
|
-
|
121
|
+
invisible="comparison_mode"
|
117
122
|
colspan="4"
|
118
123
|
>
|
119
124
|
<field name="date_range_id" />
|
120
125
|
<field
|
121
126
|
name="date_from"
|
122
|
-
|
123
|
-
/>
|
124
|
-
<field
|
125
|
-
name="date_to"
|
126
|
-
attrs="{'required': [('comparison_mode', '=', False)]}"
|
127
|
+
required="not comparison_mode"
|
127
128
|
/>
|
129
|
+
<field name="date_to" required="not comparison_mode" />
|
128
130
|
</group>
|
129
131
|
</group>
|
130
132
|
</group>
|
131
133
|
<notebook>
|
132
|
-
<page
|
133
|
-
string="Columns"
|
134
|
-
attrs="{'invisible': [('comparison_mode', '=', False)]}"
|
135
|
-
>
|
134
|
+
<page string="Columns" invisible="not comparison_mode">
|
136
135
|
<group>
|
137
136
|
<group>
|
138
137
|
<field name="date" />
|
@@ -144,7 +143,7 @@
|
|
144
143
|
name="period_ids"
|
145
144
|
nolabel="1"
|
146
145
|
colspan="4"
|
147
|
-
|
146
|
+
required="comparison_mode"
|
148
147
|
context="{'default_report_instance_id': id}"
|
149
148
|
>
|
150
149
|
<tree decoration-danger="not valid">
|
@@ -169,13 +168,14 @@
|
|
169
168
|
<field
|
170
169
|
name="company_id"
|
171
170
|
groups="base.group_multi_company"
|
172
|
-
|
171
|
+
required="not multi_company"
|
172
|
+
invisible="multi_company"
|
173
173
|
/>
|
174
174
|
<field
|
175
175
|
name="company_ids"
|
176
176
|
groups="base.group_multi_company"
|
177
177
|
widget="many2many_tags"
|
178
|
-
|
178
|
+
invisible="not multi_company"
|
179
179
|
/>
|
180
180
|
<field
|
181
181
|
name="query_company_ids"
|
@@ -202,7 +202,7 @@
|
|
202
202
|
<field name="widget_show_filters" />
|
203
203
|
<field
|
204
204
|
name="widget_search_view_id"
|
205
|
-
|
205
|
+
invisible="not widget_show_filters"
|
206
206
|
/>
|
207
207
|
<field name="widget_show_settings_button" />
|
208
208
|
<field name="widget_show_pivot_date" />
|
@@ -257,24 +257,28 @@
|
|
257
257
|
name="save_report"
|
258
258
|
string="Save"
|
259
259
|
icon="fa-save"
|
260
|
+
class="btn"
|
260
261
|
/>
|
261
262
|
<button
|
262
263
|
type="object"
|
263
264
|
name="preview"
|
264
265
|
string="Preview"
|
265
266
|
icon="fa-search"
|
267
|
+
class="btn"
|
266
268
|
/>
|
267
269
|
<button
|
268
270
|
type="object"
|
269
271
|
name="print_pdf"
|
270
272
|
string="Print"
|
271
273
|
icon="fa-print"
|
274
|
+
class="btn"
|
272
275
|
/>
|
273
276
|
<button
|
274
277
|
type="object"
|
275
278
|
name="export_xls"
|
276
279
|
string="Export"
|
277
280
|
icon="fa-download"
|
281
|
+
class="btn"
|
278
282
|
/> or <button string="Cancel" class="oe_link" special="cancel" />
|
279
283
|
</footer>
|
280
284
|
</sheet>
|
@@ -311,7 +315,7 @@
|
|
311
315
|
<field
|
312
316
|
name="report_instance_id"
|
313
317
|
invisible="1"
|
314
|
-
|
318
|
+
required="id != False"
|
315
319
|
/>
|
316
320
|
<field name="report_id" invisible="1" />
|
317
321
|
<field name="id" invisible="1" />
|
@@ -323,12 +327,13 @@
|
|
323
327
|
<group col="2" colspan="2" name="source_data">
|
324
328
|
<field
|
325
329
|
name="source_aml_model_id"
|
326
|
-
|
330
|
+
invisible="source != 'actuals_alt'"
|
331
|
+
required="source == 'actuals_alt'"
|
327
332
|
/>
|
328
333
|
<field name="source_aml_model_name" invisible="1" />
|
329
334
|
<field
|
330
335
|
name="source_sumcol_ids"
|
331
|
-
|
336
|
+
invisible="source != 'sumcol'"
|
332
337
|
nolabel="1"
|
333
338
|
colspan="2"
|
334
339
|
>
|
@@ -343,18 +348,20 @@
|
|
343
348
|
</field>
|
344
349
|
<field
|
345
350
|
name="source_sumcol_accdet"
|
346
|
-
|
351
|
+
invisible="source != 'sumcol'"
|
347
352
|
/>
|
348
353
|
<field name="allowed_cmpcol_ids" invisible="1" />
|
349
354
|
<field
|
350
355
|
name="source_cmpcol_to_id"
|
351
|
-
|
356
|
+
invisible="source != 'cmpcol'"
|
357
|
+
required="source == 'cmpcol'"
|
352
358
|
domain="[('id', 'in', allowed_cmpcol_ids)]"
|
353
359
|
options="{'no_create': True, 'no_open': True}"
|
354
360
|
/>
|
355
361
|
<field
|
356
362
|
name="source_cmpcol_from_id"
|
357
|
-
|
363
|
+
invisible="source != 'cmpcol'"
|
364
|
+
required="source == 'cmpcol'"
|
358
365
|
domain="[('id', 'in', allowed_cmpcol_ids)]"
|
359
366
|
options="{'no_create': True, 'no_open': True}"
|
360
367
|
/>
|
@@ -364,20 +371,14 @@
|
|
364
371
|
<group colspan="4">
|
365
372
|
<field name="mode" widget="radio" />
|
366
373
|
</group>
|
367
|
-
<group
|
368
|
-
name="relative"
|
369
|
-
attrs="{'invisible': [('mode', '!=', 'relative')]}"
|
370
|
-
colspan="4"
|
371
|
-
>
|
374
|
+
<group name="relative" invisible="mode != 'relative'" colspan="4">
|
372
375
|
<group>
|
373
|
-
<field
|
374
|
-
name="type"
|
375
|
-
attrs="{'required': [('mode', '=', 'relative')]}"
|
376
|
-
/>
|
376
|
+
<field name="type" required="mode == 'relative'" />
|
377
377
|
<field name="is_ytd" />
|
378
378
|
<field
|
379
379
|
name="date_range_type_id"
|
380
|
-
|
380
|
+
invisible="type != 'date_range'"
|
381
|
+
required="type == 'date_range' and mode == 'relative'"
|
381
382
|
/>
|
382
383
|
<field name="offset" />
|
383
384
|
<field name="duration" />
|
@@ -387,23 +388,13 @@
|
|
387
388
|
<field name="date_to" />
|
388
389
|
</group>
|
389
390
|
</group>
|
390
|
-
<group
|
391
|
-
name="fix"
|
392
|
-
attrs="{'invisible': [('mode', '!=', 'fix')]}"
|
393
|
-
colspan="4"
|
394
|
-
>
|
391
|
+
<group name="fix" invisible="mode != 'fix'" colspan="4">
|
395
392
|
<group>
|
396
393
|
<field name="date_range_id" />
|
397
394
|
</group>
|
398
395
|
<group>
|
399
|
-
<field
|
400
|
-
|
401
|
-
attrs="{'required': [('mode', '=', 'fix')]}"
|
402
|
-
/>
|
403
|
-
<field
|
404
|
-
name="manual_date_to"
|
405
|
-
attrs="{'required': [('mode', '=', 'fix')]}"
|
406
|
-
/>
|
396
|
+
<field name="manual_date_from" required="mode == 'fix'" />
|
397
|
+
<field name="manual_date_to" required="mode == 'fix'" />
|
407
398
|
</group>
|
408
399
|
</group>
|
409
400
|
</group>
|
@@ -412,7 +403,7 @@
|
|
412
403
|
name="analytic_domain"
|
413
404
|
widget="domain"
|
414
405
|
options="{'model': 'source_aml_model_name'}"
|
415
|
-
|
406
|
+
invisible="not source_aml_model_name"
|
416
407
|
/>
|
417
408
|
</group>
|
418
409
|
</form>
|
@@ -20,75 +20,41 @@
|
|
20
20
|
</group>
|
21
21
|
<group string="Number" col="4">
|
22
22
|
<field name="dp_inherit" string="Rounding inherit" />
|
23
|
-
<field
|
24
|
-
name="dp"
|
25
|
-
attrs="{'invisible': [('dp_inherit', '=', True)]}"
|
26
|
-
/>
|
23
|
+
<field name="dp" invisible="dp_inherit" />
|
27
24
|
<field name="divider_inherit" string="Factor inherit" />
|
28
|
-
<field
|
29
|
-
name="divider"
|
30
|
-
attrs="{'invisible': [('divider_inherit', '=', True)]}"
|
31
|
-
/>
|
25
|
+
<field name="divider" invisible="divider_inherit" />
|
32
26
|
<field name="prefix_inherit" />
|
33
|
-
<field
|
34
|
-
name="prefix"
|
35
|
-
attrs="{'invisible': [('prefix_inherit', '=', True)]}"
|
36
|
-
/>
|
27
|
+
<field name="prefix" invisible="prefix_inherit" />
|
37
28
|
<field name="suffix_inherit" />
|
38
|
-
<field
|
39
|
-
name="suffix"
|
40
|
-
attrs="{'invisible': [('suffix_inherit', '=', True)]}"
|
41
|
-
/>
|
29
|
+
<field name="suffix" invisible="suffix_inherit" />
|
42
30
|
</group>
|
43
31
|
<group string="Color" col="4">
|
44
32
|
<field name="color_inherit" />
|
45
|
-
<field
|
46
|
-
name="color"
|
47
|
-
attrs="{'invisible': [('color_inherit', '=', True)]}"
|
48
|
-
widget="color"
|
49
|
-
/>
|
33
|
+
<field name="color" invisible="color_inherit" widget="color" />
|
50
34
|
<field name="background_color_inherit" />
|
51
35
|
<field
|
52
36
|
name="background_color"
|
53
|
-
|
37
|
+
invisible="background_color_inherit"
|
54
38
|
widget="color"
|
55
39
|
/>
|
56
40
|
</group>
|
57
41
|
<group string="Font" col="4">
|
58
42
|
<field name="font_style_inherit" />
|
59
|
-
<field
|
60
|
-
name="font_style"
|
61
|
-
attrs="{'invisible': [('font_style_inherit', '=', True)]}"
|
62
|
-
/>
|
43
|
+
<field name="font_style" invisible="font_style_inherit" />
|
63
44
|
<field name="font_weight_inherit" />
|
64
|
-
<field
|
65
|
-
name="font_weight"
|
66
|
-
attrs="{'invisible': [('font_weight_inherit', '=', True)]}"
|
67
|
-
/>
|
45
|
+
<field name="font_weight" invisible="font_weight_inherit" />
|
68
46
|
<field name="font_size_inherit" />
|
69
|
-
<field
|
70
|
-
name="font_size"
|
71
|
-
attrs="{'invisible': [('font_size_inherit', '=', True)]}"
|
72
|
-
/>
|
47
|
+
<field name="font_size" invisible="font_size_inherit" />
|
73
48
|
</group>
|
74
49
|
<group string="Indent" col="4">
|
75
50
|
<field name="indent_level_inherit" />
|
76
|
-
<field
|
77
|
-
name="indent_level"
|
78
|
-
attrs="{'invisible': [('indent_level_inherit', '=', True)]}"
|
79
|
-
/>
|
51
|
+
<field name="indent_level" invisible="indent_level_inherit" />
|
80
52
|
</group>
|
81
53
|
<group string="Visibility" col="4">
|
82
54
|
<field name="hide_empty_inherit" />
|
83
|
-
<field
|
84
|
-
name="hide_empty"
|
85
|
-
attrs="{'invisible': [('hide_empty_inherit', '=', True)]}"
|
86
|
-
/>
|
55
|
+
<field name="hide_empty" invisible="hide_empty_inherit" />
|
87
56
|
<field name="hide_always_inherit" />
|
88
|
-
<field
|
89
|
-
name="hide_always"
|
90
|
-
attrs="{'invisible': [('hide_always_inherit', '=', True)]}"
|
91
|
-
/>
|
57
|
+
<field name="hide_always" invisible="hide_always_inherit" />
|
92
58
|
</group>
|
93
59
|
</sheet>
|
94
60
|
</form>
|