django-advanced-report-builder 0.7.8__tar.gz → 0.8.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.

Files changed (174) hide show
  1. {django-advanced-report-builder-0.7.8/django_advanced_report_builder.egg-info → django-advanced-report-builder-0.8.0}/PKG-INFO +1 -1
  2. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/columns.py +4 -3
  3. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/data_merge/utils.py +2 -2
  4. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/field_utils.py +9 -1
  5. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/globals.py +12 -1
  6. django-advanced-report-builder-0.8.0/advanced_report_builder/static/.DS_Store +0 -0
  7. django-advanced-report-builder-0.8.0/advanced_report_builder/static/advanced_report_builder/.DS_Store +0 -0
  8. django-advanced-report-builder-0.8.0/advanced_report_builder/static/advanced_report_builder/query_builder/.DS_Store +0 -0
  9. django-advanced-report-builder-0.8.0/advanced_report_builder/static/advanced_report_builder/query_builder/css/.DS_Store +0 -0
  10. django-advanced-report-builder-0.8.0/advanced_report_builder/static/advanced_report_builder/query_builder/js/.DS_Store +0 -0
  11. django-advanced-report-builder-0.8.0/advanced_report_builder/static/advanced_report_builder/query_builder/js/plugins/.DS_Store +0 -0
  12. django-advanced-report-builder-0.8.0/advanced_report_builder/static/advanced_report_builder/query_builder/scss/.DS_Store +0 -0
  13. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/charts/modal_field.html +3 -0
  14. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/datatables/fields/modal.html +4 -0
  15. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/bar_charts.py +3 -15
  16. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/charts_base.py +0 -2
  17. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/datatables/datatables.py +6 -2
  18. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/datatables/modal.py +241 -99
  19. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/datatables/utils.py +183 -3
  20. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/funnel_charts.py +0 -1
  21. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/line_charts.py +0 -1
  22. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/pie_charts.py +0 -1
  23. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/query_modal/modal.py +0 -1
  24. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/report_utils_mixin.py +45 -9
  25. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/single_values.py +2 -16
  26. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0/django_advanced_report_builder.egg-info}/PKG-INFO +1 -1
  27. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/django_advanced_report_builder.egg-info/SOURCES.txt +7 -0
  28. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/setup.py +1 -1
  29. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/LICENSE +0 -0
  30. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/MANIFEST.in +0 -0
  31. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/README.md +0 -0
  32. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/__init__.py +0 -0
  33. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/admin.py +0 -0
  34. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/apps.py +0 -0
  35. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/customise.py +0 -0
  36. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/data_merge/__init__.py +0 -0
  37. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/data_merge/widget.py +0 -0
  38. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/duplicate.py +0 -0
  39. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/exceptions.py +0 -0
  40. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/field_types.py +0 -0
  41. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/filter_query.py +0 -0
  42. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/generate_series.py +0 -0
  43. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/includes.py +0 -0
  44. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0001_initial.py +0 -0
  45. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0002_auto_20220209_1657.py +0 -0
  46. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0003_auto_20220215_1219.py +0 -0
  47. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0004_customreport.py +0 -0
  48. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0005_auto_20220303_0958.py +0 -0
  49. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0006_auto_20220310_1147.py +0 -0
  50. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0007_auto_20220322_1939.py +0 -0
  51. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0008_auto_20220404_1144.py +0 -0
  52. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0009_auto_20230428_1554.py +0 -0
  53. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0010_auto_20230428_2033.py +0 -0
  54. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0011_auto_20230620_1449.py +0 -0
  55. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0012_auto_20230718_1642.py +0 -0
  56. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0013_reportqueryorder.py +0 -0
  57. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/0014_auto_20240706_2207.py +0 -0
  58. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/migrations/__init__.py +0 -0
  59. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/models.py +0 -0
  60. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/report_builder.py +0 -0
  61. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chart.esm.js +0 -0
  62. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chart.js +0 -0
  63. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chart.min.js +0 -0
  64. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chartjs-adapter-moment.min.js +0 -0
  65. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chartjs-plugin-datalabels.min.js +0 -0
  66. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chunks/helpers.segment.js +0 -0
  67. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/helpers.esm.js +0 -0
  68. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/d3/js/d3.js +0 -0
  69. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/d3/js/d3.min.js +0 -0
  70. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/d3-funnel/js/d3-funnel.js +0 -0
  71. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/d3-funnel/js/d3-funnel.min.js +0 -0
  72. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/dashboard/js/dashboard.js +0 -0
  73. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/dot/js/.gitignore +0 -0
  74. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/dot/js/.travis.yml +0 -0
  75. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/dot/js/LICENSE-DOT.txt +0 -0
  76. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/dot/js/README.md +0 -0
  77. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/dot/js/bin/dot-packer +0 -0
  78. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/dot/js/bower.json +0 -0
  79. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/dot/js/doT.js +0 -0
  80. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/dot/js/doT.min.js +0 -0
  81. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/dot/js/doU.js +0 -0
  82. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/dot/js/index.js +0 -0
  83. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/dot/js/package.json +0 -0
  84. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/jquery_extendext/js/jQuery.extendext.js +0 -0
  85. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/jquery_extendext/js/jQuery.extendext.min.js +0 -0
  86. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/css/query-builder.dark.css +0 -0
  87. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/css/query-builder.dark.min.css +0 -0
  88. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/css/query-builder.default.css +0 -0
  89. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/css/query-builder.default.min.css +0 -0
  90. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.ar.js +0 -0
  91. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.az.js +0 -0
  92. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.bg.js +0 -0
  93. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.cs.js +0 -0
  94. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.da.js +0 -0
  95. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.de.js +0 -0
  96. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.el.js +0 -0
  97. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.en.js +0 -0
  98. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.es.js +0 -0
  99. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.fa-IR.js +0 -0
  100. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.fr.js +0 -0
  101. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.he.js +0 -0
  102. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.it.js +0 -0
  103. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.nl.js +0 -0
  104. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.no.js +0 -0
  105. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.pl.js +0 -0
  106. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.pt-BR.js +0 -0
  107. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.pt-PT.js +0 -0
  108. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.ro.js +0 -0
  109. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.ru.js +0 -0
  110. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.sq.js +0 -0
  111. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.tr.js +0 -0
  112. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.ua.js +0 -0
  113. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.zh-CN.js +0 -0
  114. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/plugins/currency/plugin.js +0 -0
  115. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/query-builder.js +0 -0
  116. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/query-builder.min.js +0 -0
  117. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/query-builder.standalone.js +0 -0
  118. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/query-builder.standalone.min.js +0 -0
  119. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/dark.scss +0 -0
  120. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/default.scss +0 -0
  121. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_bt-checkbox.scss +0 -0
  122. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_bt-tooltip-errors.scss +0 -0
  123. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_filter-description.scss +0 -0
  124. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_invert.scss +0 -0
  125. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_sortable.scss +0 -0
  126. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/bt-tooltip-errors.scss +0 -0
  127. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/filter-description.scss +0 -0
  128. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/invert.scss +0 -0
  129. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/sortable.scss +0 -0
  130. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/charts/bar/middle.html +0 -0
  131. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/charts/funnel/middle.html +0 -0
  132. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/charts/funnel/report.html +0 -0
  133. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/charts/line/middle.html +0 -0
  134. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/charts/modal.html +0 -0
  135. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/charts/pie/middle.html +0 -0
  136. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/charts/report.html +0 -0
  137. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/data_merge/data_merge.html +0 -0
  138. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/datatables/fields/single_query_builder.html +0 -0
  139. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/datatables/modal.html +0 -0
  140. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/datatables/onclick_menu.html +0 -0
  141. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/datatables/report.html +0 -0
  142. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/datatables/select_pivot.html +0 -0
  143. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/kanban/description_modal.html +0 -0
  144. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/kanban/middle.html +0 -0
  145. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/kanban/modal.html +0 -0
  146. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/kanban/report.html +0 -0
  147. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/query_builder.html +0 -0
  148. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/query_modal.html +0 -0
  149. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/select_column.html +0 -0
  150. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/single_values/middle.html +0 -0
  151. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/single_values/modal.html +0 -0
  152. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/templates/advanced_report_builder/single_values/report.html +0 -0
  153. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/toggle.py +0 -0
  154. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/urls.py +0 -0
  155. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/utils.py +0 -0
  156. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/variable_date.py +0 -0
  157. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/__init__.py +0 -0
  158. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/custom.py +0 -0
  159. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/dashboard.py +0 -0
  160. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/datatables/__init__.py +0 -0
  161. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/helpers.py +0 -0
  162. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/kanban.py +0 -0
  163. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/modals_base.py +0 -0
  164. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/query_modal/__init__.py +0 -0
  165. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/query_modal/mixin.py +0 -0
  166. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/report.py +0 -0
  167. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/reports.py +0 -0
  168. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/targets/__init__.py +0 -0
  169. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/targets/utils.py +0 -0
  170. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/advanced_report_builder/views/targets/views.py +0 -0
  171. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/django_advanced_report_builder.egg-info/dependency_links.txt +0 -0
  172. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/django_advanced_report_builder.egg-info/requires.txt +0 -0
  173. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.0}/django_advanced_report_builder.egg-info/top_level.txt +0 -0
  174. {django-advanced-report-builder-0.7.8 → django-advanced-report-builder-0.8.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.7.8
3
+ Version: 0.8.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
@@ -26,19 +26,20 @@ class ReportBuilderDateColumn(ColumnBase):
26
26
 
27
27
  class ReportBuilderNumberColumn(ColumnBase):
28
28
 
29
- def __init__(self, *, decimal_places=0, **kwargs):
29
+ def __init__(self, *, decimal_places=0, trim_zeros=True, **kwargs):
30
30
  if not self.initialise(locals()):
31
31
  return
32
32
  super().__init__(**kwargs)
33
33
  self.decimal_places = f'{{:.{decimal_places}f}}'
34
+ self.trim_zeros = trim_zeros
34
35
 
35
36
  def row_result(self, data, _page_data):
36
37
  number = data.get(self.field)
37
38
  if number is None:
38
39
  return ''
39
40
  else:
40
- number = self.decimal_places.format(data[self.field])
41
- if '.' in number:
41
+ number = self.decimal_places.format(number)
42
+ if self.trim_zeros and '.' in number:
42
43
  return number.rstrip('0').rstrip('.')
43
44
  else:
44
45
  return number
@@ -52,7 +52,7 @@ class DataMergeUtils(ReportBuilderFieldUtils):
52
52
 
53
53
  @staticmethod
54
54
  def get_data_merge_variables(html):
55
- variables = re.findall('{{\s*([^*\s*}}]+)\s*}}', html)
55
+ variables = re.findall(r'{{\s*([^*\s*}}]+)\s*}}', html)
56
56
 
57
57
  all_fields = set()
58
58
  for variable in variables:
@@ -64,7 +64,7 @@ class DataMergeUtils(ReportBuilderFieldUtils):
64
64
  field = variable
65
65
  all_fields.add(field)
66
66
 
67
- variables = re.findall('{%\s*(if|elif|with)\s([^%}]+)\s*%}', html)
67
+ variables = re.findall(r'{%\s*(if|elif|with)\s([^%}]+)\s*%}', html)
68
68
 
69
69
  for variable in variables:
70
70
  for field in variable[1].split(' '):
@@ -151,7 +151,7 @@ class ReportBuilderFieldUtils:
151
151
  previous_base_model=None, selected_field_id=None, for_select2=False,
152
152
  pivot_fields=None, allow_annotations_fields=True, field_types=None,
153
153
  column_types=None, search_string=None, show_order_by_fields=False, extra_fields=None,
154
- must_have_django_field=False, allow_pivots=True):
154
+ must_have_django_field=False, allow_pivots=True, include_mathematical_columns=False):
155
155
  if title is None:
