django-advanced-report-builder 0.5.7__tar.gz → 0.6.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 (164) hide show
  1. {django-advanced-report-builder-0.5.7/django_advanced_report_builder.egg-info → django-advanced-report-builder-0.6.0}/PKG-INFO +1 -1
  2. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/columns.py +9 -4
  3. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/urls.py +5 -2
  4. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/custom.py +55 -8
  5. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/datatables/modal.py +4 -123
  6. django-advanced-report-builder-0.6.0/advanced_report_builder/views/query_modal/mixin.py +105 -0
  7. django-advanced-report-builder-0.6.0/advanced_report_builder/views/query_modal/modal.py +38 -0
  8. django-advanced-report-builder-0.6.0/advanced_report_builder/views/targets/__init__.py +0 -0
  9. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0/django_advanced_report_builder.egg-info}/PKG-INFO +1 -1
  10. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/django_advanced_report_builder.egg-info/SOURCES.txt +4 -1
  11. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/setup.py +1 -1
  12. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/LICENSE +0 -0
  13. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/MANIFEST.in +0 -0
  14. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/README.md +0 -0
  15. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/__init__.py +0 -0
  16. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/admin.py +0 -0
  17. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/apps.py +0 -0
  18. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/customise.py +0 -0
  19. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/data_merge/__init__.py +0 -0
  20. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/data_merge/utils.py +0 -0
  21. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/data_merge/widget.py +0 -0
  22. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/duplicate.py +0 -0
  23. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/exceptions.py +0 -0
  24. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/field_types.py +0 -0
  25. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/field_utils.py +0 -0
  26. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/filter_query.py +0 -0
  27. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/generate_series.py +0 -0
  28. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/globals.py +0 -0
  29. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/includes.py +0 -0
  30. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/migrations/0001_initial.py +0 -0
  31. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/migrations/0002_auto_20220209_1657.py +0 -0
  32. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/migrations/0003_auto_20220215_1219.py +0 -0
  33. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/migrations/0004_customreport.py +0 -0
  34. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/migrations/0005_auto_20220303_0958.py +0 -0
  35. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/migrations/0006_auto_20220310_1147.py +0 -0
  36. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/migrations/0007_auto_20220322_1939.py +0 -0
  37. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/migrations/0008_auto_20220404_1144.py +0 -0
  38. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/migrations/0009_auto_20230428_1554.py +0 -0
  39. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/migrations/0010_auto_20230428_2033.py +0 -0
  40. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/migrations/0011_auto_20230620_1449.py +0 -0
  41. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/migrations/0012_auto_20230718_1642.py +0 -0
  42. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/migrations/__init__.py +0 -0
  43. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/models.py +0 -0
  44. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/report_builder.py +0 -0
  45. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chart.esm.js +0 -0
  46. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chart.js +0 -0
  47. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chart.min.js +0 -0
  48. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chartjs-adapter-moment.min.js +0 -0
  49. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chartjs-plugin-datalabels.min.js +0 -0
  50. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/chunks/helpers.segment.js +0 -0
  51. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/chart-js/js/helpers.esm.js +0 -0
  52. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/d3/js/d3.js +0 -0
  53. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/d3/js/d3.min.js +0 -0
  54. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/d3-funnel/js/d3-funnel.js +0 -0
  55. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/d3-funnel/js/d3-funnel.min.js +0 -0
  56. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/dashboard/js/dashboard.js +0 -0
  57. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/dot/js/.gitignore +0 -0
  58. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/dot/js/.travis.yml +0 -0
  59. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/dot/js/LICENSE-DOT.txt +0 -0
  60. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/dot/js/README.md +0 -0
  61. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/dot/js/bin/dot-packer +0 -0
  62. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/dot/js/bower.json +0 -0
  63. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/dot/js/doT.js +0 -0
  64. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/dot/js/doT.min.js +0 -0
  65. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/dot/js/doU.js +0 -0
  66. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/dot/js/index.js +0 -0
  67. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/dot/js/package.json +0 -0
  68. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/jquery_extendext/js/jQuery.extendext.js +0 -0
  69. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/jquery_extendext/js/jQuery.extendext.min.js +0 -0
  70. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/css/query-builder.dark.css +0 -0
  71. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/css/query-builder.dark.min.css +0 -0
  72. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/css/query-builder.default.css +0 -0
  73. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/css/query-builder.default.min.css +0 -0
  74. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.ar.js +0 -0
  75. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.az.js +0 -0
  76. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.bg.js +0 -0
  77. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.cs.js +0 -0
  78. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.da.js +0 -0
  79. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.de.js +0 -0
  80. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.el.js +0 -0
  81. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.en.js +0 -0
  82. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.es.js +0 -0
  83. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.fa-IR.js +0 -0
  84. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.fr.js +0 -0
  85. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.he.js +0 -0
  86. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.it.js +0 -0
  87. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.nl.js +0 -0
  88. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.no.js +0 -0
  89. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.pl.js +0 -0
  90. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.pt-BR.js +0 -0
  91. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.pt-PT.js +0 -0
  92. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.ro.js +0 -0
  93. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.ru.js +0 -0
  94. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.sq.js +0 -0
  95. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.tr.js +0 -0
  96. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.ua.js +0 -0
  97. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/i18n/query-builder.zh-CN.js +0 -0
  98. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/plugins/currency/plugin.js +0 -0
  99. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/query-builder.js +0 -0
  100. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/query-builder.min.js +0 -0
  101. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/query-builder.standalone.js +0 -0
  102. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/js/query-builder.standalone.min.js +0 -0
  103. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/dark.scss +0 -0
  104. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/default.scss +0 -0
  105. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_bt-checkbox.scss +0 -0
  106. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_bt-tooltip-errors.scss +0 -0
  107. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_filter-description.scss +0 -0
  108. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_invert.scss +0 -0
  109. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/_sortable.scss +0 -0
  110. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/bt-tooltip-errors.scss +0 -0
  111. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/filter-description.scss +0 -0
  112. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/invert.scss +0 -0
  113. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/sortable.scss +0 -0
  114. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/charts/bar/middle.html +0 -0
  115. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/charts/funnel/middle.html +0 -0
  116. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/charts/funnel/report.html +0 -0
  117. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/charts/line/middle.html +0 -0
  118. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/charts/modal.html +0 -0
  119. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/charts/modal_field.html +0 -0
  120. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/charts/pie/middle.html +0 -0
  121. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/charts/report.html +0 -0
  122. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/data_merge/data_merge.html +0 -0
  123. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/datatables/fields/modal.html +0 -0
  124. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/datatables/fields/single_query_builder.html +0 -0
  125. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/datatables/modal.html +0 -0
  126. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/datatables/onclick_menu.html +0 -0
  127. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/datatables/report.html +0 -0
  128. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/datatables/select_pivot.html +0 -0
  129. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/kanban/description_modal.html +0 -0
  130. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/kanban/middle.html +0 -0
  131. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/kanban/modal.html +0 -0
  132. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/kanban/report.html +0 -0
  133. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/query_builder.html +0 -0
  134. {django-advanced-report-builder-0.5.7/advanced_report_builder/templates/advanced_report_builder/datatables → django-advanced-report-builder-0.6.0/advanced_report_builder/templates/advanced_report_builder}/query_modal.html +0 -0
  135. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/select_column.html +0 -0
  136. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/single_values/middle.html +0 -0
  137. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/single_values/modal.html +0 -0
  138. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/templates/advanced_report_builder/single_values/report.html +0 -0
  139. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/toggle.py +0 -0
  140. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/utils.py +0 -0
  141. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/variable_date.py +0 -0
  142. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/__init__.py +0 -0
  143. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/bar_charts.py +0 -0
  144. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/charts_base.py +0 -0
  145. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/dashboard.py +0 -0
  146. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/datatables/__init__.py +0 -0
  147. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/datatables/datatables.py +0 -0
  148. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/datatables/utils.py +0 -0
  149. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/funnel_charts.py +0 -0
  150. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/kanban.py +0 -0
  151. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/line_charts.py +0 -0
  152. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/modals_base.py +0 -0
  153. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/pie_charts.py +0 -0
  154. {django-advanced-report-builder-0.5.7/advanced_report_builder/views/targets → django-advanced-report-builder-0.6.0/advanced_report_builder/views/query_modal}/__init__.py +0 -0
  155. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/report.py +0 -0
  156. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/report_utils_mixin.py +0 -0
  157. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/reports.py +0 -0
  158. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/single_values.py +0 -0
  159. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/targets/utils.py +0 -0
  160. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/advanced_report_builder/views/targets/views.py +0 -0
  161. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/django_advanced_report_builder.egg-info/dependency_links.txt +0 -0
  162. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/django_advanced_report_builder.egg-info/requires.txt +0 -0
  163. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.0}/django_advanced_report_builder.egg-info/top_level.txt +0 -0
  164. {django-advanced-report-builder-0.5.7 → django-advanced-report-builder-0.6.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.5.7
3
+ Version: 0.6.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
@@ -111,8 +111,13 @@ class RecordCountColumn(ColumnBase):
111
111
 
112
112
 
113
113
  class ReportBuilderManyToManyColumn(ManyToManyColumn):
114
+
115
+ def __init__(self, *arg, **kwargs):
116
+ if not self.initialise(locals()):
117
+ return
118
+ super().__init__(*arg, **kwargs)
119
+ if self.model_path is not None:
120
+ self.field = 'id'
121
+
114
122
  def row_result(self, data_dict, page_results):
115
- model_path = ''
116
- if self.model_path != '':
117
- model_path = self.model_path[:-1]
118
- return page_results['m2m' + self.column_name].get(data_dict[model_path + 'id'], self.blank)
123
+ return page_results['m2m' + self.column_name].get(data_dict[self.model_path + 'id'], self.blank)
@@ -4,7 +4,8 @@ from advanced_report_builder.views.bar_charts import BarChartModal, BarChartFiel
4
4
  BarChartBreakdownFieldModal
5
5
  from advanced_report_builder.views.custom import CustomModal
6
6
  from advanced_report_builder.views.dashboard import DashboardReportModal, DashboardModal, DashboardAddReportModal
7
- from advanced_report_builder.views.datatables.modal import TableModal, TableFieldModal, TablePivotModal, TableQueryModal
7
+ from advanced_report_builder.views.datatables.modal import TableModal, TableFieldModal, TablePivotModal
8
+ from advanced_report_builder.views.query_modal.modal import QueryModal
8
9
  from advanced_report_builder.views.funnel_charts import FunnelChartModal, FunnelChartFieldModal
9
10
  from advanced_report_builder.views.kanban import KanbanModal, KanbanLaneModal, KanbanLaneDuplicateModal, \
10
11
  KanbanDescriptionModal, KanbanDescriptionDuplicateModal
@@ -19,10 +20,12 @@ app_name = 'advanced_report_builder'
19
20
 
20
21
 
21
22
  urlpatterns = [
23
+
24
+ path('query/modal/query/<str:slug>', QueryModal.as_view(), name='query_modal'),
25
+
22
26
  path('table/modal/<str:slug>/', TableModal.as_view(), name='table_modal'),
23
27
  path('table/modal/field/<str:slug>/', TableFieldModal.as_view(), name='table_field_modal'),
24
28
  path('table/modal/pivot/<str:slug>/', TablePivotModal.as_view(), name='table_pivot_modal'),
25
- path('table/modal/query/<str:slug>', TableQueryModal.as_view(), name='table_query_modal'),
26
29
 
27
30
  path('single-value/modal/<str:slug>/', SingleValueModal.as_view(), name='single_value_modal'),
28
31
  path('single-value/modal/field/<str:slug>/', SingleValueTableFieldModal.as_view(), name='single_value_field_modal'),
@@ -1,14 +1,18 @@
1
1
  from django.views.generic import TemplateView
2
- from django_menus.menu import MenuMixin, MenuItem
2
+ from django.views.generic import TemplateView
3
+ from django_menus.menu import MenuItem
4
+ from django_menus.menu import MenuMixin
3
5
  from django_modals.modals import ModelFormModal
4
6
  from django_modals.processes import PROCESS_EDIT_DELETE, PERMISSION_OFF
5
7
  from django_modals.widgets.select2 import Select2Multiple
6
8
 
9
+ from advanced_report_builder.filter_query import FilterQueryMixin
7
10
  from advanced_report_builder.models import CustomReport
8
- from advanced_report_builder.utils import split_slug
11
+ from advanced_report_builder.utils import split_slug, make_slug_str
12
+ from advanced_report_builder.views.query_modal.mixin import MultiQueryModalMixin
9
13
 
10
14
 
11
- class CustomBaseView(MenuMixin, TemplateView):
15
+ class CustomBaseView(MenuMixin, FilterQueryMixin, TemplateView):
12
16
 
13
17
  def __init__(self, **kwargs):
14
18
  self.report = None
@@ -16,6 +20,7 @@ class CustomBaseView(MenuMixin, TemplateView):
16
20
  self.enable_edit = None
17
21
  self.dashboard_report = None
18
22
  self.show_toolbar = False
23
+ self.enable_queries = True
19
24
  super().__init__(**kwargs)
20
25
 
21
26
  def dispatch(self, request, *args, **kwargs):
@@ -34,6 +39,18 @@ class CustomBaseView(MenuMixin, TemplateView):
34
39
  context['title'] = self.get_title()
35
40
  return context
36
41
 
42
+ def queries_menu(self):
43
+ report_queries = self.report.reportquery_set.all()
44
+ if len(report_queries) > 1:
45
+ dropdown = []
46
+ for report_query in report_queries:
47
+ slug_str = make_slug_str(self.slug, overrides={f'query{self.report.id}': report_query.id})
48
+ dropdown.append((self.request.resolver_match.view_name,
49
+ report_query.name, {'url_kwargs': {'slug': slug_str}}))
50
+ return [MenuItem(menu_display='Version', no_hover=True, css_classes='btn-secondary',
51
+ dropdown=dropdown)]
52
+ return []
53
+
37
54
  def setup_menu(self):
38
55
  super().setup_menu()
39
56
  if not self.show_toolbar:
@@ -70,15 +87,31 @@ class CustomBaseView(MenuMixin, TemplateView):
70
87
  else:
71
88
  return self.report.name
72
89
 
73
- # noinspection PyMethodMayBeStatic
74
- def queries_menu(self):
75
- return []
76
-
77
90
  def get_dashboard_class(self, report):
78
91
  return None
79
92
 
93
+ def get_report_type(self):
94
+ return None
95
+
96
+ def get_default_query(self):
97
+ return None
80
98
 
81
- class CustomModal(ModelFormModal):
99
+ def get_default_filter(self, query):
100
+ return query
101
+
102
+ def get_query_results(self):
103
+ query = self.get_default_query()
104
+ if query is None:
105
+ return None
106
+
107
+ report_query = self.get_report_query(report=self.report)
108
+ if report_query:
109
+ result = self.process_query_filters(query=query, search_filter_data=report_query.query)
110
+ return result
111
+ return self.get_default_filter(query)
112
+
113
+
114
+ class CustomModal(MultiQueryModalMixin, ModelFormModal):
82
115
  process = PROCESS_EDIT_DELETE
83
116
  permission_delete = PERMISSION_OFF
84
117
  model = CustomReport
@@ -88,3 +121,17 @@ class CustomModal(ModelFormModal):
88
121
  form_fields = ['name',
89
122
  'report_tags',
90
123
  'notes']
124
+
125
+ ajax_commands = ['datatable', 'button']
126
+
127
+ def form_setup(self, form, *_args, **_kwargs):
128
+ fields = ['name',
129
+ 'report_tags',
130
+ 'notes']
131
+
132
+ if self.object.id and 'report_type' in self.slug:
133
+ self.add_extra_queries(form=form, fields=fields)
134
+ return fields
135
+
136
+ def get_report_type(self, **_kwargs):
137
+ return self.slug['report_type']
@@ -12,7 +12,7 @@ from django_menus.menu import HtmlMenu, MenuItem
12
12
  from django_modals.fields import FieldEx
13
13
  from django_modals.form_helpers import HorizontalNoEnterHelper
14
14
  from django_modals.forms import ModelCrispyForm
15
- from django_modals.modals import FormModal, ModelFormModal
15
+ from django_modals.modals import FormModal
16
16
  from django_modals.processes import PROCESS_EDIT_DELETE, PERMISSION_OFF
17
17
  from django_modals.widgets.select2 import Select2Multiple
18
18
  from django_modals.widgets.widgets import Toggle
@@ -24,9 +24,10 @@ from advanced_report_builder.toggle import RBToggle
24
24
  from advanced_report_builder.utils import split_attr, encode_attribute, decode_attribute, get_report_builder_class
25
25
  from advanced_report_builder.views.charts_base import ChartBaseFieldForm
26
26
  from advanced_report_builder.views.modals_base import QueryBuilderModalBaseMixin, QueryBuilderModalBase
27
+ from advanced_report_builder.views.query_modal.mixin import MultiQueryModalMixin
27
28
 
28
29
 
29
- class TableModal(QueryBuilderModalBase):
30
+ class TableModal(MultiQueryModalMixin, QueryBuilderModalBase):
30
31
  template_name = 'advanced_report_builder/datatables/modal.html'
31
32
  size = 'xl'
32
33
  model = TableReport
@@ -108,61 +109,8 @@ class TableModal(QueryBuilderModalBase):
108
109
  ]
109
110
 
110
111
  if self.object.id:
112
+ self.add_extra_queries(form=form, fields=fields)
111
113
 
112
- add_query_js = 'django_modal.process_commands_lock([{"function": "post_modal", ' \
113
- '"button": {"button": "add_query"}}])'
114
-
115
- description_add_menu_items = [
116
-
117
- MenuItem(add_query_js.replace('"', "&quot;"),
118
- menu_display='Add Query Version',
119
- css_classes='btn btn-primary',
120
- font_awesome='fas fa-pencil',
121
- link_type=MenuItem.HREF)]
122
-
123
- menu = HtmlMenu(self.request,
124
- 'advanced_report_builder/datatables/onclick_menu.html').add_items(
125
- *description_add_menu_items)
126
-
127
- fields.append(Div(HTML(menu.render()), css_class='form-buttons'))
128
- edit_query_js = 'django_modal.process_commands_lock([{"function": "post_modal", ' \
129
- '"button": {"button": "edit_query", "query_id": $(this).closest(\'tr\').attr(\'id\')}}])'
130
-
131
- duplicate_query_js = 'django_modal.process_commands_lock([{"function": "post_modal", ' \
132
- '"button": {"button": "duplicate_query", ' \
133
- '"query_id": $(this).closest(\'tr\').attr(\'id\')}}])'
134
-
135
- description_edit_menu_items = [
136
- MenuItem(duplicate_query_js.replace('"', "&quot;"),
137
- menu_display='Duplicate',
138
- css_classes='btn btn-sm btn-outline-dark',
139
- font_awesome='fas fa-clone',
140
- link_type=MenuItem.HREF),
141
-
142
- MenuItem(edit_query_js.replace('"', "&quot;"),
143
- menu_display='Edit',
144
- css_classes='btn btn-sm btn-outline-dark',
145
- font_awesome='fas fa-pencil',
146
- link_type=MenuItem.HREF)]
147
-
148
- form.fields['queries'] = CharField(
149
- required=False,
150
- label='Queries Versions',
151
- widget=DataTableReorderWidget(
152
- model=ReportQuery,
153
- order_field='order',
154
- fields=['_.index',
155
- '.id',
156
- 'name',
157
-
158
- MenuColumn(column_name='menu', field='id',
159
- column_defs={'orderable': False, 'className': 'dt-right'},
160
- menu=HtmlMenu(self.request,
161
- 'advanced_report_builder/datatables/onclick_menu.html').add_items(
162
- *description_edit_menu_items)),
163
- ],
164
- attrs={'filter': {'report__id': self.object.id}}))
165
- fields.append('queries')
166
114
  return fields
167
115
 
168
116
  def form_valid(self, form):
@@ -211,45 +159,6 @@ class TableModal(QueryBuilderModalBase):
211
159
  report_type=kwargs['report_type'],
212
160
  search_string=kwargs.get('search'))
