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.
Files changed (39) hide show
  1. odoo/addons/mis_builder/README.rst +474 -429
  2. odoo/addons/mis_builder/__manifest__.py +1 -1
  3. odoo/addons/mis_builder/i18n/it.po +2 -2
  4. odoo/addons/mis_builder/i18n/mis_builder.pot +1 -17
  5. odoo/addons/mis_builder/models/aep.py +1 -1
  6. odoo/addons/mis_builder/models/expression_evaluator.py +1 -1
  7. odoo/addons/mis_builder/models/kpimatrix.py +5 -2
  8. odoo/addons/mis_builder/models/mis_kpi_data.py +1 -3
  9. odoo/addons/mis_builder/models/mis_report.py +18 -19
  10. odoo/addons/mis_builder/models/mis_report_instance.py +4 -9
  11. odoo/addons/mis_builder/readme/CONTRIBUTORS.md +29 -0
  12. odoo/addons/mis_builder/readme/DESCRIPTION.md +5 -0
  13. odoo/addons/mis_builder/readme/DEVELOP.md +7 -0
  14. odoo/addons/mis_builder/readme/HISTORY.md +542 -0
  15. odoo/addons/mis_builder/readme/INSTALL.md +7 -0
  16. odoo/addons/mis_builder/readme/ROADMAP.md +5 -0
  17. odoo/addons/mis_builder/readme/USAGE.md +19 -0
  18. odoo/addons/mis_builder/static/description/index.html +305 -238
  19. odoo/addons/mis_builder/static/src/components/mis_report_widget.esm.js +7 -4
  20. odoo/addons/mis_builder/static/src/components/mis_report_widget.xml +5 -5
  21. odoo/addons/mis_builder/tests/test_aep.py +17 -2
  22. odoo/addons/mis_builder/views/mis_report.xml +7 -11
  23. odoo/addons/mis_builder/views/mis_report_instance.xml +38 -47
  24. odoo/addons/mis_builder/views/mis_report_style.xml +12 -46
  25. odoo_addon_mis_builder-17.0.1.0.0.2.dist-info/METADATA +778 -0
  26. {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
  27. odoo/addons/mis_builder/migrations/16.0.5.0.0/end-migrate.py +0 -10
  28. odoo/addons/mis_builder/migrations/8.0.2.0.0/post-migration.py +0 -29
  29. odoo/addons/mis_builder/migrations/8.0.2.0.0/pre-migration.py +0 -20
  30. odoo/addons/mis_builder/readme/CONTRIBUTORS.rst +0 -27
  31. odoo/addons/mis_builder/readme/DESCRIPTION.rst +0 -5
  32. odoo/addons/mis_builder/readme/DEVELOP.rst +0 -6
  33. odoo/addons/mis_builder/readme/HISTORY.rst +0 -539
  34. odoo/addons/mis_builder/readme/INSTALL.rst +0 -7
  35. odoo/addons/mis_builder/readme/ROADMAP.rst +0 -3
  36. odoo/addons/mis_builder/readme/USAGE.rst +0 -26
  37. odoo_addon_mis_builder-16.0.5.1.11.dist-info/METADATA +0 -733
  38. {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
  39. {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 {DatePicker} from "@web/core/datepicker/datepicker";
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 = {FilterMenu, SearchBar, DatePicker};
178
+ MisReportWidget.components = {SearchBar, DateTimeInput};
180
179
  MisReportWidget.template = "mis_builder.MisReportWidget";
181
180
 
182
- registry.category("fields").add("mis_report_widget", MisReportWidget);
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" owl="1">
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
- <FilterMenu t-if="showSearchBar" />
17
- <DatePicker
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({"name": "AEP Company"})
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(name="test tax", active=True, amount=0, company_id=self.company.id)
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
- attrs="{'invisible': [('type', '=', 'str')]}"
41
+ invisible="type == 'str'"
42
42
  />
43
43
  <field
44
44
  name="accumulation_method"
45
- attrs="{'invisible': [('type', '=', 'str')]}"
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
- attrs="{'invisible': [('multi', '=', False)]}"
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
- attrs="{'invisible': [('multi', '=', True)],
152
- 'readonly': [('multi', '=', True)]}"
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
- attrs="{'invisible': [('auto_expand_accounts', '!=', True)]}"
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="oe_right oe_button_box" name="buttons">
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
- attrs="{'invisible': [('temporary', '=', True)]}"
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
- attrs="{'invisible': [('temporary', '=', False)]}"
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
- attrs="{'invisible': [('comparison_mode', '=', True)]}"
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
- attrs="{'required': [('comparison_mode', '=', False)]}"
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
- attrs="{'required': [('comparison_mode', '=', True)]}"
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
- attrs="{'required': [('multi_company', '=', False)], 'invisible': [('multi_company', '=', True)]}"
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
- attrs="{'invisible': [('multi_company', '=', False)]}"
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
- attrs="{'invisible': [('widget_show_filters', '=', False)]}"
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
- attrs="{'required': [('id', '!=', False)]}"
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
- attrs="{'invisible': [('source', '!=', 'actuals_alt')], 'required': [('source', '==', 'actuals_alt')]}"
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
- attrs="{'invisible': [('source', '!=', 'sumcol')]}"
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
- attrs="{'invisible': [('source', '!=', 'sumcol')]}"
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
- attrs="{'invisible': [('source', '!=', 'cmpcol')], 'required': [('source', '=', 'cmpcol')]}"
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
- attrs="{'invisible': [('source', '!=', 'cmpcol')], 'required': [('source', '=', 'cmpcol')]}"
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
- attrs="{'invisible': [('type', '!=', 'date_range')], 'required': [('type', '=', 'date_range'), ('mode', '=', 'relative')]}"
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
- name="manual_date_from"
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
- attrs="{'invisible': [('source_aml_model_name', '=', False)]}"
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
- attrs="{'invisible': [('background_color_inherit', '=', True)]}"
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>