156
156
  title = report_builder_class.title
157
157
  if colour is None:
@@ -236,6 +236,14 @@ class ReportBuilderFieldUtils:
236
236
  show_order_by_fields=show_order_by_fields,
237
237
  allow_pivots=local_allow_pivots)
238
238
 
239
+ if include_mathematical_columns:
240
+ fields.extend([{'colour': '#D4AF37', 'field': 'rb_addition', 'label': 'Maths: Addition Field'},
241
+ {'colour': '#D4AF37', 'field': 'rb_subtraction', 'label': 'Maths: Subtraction Field'},
242
+ {'colour': '#D4AF37', 'field': 'rb_times', 'label': 'Maths: Times Field'},
243
+ {'colour': '#D4AF37', 'field': 'rb_division', 'label': 'Maths: Division Field'},
244
+ {'colour': '#D4AF37', 'field': 'rb_percentage', 'label': 'Maths: Percentage Field'}]
245
+ )
246
+
239
247
  @staticmethod
240
248
  def _is_search_match(search_string, title):
241
249
  if search_string is None:
@@ -51,7 +51,6 @@ ANNOTATION_CHOICE_MINIMUM = 3
51
51
  ANNOTATION_CHOICE_COUNT = 4
52
52
  ANNOTATION_CHOICE_AVERAGE_SUM_FROM_COUNT = 5