213
161
 
214
- def datatable_sort(self, **kwargs):
215
-
216
- form = self.get_form()
217
- widget = form.fields[kwargs['table_id'][3:]].widget
218
- _model = widget.attrs['table_model']
219
- current_sort = dict(_model.objects.filter(report=self.object.id).values_list('id', 'order'))
220
- for s in kwargs['sort']:
221
- if current_sort[s[1]] != s[0]:
222
- o = _model.objects.get(id=s[1])
223
- o.order = s[0]
224
- o.save()
225
- return self.command_response('')
226
-
227
- def button_duplicate_query(self, **_kwargs):
228
- query_id = _kwargs['query_id'][1:]
229
- report_query = ReportQuery.objects.get(pk=query_id)
230
- report_query.slug = None
231
- report_query.pk = None
232
- report_query.order = None
233
- report_query.save()
234
-
235
- report_type = _kwargs['report_type']
236
- url = reverse('advanced_report_builder:table_query_modal',
237
- kwargs={'slug': f'pk-{report_query.id}-report_type-{report_type}'})
238
- return self.command_response('show_modal', modal=url)
239
-
240
- def button_add_query(self, **_kwargs):
241
- report_type = _kwargs['report_type']
242
- url = reverse('advanced_report_builder:table_query_modal',
243
- kwargs={'slug': f'report_id-{self.object.id}-report_type-{report_type}'})
244
- return self.command_response('show_modal', modal=url)
245
-
246
- def button_edit_query(self, **_kwargs):
247
- query_id = _kwargs['query_id'][1:]
248
- report_type = _kwargs['report_type']
249
- url = reverse('advanced_report_builder:table_query_modal',
250
- kwargs={'slug': f'pk-{query_id}-report_type-{report_type}'})
251
- return self.command_response('show_modal', modal=url)
252
-
253
162
 
