django-advanced-report-builder 0.4.3__tar.gz → 0.5.0__tar.gz
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.
Potentially problematic release.
This version of django-advanced-report-builder might be problematic. Click here for more details.
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/PKG-INFO +1 -1
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/data_merge/utils.py +3 -2
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/filter_query.py +12 -7
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/utils.py +12 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/bar_charts.py +12 -8
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/charts_base.py +18 -11
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/datatables/datatables.py +3 -3
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/datatables/modal.py +5 -3
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/funnel_charts.py +5 -3
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/kanban.py +5 -3
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/line_charts.py +4 -4
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/modals_base.py +19 -15
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/pie_charts.py +4 -4
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/single_values.py +7 -6
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/django_advanced_report_builder.egg-info/PKG-INFO +1 -1
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/setup.py +1 -1
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/LICENSE +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/MANIFEST.in +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/README.md +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/__init__.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/admin.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/apps.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/columns.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/customise.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/data_merge/__init__.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/data_merge/widget.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/duplicate.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/exceptions.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/field_types.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/generate_series.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/globals.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/includes.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/migrations/0001_initial.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/migrations/0002_auto_20220209_1657.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/migrations/0003_auto_20220215_1219.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/migrations/0004_customreport.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/migrations/0005_auto_20220303_0958.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/migrations/0006_auto_20220310_1147.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/migrations/0007_auto_20220322_1939.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/migrations/0008_auto_20220404_1144.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/migrations/0009_auto_20230428_1554.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/migrations/0010_auto_20230428_2033.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/migrations/0011_auto_20230620_1449.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/migrations/0012_auto_20230718_1642.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/migrations/__init__.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/models.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/report_builder.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chart.esm.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chart.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chart.min.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chartjs-adapter-moment.min.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chartjs-plugin-datalabels.min.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chunks/helpers.segment.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/helpers.esm.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/d3/js/d3.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/d3/js/d3.min.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/d3-funnel/js/d3-funnel.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/d3-funnel/js/d3-funnel.min.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/dashboard/js/dashboard.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/dot/js/.gitignore +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/dot/js/.travis.yml +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/dot/js/LICENSE-DOT.txt +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/dot/js/README.md +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/dot/js/bin/dot-packer +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/dot/js/bower.json +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/dot/js/doT.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/dot/js/doT.min.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/dot/js/doU.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/dot/js/index.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/dot/js/package.json +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/jquery_extendext/js/jQuery.extendext.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/jquery_extendext/js/jQuery.extendext.min.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/css/query-builder.dark.css +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/css/query-builder.dark.min.css +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/css/query-builder.default.css +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/css/query-builder.default.min.css +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.ar.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.az.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.bg.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.cs.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.da.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.de.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.el.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.en.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.es.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.fa-IR.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.fr.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.he.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.it.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.nl.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.no.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.pl.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.pt-BR.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.pt-PT.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.ro.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.ru.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.sq.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.tr.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.ua.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.zh-CN.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/plugins/currency/plugin.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/query-builder.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/query-builder.min.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/query-builder.standalone.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/query-builder.standalone.min.js +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/dark.scss +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/default.scss +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_bt-checkbox.scss +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_bt-tooltip-errors.scss +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_filter-description.scss +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_invert.scss +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_sortable.scss +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/bt-tooltip-errors.scss +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/filter-description.scss +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/invert.scss +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/sortable.scss +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/charts/bar/middle.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/charts/funnel/middle.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/charts/funnel/report.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/charts/line/middle.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/charts/modal.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/charts/modal_field.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/charts/pie/middle.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/charts/report.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/data_merge/data_merge.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/datatables/fields/modal.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/datatables/fields/single_query_builder.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/datatables/modal.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/datatables/onclick_menu.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/datatables/query_modal.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/datatables/report.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/datatables/select_pivot.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/kanban/description_modal.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/kanban/middle.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/kanban/modal.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/kanban/report.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/query_builder.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/select_column.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/single_values/middle.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/single_values/modal.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/templates/advanced_report_builder/single_values/report.html +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/toggle.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/urls.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/variable_date.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/__init__.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/custom.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/dashboard.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/datatables/__init__.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/datatables/utils.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/report.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/report_utils_mixin.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/reports.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/targets/__init__.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/targets/utils.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/advanced_report_builder/views/targets/views.py +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/django_advanced_report_builder.egg-info/SOURCES.txt +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/django_advanced_report_builder.egg-info/dependency_links.txt +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/django_advanced_report_builder.egg-info/requires.txt +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/django_advanced_report_builder.egg-info/top_level.txt +0 -0
- {django-advanced-report-builder-0.4.3 → django-advanced-report-builder-0.5.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: django-advanced-report-builder
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Django app that allows you to build reports from modals
|
|
5
5
|
Home-page: https://github.com/django-advance-utils/django-advanced-report-builder
|
|
6
6
|
Author: Thomas Turner
|
|
@@ -2,7 +2,7 @@ import re
|
|
|
2
2
|
|
|
3
3
|
from django.apps import apps
|
|
4
4
|
|
|
5
|
-
from advanced_report_builder.utils import get_field_details
|
|
5
|
+
from advanced_report_builder.utils import get_field_details, get_report_builder_class
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def get_menu_fields(base_model, report_builder_class,
|
|
@@ -26,7 +26,8 @@ def get_menu_fields(base_model, report_builder_class,
|
|
|
26
26
|
|
|
27
27
|
new_model = apps.get_model(app_label, model)
|
|
28
28
|
if new_model != previous_base_model:
|
|
29
|
-
new_report_builder_class =
|
|
29
|
+
new_report_builder_class = get_report_builder_class(model=new_model,
|
|
30
|
+
class_name=report_builder_fields_str)
|
|
30
31
|
title = new_report_builder_class.title
|
|
31
32
|
if menus is not None:
|
|
32
33
|
menu = []
|
|
@@ -6,6 +6,7 @@ from django.db.models import Q
|
|
|
6
6
|
from django.shortcuts import get_object_or_404
|
|
7
7
|
|
|
8
8
|
from advanced_report_builder.models import ReportQuery
|
|
9
|
+
from advanced_report_builder.utils import get_report_builder_class
|
|
9
10
|
from advanced_report_builder.variable_date import VariableDate
|
|
10
11
|
|
|
11
12
|
|
|
@@ -255,12 +256,14 @@ class FilterQueryMixin:
|
|
|
255
256
|
if include is not None:
|
|
256
257
|
app_label, model, report_builder_fields_str = include['model'].split('.')
|
|
257
258
|
new_model = apps.get_model(app_label, model)
|
|
258
|
-
|
|
259
|
+
|
|
260
|
+
new_report_builder_class = get_report_builder_class(model=new_model,
|
|
261
|
+
class_name=report_builder_fields_str)
|
|
259
262
|
|
|
260
263
|
if new_model != previous_base_model:
|
|
261
264
|
result = self._get_report_builder_class(base_model=new_model,
|
|
262
265
|
field_str=new_field_str,
|
|
263
|
-
report_builder_class=
|
|
266
|
+
report_builder_class=new_report_builder_class,
|
|
264
267
|
previous_base_model=base_model)
|
|
265
268
|
if result:
|
|
266
269
|
return result
|
|
@@ -269,8 +272,10 @@ class FilterQueryMixin:
|
|
|
269
272
|
if include is not None:
|
|
270
273
|
app_label, model, report_builder_fields_str = include['model'].split('.')
|
|
271
274
|
new_model = apps.get_model(app_label, model)
|
|
272
|
-
|
|
273
|
-
|
|
275
|
+
new_report_builder_class = get_report_builder_class(model=new_model,
|
|
276
|
+
class_name=report_builder_fields_str)
|
|
277
|
+
|
|
278
|
+
return new_report_builder_class
|
|
274
279
|
return None
|
|
275
280
|
|
|
276
281
|
def _get_pivot_details(self, base_model, pivot_str, report_builder_class, previous_base_model=None, include_str=''):
|
|
@@ -294,12 +299,12 @@ class FilterQueryMixin:
|
|
|
294
299
|
if include is not None:
|
|
295
300
|
app_label, model, report_builder_fields_str = include['model'].split('.')
|
|
296
301
|
new_model = apps.get_model(app_label, model)
|
|
297
|
-
|
|
298
|
-
|
|
302
|
+
new_report_builder_class = get_report_builder_class(model=new_model,
|
|
303
|
+
class_name=report_builder_fields_str)
|
|
299
304
|
if new_model != previous_base_model:
|
|
300
305
|
result = self._get_pivot_details(base_model=new_model,
|
|
301
306
|
pivot_str=new_pivot_str,
|
|
302
|
-
report_builder_class=
|
|
307
|
+
report_builder_class=new_report_builder_class,
|
|
303
308
|
previous_base_model=base_model,
|
|
304
309
|
include_str=include_str)
|
|
305
310
|
if result:
|
|
@@ -117,3 +117,15 @@ def decode_attribute(data_attr):
|
|
|
117
117
|
data_attr = data_attr.replace('@', '-')
|
|
118
118
|
_data = base64.urlsafe_b64decode(data_attr)
|
|
119
119
|
return _data.decode('utf-8', 'ignore')
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
def get_report_builder_class(model, report_type=None, class_name=None):
|
|
123
|
+
if class_name is None:
|
|
124
|
+
class_name = report_type.report_builder_class_name
|
|
125
|
+
|
|
126
|
+
report_builder_class = getattr(model, class_name, None)
|
|
127
|
+
if report_builder_class is not None:
|
|
128
|
+
report_builder_class = report_builder_class()
|
|
129
|
+
return report_builder_class
|
|
130
|
+
|
|
131
|
+
|
|
@@ -29,7 +29,8 @@ from advanced_report_builder.globals import DEFAULT_DATE_FORMAT, \
|
|
|
29
29
|
GENERATE_SERIES_INTERVALS
|
|
30
30
|
from advanced_report_builder.models import BarChartReport, ReportType
|
|
31
31
|
from advanced_report_builder.toggle import RBToggle
|
|
32
|
-
from advanced_report_builder.utils import split_attr, encode_attribute, decode_attribute, get_field_details
|
|
32
|
+
from advanced_report_builder.utils import split_attr, encode_attribute, decode_attribute, get_field_details, \
|
|
33
|
+
get_report_builder_class
|
|
33
34
|
from advanced_report_builder.views.charts_base import ChartBaseView, ChartBaseFieldForm
|
|
34
35
|
from advanced_report_builder.views.datatables.modal import TableFieldModal, TableFieldForm
|
|
35
36
|
from advanced_report_builder.views.datatables.utils import TableUtilsMixin
|
|
@@ -96,8 +97,10 @@ class BarChartView(ChartBaseView):
|
|
|
96
97
|
|
|
97
98
|
if start_field_name is None or end_field_name is None:
|
|
98
99
|
return
|
|
99
|
-
|
|
100
|
-
|
|
100
|
+
|
|
101
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
102
|
+
report_type=self.chart_report.report_type)
|
|
103
|
+
|
|
101
104
|
start_django_field, start_col_type_override, _, _ = get_field_details(base_model=base_model,
|
|
102
105
|
field=start_field_name,
|
|
103
106
|
report_builder_class=report_builder_class,
|
|
@@ -302,10 +305,12 @@ class BarChartFieldForm(ChartBaseFieldForm):
|
|
|
302
305
|
|
|
303
306
|
self.fields['multiple_columns'] = BooleanField(required=False, widget=RBToggle())
|
|
304
307
|
|
|
305
|
-
|
|
308
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
309
|
+
report_type=report_type)
|
|
310
|
+
|
|
306
311
|
fields = []
|
|
307
312
|
self._get_query_builder_foreign_key_fields(base_model=base_model,
|
|
308
|
-
|
|
313
|
+
report_builder_class=report_builder_class,
|
|
309
314
|
fields=fields)
|
|
310
315
|
|
|
311
316
|
self.fields['multiple_column_field'] = ChoiceField(choices=fields, required=False)
|
|
@@ -458,9 +463,8 @@ class BarChartShowBreakdownModal(TableUtilsMixin, Modal):
|
|
|
458
463
|
self.kwargs['enable_links'] = self.slug['enable_links'] == 'True'
|
|
459
464
|
base_model = bar_chart_report.get_base_modal()
|
|
460
465
|
chart_fields = bar_chart_report.fields
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
bar_chart_report.report_type.report_builder_class_name, None)
|
|
466
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
467
|
+
report_type=bar_chart_report.report_type)
|
|
464
468
|
table = self.add_table(base_model=base_model)
|
|
465
469
|
|
|
466
470
|
table_fields = bar_chart_report.breakdown_fields
|
|
@@ -20,7 +20,7 @@ from advanced_report_builder.exceptions import ReportError
|
|
|
20
20
|
from advanced_report_builder.globals import NUMBER_FIELDS, ANNOTATION_VALUE_FUNCTIONS, ANNOTATION_VALUE_YEAR, \
|
|
21
21
|
ANNOTATION_VALUE_QUARTER, ANNOTATION_VALUE_WEEK, ANNOTATION_VALUE_DAY, ANNOTATION_VALUE_MONTH
|
|
22
22
|
from advanced_report_builder.models import ReportType
|
|
23
|
-
from advanced_report_builder.utils import split_slug, get_field_details, split_attr
|
|
23
|
+
from advanced_report_builder.utils import split_slug, get_field_details, split_attr, get_report_builder_class
|
|
24
24
|
from advanced_report_builder.variable_date import VariableDate
|
|
25
25
|
from advanced_report_builder.views.report import ReportBase
|
|
26
26
|
from advanced_report_builder.views.report_utils_mixin import ReportUtilsMixin
|
|
@@ -131,8 +131,9 @@ class ChartBaseView(ReportBase, ReportUtilsMixin, TemplateView):
|
|
|
131
131
|
field_name = self.chart_report.date_field
|
|
132
132
|
if field_name is None:
|
|
133
133
|
return
|
|
134
|
-
report_builder_class =
|
|
135
|
-
|
|
134
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
135
|
+
report_type=self.chart_report.report_type)
|
|
136
|
+
|
|
136
137
|
django_field, col_type_override, _, _ = get_field_details(base_model=base_model,
|
|
137
138
|
field=field_name,
|
|
138
139
|
report_builder_class=report_builder_class,
|
|
@@ -181,8 +182,8 @@ class ChartBaseView(ReportBase, ReportUtilsMixin, TemplateView):
|
|
|
181
182
|
return fields
|
|
182
183
|
chart_fields = self.chart_report.fields
|
|
183
184
|
|
|
184
|
-
report_builder_class =
|
|
185
|
-
|
|
185
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
186
|
+
report_type=self.chart_report.report_type)
|
|
186
187
|
|
|
187
188
|
for index, table_field in enumerate(chart_fields, 1):
|
|
188
189
|
field = table_field['field']
|
|
@@ -359,24 +360,30 @@ class ChartBaseFieldForm(CrispyForm):
|
|
|
359
360
|
|
|
360
361
|
report_type = get_object_or_404(ReportType, pk=self.slug['report_type_id'])
|
|
361
362
|
base_model = report_type.content_type.model_class()
|
|
362
|
-
|
|
363
|
-
|
|
363
|
+
|
|
364
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
365
|
+
report_type=report_type)
|
|
366
|
+
|
|
364
367
|
self.django_field, self.col_type_override, _, _ = get_field_details(base_model=base_model,
|
|
365
368
|
field=data['field'],
|
|
366
369
|
report_builder_class=report_builder_class)
|
|
367
370
|
|
|
368
371
|
return report_type, base_model
|
|
369
372
|
|
|
370
|
-
def _get_query_builder_foreign_key_fields(self, base_model,
|
|
373
|
+
def _get_query_builder_foreign_key_fields(self, base_model, report_builder_class, fields,
|
|
371
374
|
prefix='', title_prefix='', previous_base_model=None):
|
|
372
|
-
for include_field, include in
|
|
375
|
+
for include_field, include in report_builder_class.includes.items():
|
|
373
376
|
app_label, model, report_builder_fields_str = include['model'].split('.')
|
|
374
377
|
new_model = apps.get_model(app_label, model)
|
|
375
378
|
if new_model != previous_base_model:
|
|
376
|
-
|
|
379
|
+
new_report_builder_class = get_report_builder_class(model=new_model,
|
|
380
|
+
class_name=report_builder_fields_str)
|
|
381
|
+
if new_report_builder_class is not None:
|
|
382
|
+
new_report_builder_class = new_report_builder_class()
|
|
383
|
+
|
|
377
384
|
fields.append((prefix + include_field, title_prefix + include['title']))
|
|
378
385
|
self._get_query_builder_foreign_key_fields(base_model=new_model,
|
|
379
|
-
|
|
386
|
+
report_builder_class=new_report_builder_class,
|
|
380
387
|
fields=fields,
|
|
381
388
|
prefix=f"{prefix}{include_field}__",
|
|
382
389
|
title_prefix=f"{title_prefix}{include['title']} --> ",
|
|
@@ -5,7 +5,7 @@ from django_menus.menu import MenuItem
|
|
|
5
5
|
|
|
6
6
|
from advanced_report_builder.columns import ArrowColumn
|
|
7
7
|
from advanced_report_builder.exceptions import ReportError
|
|
8
|
-
from advanced_report_builder.utils import get_field_details, make_slug_str
|
|
8
|
+
from advanced_report_builder.utils import get_field_details, make_slug_str, get_report_builder_class
|
|
9
9
|
from advanced_report_builder.utils import split_slug
|
|
10
10
|
from advanced_report_builder.views.datatables.utils import TableUtilsMixin
|
|
11
11
|
from advanced_report_builder.views.report import ReportBase
|
|
@@ -48,8 +48,8 @@ class TableView(ReportBase, TableUtilsMixin, DatatableView):
|
|
|
48
48
|
table_fields = self.table_report.table_fields
|
|
49
49
|
pivot_fields = self.table_report.pivot_fields
|
|
50
50
|
fields_used = set()
|
|
51
|
-
report_builder_class =
|
|
52
|
-
|
|
51
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
52
|
+
report_type=self.table_report.report_type)
|
|
53
53
|
self.process_query_results(report_builder_class=report_builder_class,
|
|
54
54
|
table=table,
|
|
55
55
|
base_model=base_model,
|
|
@@ -21,7 +21,8 @@ from advanced_report_builder.globals import DATE_FIELDS, NUMBER_FIELDS, ANNOTATI
|
|
|
21
21
|
DATE_FORMAT_TYPES, CURRENCY_COLUMNS, LINK_COLUMNS
|
|
22
22
|
from advanced_report_builder.models import TableReport, ReportQuery, ReportType
|
|
23
23
|
from advanced_report_builder.toggle import RBToggle
|
|
24
|
-
from advanced_report_builder.utils import split_attr, get_field_details, encode_attribute, decode_attribute
|
|
24
|
+
from advanced_report_builder.utils import split_attr, get_field_details, encode_attribute, decode_attribute, \
|
|
25
|
+
get_report_builder_class
|
|
25
26
|
from advanced_report_builder.views.charts_base import ChartBaseFieldForm
|
|
26
27
|
from advanced_report_builder.views.modals_base import QueryBuilderModalBaseMixin, QueryBuilderModalBase
|
|
27
28
|
|
|
@@ -302,10 +303,11 @@ class TableFieldForm(ChartBaseFieldForm):
|
|
|
302
303
|
|
|
303
304
|
self.fields['multiple_columns'] = BooleanField(required=False, widget=RBToggle())
|
|
304
305
|
|
|
305
|
-
|
|
306
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
307
|
+
report_type=report_type)
|
|
306
308
|
fields = []
|
|
307
309
|
self._get_query_builder_foreign_key_fields(base_model=base_model,
|
|
308
|
-
|
|
310
|
+
report_builder_class=report_builder_class,
|
|
309
311
|
fields=fields)
|
|
310
312
|
|
|
311
313
|
self.fields['multiple_column_field'] = ChoiceField(choices=fields, required=False)
|
|
@@ -14,7 +14,7 @@ from django_modals.widgets.select2 import Select2Multiple
|
|
|
14
14
|
|
|
15
15
|
from advanced_report_builder.models import FunnelChartReport
|
|
16
16
|
from advanced_report_builder.toggle import RBToggle
|
|
17
|
-
from advanced_report_builder.utils import split_attr, encode_attribute, decode_attribute
|
|
17
|
+
from advanced_report_builder.utils import split_attr, encode_attribute, decode_attribute, get_report_builder_class
|
|
18
18
|
from advanced_report_builder.views.charts_base import ChartBaseView, ChartBaseFieldForm
|
|
19
19
|
from advanced_report_builder.views.modals_base import QueryBuilderModalBaseMixin, QueryBuilderModalBase
|
|
20
20
|
|
|
@@ -110,10 +110,12 @@ class FunnelChartFieldForm(ChartBaseFieldForm):
|
|
|
110
110
|
|
|
111
111
|
self.fields['multiple_columns'] = BooleanField(required=False, widget=RBToggle())
|
|
112
112
|
|
|
113
|
-
|
|
113
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
114
|
+
report_type=report_type)
|
|
115
|
+
|
|
114
116
|
fields = []
|
|
115
117
|
self._get_query_builder_foreign_key_fields(base_model=base_model,
|
|
116
|
-
|
|
118
|
+
report_builder_class=report_builder_class,
|
|
117
119
|
fields=fields)
|
|
118
120
|
|
|
119
121
|
self.fields['multiple_column_field'] = ChoiceField(choices=fields, required=False)
|
|
@@ -30,7 +30,7 @@ from advanced_report_builder.globals import DATE_FORMAT_TYPES_DJANGO_FORMAT, DAT
|
|
|
30
30
|
DATE_FORMAT_TYPE_SHORT_WORDS_MM_YY
|
|
31
31
|
from advanced_report_builder.models import KanbanReport, KanbanReportLane, ReportType, KanbanReportDescription
|
|
32
32
|
from advanced_report_builder.toggle import RBToggle
|
|
33
|
-
from advanced_report_builder.utils import crispy_modal_link_args, get_field_details
|
|
33
|
+
from advanced_report_builder.utils import crispy_modal_link_args, get_field_details, get_report_builder_class
|
|
34
34
|
from advanced_report_builder.variable_date import VariableDate
|
|
35
35
|
from advanced_report_builder.views.charts_base import ChartJSTable
|
|
36
36
|
from advanced_report_builder.views.modals_base import QueryBuilderModalBase
|
|
@@ -116,7 +116,8 @@ class KanbanView(ReportBase, FilterQueryMixin, TemplateView):
|
|
|
116
116
|
|
|
117
117
|
table = self.chart_js_table(model=base_model)
|
|
118
118
|
|
|
119
|
-
report_builder_class =
|
|
119
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
120
|
+
report_type=kanban_report_lane.report_type)
|
|
120
121
|
table_indexes = []
|
|
121
122
|
|
|
122
123
|
if kanban_report_lane.heading_field is not None:
|
|
@@ -222,7 +223,8 @@ class KanbanView(ReportBase, FilterQueryMixin, TemplateView):
|
|
|
222
223
|
|
|
223
224
|
for kanban_report_lane in kanban_report_lanes:
|
|
224
225
|
base_model = kanban_report_lane.get_base_modal()
|
|
225
|
-
report_builder_class =
|
|
226
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
227
|
+
report_type=kanban_report_lane.report_type)
|
|
226
228
|
if kanban_report_lane.multiple_type == KanbanReportLane.MULTIPLE_TYPE_NA:
|
|
227
229
|
self.get_lane(base_model=base_model,
|
|
228
230
|
kanban_report_lane=kanban_report_lane,
|
|
@@ -20,7 +20,7 @@ from advanced_report_builder.globals import ANNOTATION_VALUE_YEAR, \
|
|
|
20
20
|
ANNOTATION_VALUE_QUARTER, ANNOTATION_VALUE_MONTH, ANNOTATION_VALUE_WEEK, ANNOTATION_VALUE_DAY
|
|
21
21
|
from advanced_report_builder.models import LineChartReport, ReportType
|
|
22
22
|
from advanced_report_builder.toggle import RBToggle
|
|
23
|
-
from advanced_report_builder.utils import split_attr, encode_attribute, decode_attribute
|
|
23
|
+
from advanced_report_builder.utils import split_attr, encode_attribute, decode_attribute, get_report_builder_class
|
|
24
24
|
from advanced_report_builder.views.charts_base import ChartBaseView, ChartJSTable, ChartBaseFieldForm
|
|
25
25
|
from advanced_report_builder.views.modals_base import QueryBuilderModalBaseMixin, QueryBuilderModalBase
|
|
26
26
|
|
|
@@ -212,11 +212,11 @@ class LineChartFieldForm(ChartBaseFieldForm):
|
|
|
212
212
|
self.fields['filter'].initial = decode_attribute(data_attr['filter'])
|
|
213
213
|
|
|
214
214
|
self.fields['multiple_columns'] = BooleanField(required=False, widget=RBToggle())
|
|
215
|
-
|
|
216
|
-
|
|
215
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
216
|
+
report_type=report_type)
|
|
217
217
|
fields = []
|
|
218
218
|
self._get_query_builder_foreign_key_fields(base_model=base_model,
|
|
219
|
-
|
|
219
|
+
report_builder_class=report_builder_class,
|
|
220
220
|
fields=fields)
|
|
221
221
|
|
|
222
222
|
self.fields['multiple_column_field'] = ChoiceField(choices=fields, required=False)
|
|
@@ -15,7 +15,7 @@ from django_modals.widgets.select2 import Select2
|
|
|
15
15
|
from advanced_report_builder.field_types import FieldTypes
|
|
16
16
|
from advanced_report_builder.globals import DATE_FIELDS, NUMBER_FIELDS, LINK_COLUMNS, COLOUR_COLUMNS
|
|
17
17
|
from advanced_report_builder.models import ReportQuery, ReportType
|
|
18
|
-
from advanced_report_builder.utils import get_field_details
|
|
18
|
+
from advanced_report_builder.utils import get_field_details, get_report_builder_class
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
class QueryBuilderModelForm(ModelCrispyForm):
|
|
@@ -32,7 +32,8 @@ class QueryBuilderModalBaseMixin:
|
|
|
32
32
|
|
|
33
33
|
report_type = get_object_or_404(ReportType, pk=report_type_id)
|
|
34
34
|
base_model = report_type.content_type.model_class()
|
|
35
|
-
report_builder_class =
|
|
35
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
36
|
+
report_type=report_type)
|
|
36
37
|
return report_builder_class, base_model
|
|
37
38
|
|
|
38
39
|
def get_query_builder_report_type_field(self, report_type_id):
|
|
@@ -68,7 +69,8 @@ class QueryBuilderModalBaseMixin:
|
|
|
68
69
|
for include_field, include in report_builder_class.includes.items():
|
|
69
70
|
app_label, model, report_builder_fields_str = include['model'].split('.')
|
|
70
71
|
new_model = apps.get_model(app_label, model)
|
|
71
|
-
|
|
72
|
+
new_report_builder_class = get_report_builder_class(model=new_model,
|
|
73
|
+
class_name=report_builder_fields_str)
|
|
72
74
|
|
|
73
75
|
if new_model != previous_base_model:
|
|
74
76
|
_foreign_key = getattr(base_model, include_field, None)
|
|
@@ -89,7 +91,7 @@ class QueryBuilderModalBaseMixin:
|
|
|
89
91
|
|
|
90
92
|
self._get_query_builder_fields(base_model=new_model,
|
|
91
93
|
query_builder_filters=query_builder_filters,
|
|
92
|
-
report_builder_class=
|
|
94
|
+
report_builder_class=new_report_builder_class,
|
|
93
95
|
prefix=f"{prefix}{include_field}__",
|
|
94
96
|
title_prefix=f"{include['title']} --> ",
|
|
95
97
|
previous_base_model=base_model)
|
|
@@ -157,10 +159,10 @@ class QueryBuilderModalBase(QueryBuilderModalBaseMixin, ModelFormModal):
|
|
|
157
159
|
tables.append({'name': title,
|
|
158
160
|
'colour': colour})
|
|
159
161
|
|
|
162
|
+
report_builder_class_fields = report_builder_class.fields
|
|
163
|
+
|
|
160
164
|
if extra_fields:
|
|
161
|
-
report_builder_class_fields
|
|
162
|
-
else:
|
|
163
|
-
report_builder_class_fields = report_builder_class.fields
|
|
165
|
+
report_builder_class_fields += extra_fields
|
|
164
166
|
|
|
165
167
|
for report_builder_field in report_builder_class_fields:
|
|
166
168
|
|
|
@@ -206,7 +208,8 @@ class QueryBuilderModalBase(QueryBuilderModalBaseMixin, ModelFormModal):
|
|
|
206
208
|
|
|
207
209
|
new_model = apps.get_model(app_label, model)
|
|
208
210
|
if new_model != previous_base_model:
|
|
209
|
-
new_report_builder_class =
|
|
211
|
+
new_report_builder_class = get_report_builder_class(model=new_model,
|
|
212
|
+
class_name=report_builder_fields_str)
|
|
210
213
|
self._get_fields(base_model=new_model,
|
|
211
214
|
fields=fields,
|
|
212
215
|
report_builder_class=new_report_builder_class,
|
|
@@ -328,37 +331,38 @@ class QueryBuilderModalBase(QueryBuilderModalBaseMixin, ModelFormModal):
|
|
|
328
331
|
if selected_field_id:
|
|
329
332
|
form.fields[field_name].initial = selected_field_id
|
|
330
333
|
base_model = report_type.content_type.model_class()
|
|
331
|
-
|
|
334
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
335
|
+
report_type=report_type)
|
|
332
336
|
if field_type == 'date':
|
|
333
337
|
self._get_date_fields(base_model=base_model,
|
|
334
338
|
fields=_fields,
|
|
335
|
-
report_builder_class=
|
|
339
|
+
report_builder_class=report_builder_class,
|
|
336
340
|
selected_field_id=selected_field_id)
|
|
337
341
|
elif field_type == 'link':
|
|
338
342
|
self._get_column_link_fields(base_model=base_model,
|
|
339
343
|
fields=_fields,
|
|
340
|
-
report_builder_class=
|
|
344
|
+
report_builder_class=report_builder_class,
|
|
341
345
|
selected_field_id=selected_field_id)
|
|
342
346
|
elif field_type == 'number':
|
|
343
347
|
self._get_number_fields(base_model=base_model,
|
|
344
348
|
fields=_fields,
|
|
345
|
-
report_builder_class=
|
|
349
|
+
report_builder_class=report_builder_class,
|
|
346
350
|
selected_field_id=selected_field_id)
|
|
347
351
|
elif field_type == 'colour':
|
|
348
352
|
self._get_colour_fields(base_model=base_model,
|
|
349
353
|
fields=_fields,
|
|
350
|
-
report_builder_class=
|
|
354
|
+
report_builder_class=report_builder_class,
|
|
351
355
|
selected_field_id=selected_field_id)
|
|
352
356
|
elif field_type == 'all':
|
|
353
357
|
self._get_fields(base_model=base_model,
|
|
354
358
|
fields=_fields,
|
|
355
|
-
report_builder_class=
|
|
359
|
+
report_builder_class=report_builder_class,
|
|
356
360
|
selected_field_id=selected_field_id,
|
|
357
361
|
for_select2=True)
|
|
358
362
|
elif field_type == 'order':
|
|
359
363
|
self._get_fields(base_model=base_model,
|
|
360
364
|
fields=_fields,
|
|
361
|
-
report_builder_class=
|
|
365
|
+
report_builder_class=report_builder_class,
|
|
362
366
|
selected_field_id=selected_field_id,
|
|
363
367
|
for_select2=True,
|
|
364
368
|
show_order_by_fields=True)
|
|
@@ -14,7 +14,7 @@ from django_modals.widgets.select2 import Select2Multiple
|
|
|
14
14
|
|
|
15
15
|
from advanced_report_builder.models import PieChartReport
|
|
16
16
|
from advanced_report_builder.toggle import RBToggle
|
|
17
|
-
from advanced_report_builder.utils import split_attr, encode_attribute, decode_attribute
|
|
17
|
+
from advanced_report_builder.utils import split_attr, encode_attribute, decode_attribute, get_report_builder_class
|
|
18
18
|
from advanced_report_builder.views.charts_base import ChartBaseView, ChartBaseFieldForm
|
|
19
19
|
from advanced_report_builder.views.modals_base import QueryBuilderModalBaseMixin, QueryBuilderModalBase
|
|
20
20
|
|
|
@@ -109,11 +109,11 @@ class PieChartFieldForm(ChartBaseFieldForm):
|
|
|
109
109
|
self.fields['filter'].initial = decode_attribute(data_attr['filter'])
|
|
110
110
|
|
|
111
111
|
self.fields['multiple_columns'] = BooleanField(required=False, widget=RBToggle())
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
113
|
+
report_type=report_type)
|
|
114
114
|
fields = []
|
|
115
115
|
self._get_query_builder_foreign_key_fields(base_model=base_model,
|
|
116
|
-
|
|
116
|
+
report_builder_class=report_builder_class,
|
|
117
117
|
fields=fields)
|
|
118
118
|
|
|
119
119
|
self.fields['multiple_column_field'] = ChoiceField(choices=fields, required=False)
|
|
@@ -12,7 +12,6 @@ from django_modals.fields import FieldEx
|
|
|
12
12
|
from django_modals.helper import show_modal
|
|
13
13
|
from django_modals.modals import Modal
|
|
14
14
|
from django_modals.processes import PROCESS_EDIT_DELETE, PERMISSION_OFF
|
|
15
|
-
from django_modals.widgets.colour_picker import ColourPickerWidget
|
|
16
15
|
from django_modals.widgets.select2 import Select2Multiple
|
|
17
16
|
from django_modals.widgets.widgets import Toggle
|
|
18
17
|
|
|
@@ -21,7 +20,7 @@ from advanced_report_builder.exceptions import ReportError
|
|
|
21
20
|
from advanced_report_builder.globals import NUMBER_FIELDS, ANNOTATION_CHOICE_SUM, \
|
|
22
21
|
ANNOTATION_CHOICE_AVERAGE_SUM_FROM_COUNT
|
|
23
22
|
from advanced_report_builder.models import SingleValueReport, ReportType
|
|
24
|
-
from advanced_report_builder.utils import get_field_details
|
|
23
|
+
from advanced_report_builder.utils import get_field_details, get_report_builder_class
|
|
25
24
|
from advanced_report_builder.variable_date import VariableDate
|
|
26
25
|
from advanced_report_builder.views.charts_base import ChartBaseView
|
|
27
26
|
from advanced_report_builder.views.datatables.modal import TableFieldModal, TableFieldForm
|
|
@@ -42,7 +41,8 @@ class SingleValueView(ChartBaseView):
|
|
|
42
41
|
def _process_aggregations(self, fields, aggregations_type=ANNOTATION_CHOICE_SUM, divider=None):
|
|
43
42
|
field = self.chart_report.field
|
|
44
43
|
base_model = self.chart_report.get_base_modal()
|
|
45
|
-
report_builder_class =
|
|
44
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
45
|
+
report_type=self.chart_report.report_type)
|
|
46
46
|
|
|
47
47
|
django_field, col_type_override, _, _ = get_field_details(base_model=base_model,
|
|
48
48
|
field=field,
|
|
@@ -140,7 +140,8 @@ class SingleValueView(ChartBaseView):
|
|
|
140
140
|
denominator_field = self.chart_report.field
|
|
141
141
|
numerator_field = self.chart_report.numerator
|
|
142
142
|
base_model = self.chart_report.get_base_modal()
|
|
143
|
-
report_builder_class =
|
|
143
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
144
|
+
report_type=self.chart_report.report_type)
|
|
144
145
|
|
|
145
146
|
deno_django_field, denominator_col_type_override, _, _ = get_field_details(
|
|
146
147
|
base_model=base_model,
|
|
@@ -430,8 +431,8 @@ class SingleValueShowBreakdownModal(TableUtilsMixin, Modal):
|
|
|
430
431
|
table = self.add_table(base_model=base_model)
|
|
431
432
|
table.extra_filters = self.extra_filters
|
|
432
433
|
table_fields = single_value_report.breakdown_fields
|
|
433
|
-
report_builder_class =
|
|
434
|
-
|
|
434
|
+
report_builder_class = get_report_builder_class(model=base_model,
|
|
435
|
+
report_type=self.table_report.report_type)
|
|
435
436
|
fields_used = set()
|
|
436
437
|
self.process_query_results(report_builder_class=report_builder_class,
|
|
437
438
|
table=table,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: django-advanced-report-builder
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Django app that allows you to build reports from modals
|
|
5
5
|
Home-page: https://github.com/django-advance-utils/django-advanced-report-builder
|
|
6
6
|
Author: Thomas Turner
|
|
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
|
|
|
5
5
|
|
|
6
6
|
setuptools.setup(
|
|
7
7
|
name="django-advanced-report-builder",
|
|
8
|
-
version="0.
|
|
8
|
+
version="0.5.0",
|
|
9
9
|
author="Thomas Turner",
|
|
10
10
|
description="Django app that allows you to build reports from modals",
|
|
11
11
|
long_description=long_description,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|