53
53
 
54
-
55
54
  ANNOTATIONS_CHOICES = [(ANNOTATION_CHOICE_SUM, 'Sum'),
56
55
  (ANNOTATION_CHOICE_MAXIMUM, 'Maximum'),
57
56
  (ANNOTATION_CHOICE_MINIMUM, 'Minimum'),
@@ -64,6 +63,18 @@ ANNOTATION_FUNCTIONS = {ANNOTATION_CHOICE_SUM: Sum,
64
63
  ANNOTATION_CHOICE_COUNT: Count,
65
64
  ANNOTATION_CHOICE_AVERAGE_SUM_FROM_COUNT: Avg}
66
65
 
66
+ ALIGNMENT_CHOICE_LEFT = 0
67
+ ALIGNMENT_CHOICE_CENTRE = 1
68
+ ALIGNMENT_CHOICE_RIGHT = 2
69
+
70
+ ALIGNMENT_CHOICES = [(ALIGNMENT_CHOICE_LEFT, 'Left'),
71
+ (ALIGNMENT_CHOICE_CENTRE, 'Centre'),
72
+ (ALIGNMENT_CHOICE_RIGHT, 'Right')]
73
+
74
+ ALIGNMENT_CLASS = {ALIGNMENT_CHOICE_LEFT: '',
75
+ ALIGNMENT_CHOICE_CENTRE: 'dt-center',
76
+ ALIGNMENT_CHOICE_RIGHT: 'dt-right'}
77
+
67
78
  DATE_FORMAT_TYPE_DD_MM_YY_SLASH = 1
68
79
  DATE_FORMAT_TYPE_DD_MM_YYYY_SLASH = 2
69
80
  DATE_FORMAT_TYPE_MM_DD_YY_SLASH = 3
@@ -3,7 +3,10 @@
3
3
  {% block javascript %}
4
4
  <script>
5
5
  function save_modal_{{ form.form_id }}() {
6
+ try {
6
7
  id_filter.save_query_builder();
8
+ }
9
+ catch (error) {}
7
10
  django_modal.process_commands_lock([{'function': 'post_modal'}]);
8
11
  }
9
12
  </script>
@@ -3,6 +3,10 @@
3
3
  {% block javascript %}
4
4
  <script>
5
5
  function save_modal_{{ form.form_id }}() {
6
+ try {
7
+ id_filter.save_query_builder();
8
+ }
9
+ catch (error) {}
6
10
  django_modal.process_commands_lock([{'function': 'post_modal'}]);
7
11
  }
8
12
  </script>
@@ -371,7 +371,6 @@ class BarChartFieldModal(QueryBuilderModalBaseMixin, FormModal):
371
371
  'val': _attr})