254
163
  class TableFieldForm(ChartBaseFieldForm):
255
164
  cancel_class = 'btn-secondary modal-cancel'
@@ -515,31 +424,3 @@ class TableQueryForm(ModelCrispyForm):
515
424
 
516
425
  def submit_button(self, css_class='btn-success modal-submit', button_text='Submit', **kwargs):
517
426
  return StrictButton(button_text, onclick=f'save_modal_{self.form_id}()', css_class=css_class, **kwargs)
518
-
519
-
520
- class TableQueryModal(QueryBuilderModalBaseMixin, ModelFormModal):
521
- model = ReportQuery
522
- process = PROCESS_EDIT_DELETE
523
- permission_delete = PERMISSION_OFF
524
- form_class = TableQueryForm
525
- helper_class = HorizontalNoEnterHelper
526
-
527
- template_name = 'advanced_report_builder/datatables/query_modal.html'
528
- no_header_x = True
529
-
530
- def post_save(self, created, form):
531
- self.add_command({'function': 'save_query_builder_id_query'})
532
- return self.command_response('close')
533
-
534
- def form_setup(self, form, *_args, **_kwargs):
535
- fields = ['name',
536
- FieldEx('query', template='advanced_report_builder/query_builder.html')]
537
- return fields
538
-
539
- def ajax_get_query_builder_fields(self, **kwargs):
540
- field_auto_id = kwargs['field_auto_id']
541
-
542
- report_type_id = self.slug['report_type']
543
- query_builder_filters = self.get_query_builder_report_type_field(report_type_id=report_type_id)
544
-
545
- return self.command_response(f'query_builder_{field_auto_id}', data=json.dumps(query_builder_filters))
@@ -0,0 +1,105 @@
1
+ from crispy_forms.layout import Div, HTML
2
+ from django.forms import CharField
3
+ from django.urls import reverse
4
+ from django_datatables.columns import MenuColumn
5
+ from django_datatables.widgets import DataTableReorderWidget
6
+ from django_menus.menu import MenuItem, HtmlMenu
7
+
8
+ from advanced_report_builder.models import ReportQuery
9
+
10
+
11
+ class MultiQueryModalMixin:
12
+ def datatable_sort(self, **kwargs):
13
+ form = self.get_form()
14
+ widget = form.fields[kwargs['table_id'][3:]].widget
15
+ _model = widget.attrs['table_model']
16
+ current_sort = dict(_model.objects.filter(report=self.object.id).values_list('id', 'order'))
17
+ for s in kwargs['sort']:
18
+ if current_sort[s[1]] != s[0]:
19
+ o = _model.objects.get(id=s[1])
20
+ o.order = s[0]
21
+ o.save()
22
+ return self.command_response('')
23
+ def get_report_type(self, **_kwargs):
24
+ return _kwargs['report_type']
25
+ def button_duplicate_query(self, **_kwargs):
26
+ query_id = _kwargs['query_id'][1:]
27
+ report_query = ReportQuery.objects.get(pk=query_id)
28
+ report_query.slug = None
29
+ report_query.pk = None
30
+ report_query.order = None
31
+ report_query.save()
32
+
33
+ report_type = self.get_report_type(**_kwargs)
34
+ url = reverse('advanced_report_builder:query_modal',
35
+ kwargs={'slug': f'pk-{report_query.id}-report_type-{report_type}'})
36
+ return self.command_response('show_modal', modal=url)
37
+
38
+ def button_add_query(self, **_kwargs):
39
+ report_type = self.get_report_type(**_kwargs)
40
+ url = reverse('advanced_report_builder:query_modal',
41
+ kwargs={'slug': f'report_id-{self.object.id}-report_type-{report_type}'})
42
+ return self.command_response('show_modal', modal=url)
43
+
44
+ def button_edit_query(self, **_kwargs):
45
+ query_id = _kwargs['query_id'][1:]
46
+ report_type = self.get_report_type(**_kwargs)
47
+ url = reverse('advanced_report_builder:query_modal',
48
+ kwargs={'slug': f'pk-{query_id}-report_type-{report_type}'})
49
+ return self.command_response('show_modal', modal=url)
50
+
51
+ def add_extra_queries(self, form, fields):
52
+ add_query_js = 'django_modal.process_commands_lock([{"function": "post_modal", ' \
53
+ '"button": {"button": "add_query"}}])'
54
+
55
+ description_add_menu_items = [
56
+
57
+ MenuItem(add_query_js.replace('"', "&quot;"),
58
+ menu_display='Add Query Version',
59
+ css_classes='btn btn-primary',
60
+ font_awesome='fas fa-pencil',
61
+ link_type=MenuItem.HREF)]
62
+
63
+ menu = HtmlMenu(self.request,
64
+ 'advanced_report_builder/datatables/onclick_menu.html').add_items(
65
+ *description_add_menu_items)
66
+
67
+ fields.append(Div(HTML(menu.render()), css_class='form-buttons'))
68
+ edit_query_js = 'django_modal.process_commands_lock([{"function": "post_modal", ' \
69
+ '"button": {"button": "edit_query", "query_id": $(this).closest(\'tr\').attr(\'id\')}}])'
70
+
71
+ duplicate_query_js = 'django_modal.process_commands_lock([{"function": "post_modal", ' \
72
+ '"button": {"button": "duplicate_query", ' \
73
+ '"query_id": $(this).closest(\'tr\').attr(\'id\')}}])'
74
+
75
+ description_edit_menu_items = [
76
+ MenuItem(duplicate_query_js.replace('"', "&quot;"),
77
+ menu_display='Duplicate',
78
+ css_classes='btn btn-sm btn-outline-dark',
79
+ font_awesome='fas fa-clone',
80
+ link_type=MenuItem.HREF),
81
+
82
+ MenuItem(edit_query_js.replace('"', "&quot;"),
83
+ menu_display='Edit',
84
+ css_classes='btn btn-sm btn-outline-dark',
85
+ font_awesome='fas fa-pencil',
86
+ link_type=MenuItem.HREF)]
87
+
88
+ form.fields['queries'] = CharField(
89
+ required=False,
90
+ label='Queries Versions',
91
+ widget=DataTableReorderWidget(
92
+ model=ReportQuery,
93
+ order_field='order',
94
+ fields=['_.index',
95
+ '.id',
96
+ 'name',
97
+
98
+ MenuColumn(column_name='menu', field='id',
99
+ column_defs={'orderable': False, 'className': 'dt-right'},
100
+ menu=HtmlMenu(self.request,
101
+ 'advanced_report_builder/datatables/onclick_menu.html').add_items(
102
+ *description_edit_menu_items)),
103
+ ],
104
+ attrs={'filter': {'report__id': self.object.id}}))
105
+ fields.append('queries')
@@ -0,0 +1,38 @@
1
+ import json
2
+
3
+ from django_modals.fields import FieldEx
4
+ from django_modals.form_helpers import HorizontalNoEnterHelper
5
+ from django_modals.modals import ModelFormModal
6
+ from django_modals.processes import PROCESS_EDIT_DELETE, PERMISSION_OFF
7
+
8
+ from advanced_report_builder.models import ReportQuery
9
+ from advanced_report_builder.views.datatables.modal import TableQueryForm
10
+ from advanced_report_builder.views.modals_base import QueryBuilderModalBaseMixin
11
+
12
+
13
+ class QueryModal(QueryBuilderModalBaseMixin, ModelFormModal):
14
+ model = ReportQuery
15
+ process = PROCESS_EDIT_DELETE
16
+ permission_delete = PERMISSION_OFF
17
+ form_class = TableQueryForm
18
+ helper_class = HorizontalNoEnterHelper
19
+
20
+ template_name = 'advanced_report_builder/query_modal.html'
21
+ no_header_x = True
22
+
23
+ def post_save(self, created, form):
24
+ self.add_command({'function': 'save_query_builder_id_query'})
25
+ return self.command_response('close')
26
+
27
+ def form_setup(self, form, *_args, **_kwargs):
28
+ fields = ['name',
29
+ FieldEx('query', template='advanced_report_builder/query_builder.html')]
30
+ return fields
31
+
32
+ def ajax_get_query_builder_fields(self, **kwargs):
33
+ field_auto_id = kwargs['field_auto_id']
34
+
35
+ report_type_id = self.slug['report_type']
36
+ query_builder_filters = self.get_query_builder_report_type_field(report_type_id=report_type_id)
37
+
38
+ return self.command_response(f'query_builder_{field_auto_id}', data=json.dumps(query_builder_filters))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-advanced-report-builder
3
- Version: 0.5.7
3
+ Version: 0.6.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
@@ -107,6 +107,7 @@ advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugin
107
107
  advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/invert.scss