372
372
 
373
373
  self.add_command({'function': 'html', 'selector': f'#{selector} span', 'html': form.cleaned_data['title']})
374
- self.add_command({'function': 'save_query_builder_id_filter'})
375
374
  self.add_command({'function': 'update_selection'})
376
375
  return self.command_response('close')
377
376
 
@@ -424,20 +423,7 @@ class BarChartBreakdownFieldForm(TableFieldForm):
424
423
 
425
424
  class BarChartBreakdownFieldModal(TableFieldModal):
426
425
  form_class = BarChartBreakdownFieldForm
427
-
428
- def form_valid(self, form):
429
- selector = self.slug['selector']
430
-
431
- _attr = form.get_additional_attributes()
432
- self.add_command({'function': 'set_attr',
433
- 'selector': f'#{selector}',
434
- 'attr': 'data-attr',
435
- 'val': _attr})
436
-
437
- self.add_command({'function': 'html', 'selector': f'#{selector} span', 'html': form.cleaned_data['title']})
438
- self.add_command({'function': 'save_query_builder_id_filter'})
439
- self.add_command({'function': 'breakdown_update_selection'})
440
- return self.command_response('close')
426
+ update_selection_command = 'breakdown_update_selection'
441
427
 
442
428
 
443
429
  class BarChartShowBreakdownModal(TableUtilsMixin, Modal):