108
108
  advanced_report_builder/static/advanced_report_builder/query_builder/scss/plugins/sortable.scss
109
109
  advanced_report_builder/templates/advanced_report_builder/query_builder.html
110
+ advanced_report_builder/templates/advanced_report_builder/query_modal.html
110
111
  advanced_report_builder/templates/advanced_report_builder/select_column.html
111
112
  advanced_report_builder/templates/advanced_report_builder/charts/modal.html
112
113
  advanced_report_builder/templates/advanced_report_builder/charts/modal_field.html
@@ -119,7 +120,6 @@ advanced_report_builder/templates/advanced_report_builder/charts/pie/middle.html
119
120
  advanced_report_builder/templates/advanced_report_builder/data_merge/data_merge.html
120
121
  advanced_report_builder/templates/advanced_report_builder/datatables/modal.html
121
122
  advanced_report_builder/templates/advanced_report_builder/datatables/onclick_menu.html
122
- advanced_report_builder/templates/advanced_report_builder/datatables/query_modal.html
123
123
  advanced_report_builder/templates/advanced_report_builder/datatables/report.html
124
124
  advanced_report_builder/templates/advanced_report_builder/datatables/select_pivot.html
125
125
  advanced_report_builder/templates/advanced_report_builder/datatables/fields/modal.html
@@ -149,6 +149,9 @@ advanced_report_builder/views/datatables/__init__.py
149
149
  advanced_report_builder/views/datatables/datatables.py
150
150
  advanced_report_builder/views/datatables/modal.py
151
151
  advanced_report_builder/views/datatables/utils.py
152
+ advanced_report_builder/views/query_modal/__init__.py
153
+ advanced_report_builder/views/query_modal/mixin.py
154
+ advanced_report_builder/views/query_modal/modal.py
152
155
  advanced_report_builder/views/targets/__init__.py
153
156
  advanced_report_builder/views/targets/utils.py
154
157
  advanced_report_builder/views/targets/views.py
@@ -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.5.7",
8
+ version="0.6.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,