@@ -481,10 +467,12 @@ class BarChartShowBreakdownModal(TableUtilsMixin, Modal):
481
467
 
482
468
  table_fields = bar_chart_report.breakdown_fields
483
469
  fields_used = set()
470
+ fields_map = {}
484
471
  self.process_query_results(report_builder_class=report_builder_class,
485
472
  table=table,
486
473
  base_model=base_model,
487
474
  fields_used=fields_used,
475
+ fields_map=fields_map,
488
476
  table_fields=table_fields)
489
477
  data_index = int(self.slug['data'])
490
478
  table_field = chart_fields[data_index]
@@ -2,7 +2,6 @@ import base64
2
2
  import json
3
3
  from datetime import timedelta, datetime
4
4
 
5
- from crispy_forms.bootstrap import StrictButton
6
5
  from date_offset.date_offset import DateOffset
7
6
  from dateutil.relativedelta import relativedelta
8
7
  from django.apps import apps
@@ -14,7 +13,6 @@ from django.utils.safestring import mark_safe
14
13
  from django.views.generic import TemplateView
15
14
  from django_datatables.datatables import DatatableTable
16
15
  from django_menus.menu import MenuItem
17
- from django_modals.forms import CrispyForm
18
16
 
19
17
  from advanced_report_builder.columns import ReportBuilderDateColumn
20
18
  from advanced_report_builder.exceptions import ReportError
@@ -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 make_slug_str, get_report_builder_class
8
+ from advanced_report_builder.utils import 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
@@ -35,6 +35,7 @@ class TableView(ReportBase, TableUtilsMixin, DatatableView):
35
35
 
36
36
  self.base_model = self.table_report.get_base_model()
37
37
  self.add_table(self.table_id, model=self.base_model)
38
+
38
39
  try:
39
40
  return super().dispatch(request, *args, **kwargs)
40
41
  except DatatableError as de:
@@ -48,12 +49,14 @@ class TableView(ReportBase, TableUtilsMixin, DatatableView):
48
49
  table_fields = self.table_report.table_fields
49
50
  pivot_fields = self.table_report.pivot_fields
50
51
  fields_used = set()
52
+ fields_map = {}
51
53
  report_builder_class = get_report_builder_class(model=base_model,
52
54
  report_type=self.table_report.report_type)
53
55
  self.process_query_results(report_builder_class=report_builder_class,
54
56
  table=table,
55
57
  base_model=base_model,
56
58
  fields_used=fields_used,
59
+ fields_map=fields_map,
57
60
  table_fields=table_fields,
58
61
  pivot_fields=pivot_fields)
59
62
 
@@ -61,6 +64,8 @@ class TableView(ReportBase, TableUtilsMixin, DatatableView):
61
64
  order_by_field = self.table_report.order_by_field
62
65
  if order_by_field not in fields_used:
63
66
  table.add_columns(f'.{order_by_field}')
67
+ elif order_by_field in fields_map:
68
+ order_by_field = fields_map[order_by_field]
64
69
  if self.table_report.order_by_ascending:
65
70
  table.sort(order_by_field)
66
71
  else:
@@ -134,7 +139,6 @@ class TableView(ReportBase, TableUtilsMixin, DatatableView):
134
139
  *self.duplicate_menu(request=self.request, report_id=chart_report_id)
135
140
  ]
136
141
 
137
-
138
142
  def get_dashboard_class(self, report):
139
143
  pivot_fields = report.tablereport.pivot_fields
140
144
  if pivot_fields is not None and len(pivot_fields) > 0: