All notable changes to this project will be documented in this file.
- Fix issue with Line Chart on highcharts engine
- Reintroduce the stacking option on highcharts engine.
- Fix issue with having different version of the same chart on the same page.
- Enhanced the demo dashboard to show more capabilities regarding the charts.
- Implement Slick reporting media override feature + docs
- Add
Integrating reports into your Admin site
section to the docs - Group by and crosstab reports do not need date_field set anymore. Only time series do.
- Fix in FirstBalance Computation field if no date is supplied
- Add
REPORT_VIEW_ACCESS_FUNCTION
to control access to the report view
- Add
get_slick_reporting_media
andget_charts_media
templatetags - Add
get_group_by_custom_querysets
hook to ReportView - Enhance and document adding export options and customizing the builtin export to csv button
- Enhance and document adding custom buttons to the report page
- Enhance and document adding a new chart engine
- Fix in SlickReportingListView
- Move all css and js resources to be handled by
Media
governed bysettings.SLICK_REPORTING_SETTINGS
- Change settings to be a dict , adding support JQUERY_URL and FONT AWESOME customization #79 & #81
- Fix issue with chartjs not being loaded #80
- Remove
SLICK_REPORTING_FORM_MEDIA
- Breaking: changed
report_title_context_key
default value toreport_title
- Breaking: Renamed simple_report.html to report.html
- Breaking: Renamed
SlickReportField
toComputationField
. SlickReportField will continue to work till next release. - Revised and renamed js files
- Add dashboard capabilities.
- Added auto_load option to ReportView
- Unified report loading to use the report loader
- Fix issue with group_by_custom_queryset with time series
- Fix issue with No group by report
- Fix issue with traversing fields not showing up on ListViewReport
- Fix issue with date filter not being respected in ListViewReport
- Add a demo project for exploration and also containing all documentation code for proofing.
- Revise and Enhancing Tutorial , Group by and Time series documentation.
- Fix issue with error on dev console on report page due to resources duplication
- Fix issue with Custom querysets not being correctly connected in the view
- Fix issue with time series custom dates
- Fix issue with Crosstab on traversing fields
- Added missing js files ported from erp_framework package.
- Document the need for "crispy_bootstrap4" in the docs and add it as a dependency in the setup.
- Added crosstab_ids_custom_filters to allow custom filters on crosstab ids
- Added
group_by_custom_querysets
to allow custom querysets as group - Added ability to have crosstab report in a time series report
- Enhanced Docs content and structure.
- Deprecated
form_factory
in favor offorms
, to be removed next version. - Deprecated
crosstab_model
in favor ofcrosstab_field
, to be removed next version. - Deprecated
slick_reporting.view.SlickReportView
andslick_reporting.view.SlickReportViewBase
in favor ofslick_reporting.view.ReportView
andslick_reporting.view.BaseReportView
, to be removed next version. - Allowed cross tab on fields other than ForeignKey
- Added support for start_date_field_name and end_date_field_name
- Added support to crosstab on traversing fields
- Added support for document types / debit and credit calculations
- Added support for ordering via
ReportView.default_order_by
and/or passing the parameterorder_by
to the view - Added return of Ajax response in case of error and request is Ajax
- Made it easy override to the search form. Create you own form and subclass BaseReportForm and implement the mandatory method(s).
- Consolidated the needed resources in
slick_reporting/js_resource.html
template, so to use your own template you just need to include it. - Fixed an issue with report fields not respecting the queryset on the ReportView.
- Fixed an issue if a foreign key have a custom
to_field
set either ingroup_by
and/orcrosstab_field
. - Enhancing and adding to the documentation.
- Black format the code and the documentation
- Breaking: [Only if you use Crosstab reports] renamed crosstab_compute_reminder to crosstab_compute_remainder
- Breaking : [Only if you set the templates statics by hand] renamed slick_reporting to ra.hightchart.js and ra.chartjs.js to erp_framework.highchart.js and erp_framework.chartjs.js respectively
- Fix an issue with Crosstab when there crosstab_compute_remainder = False
- Added SlickReportingListView: a Report Class to display content of the model (like a ModelAdmin ChangeList)
- Added
show_time_series_selector
capability to SlickReportView allowing User to change the time series pattern from the UI. - Added ability to export to CSV from UI, using
ExportToStreamingCSV
&ExportToCSV
- Now you can have a custom column defined on the SlickReportView (and not needing to customise the report generator).
- You don't need to set date_field if you don't have calculations on the report
- Easier customization of the crispy form layout
- Enhance weekly time series default column name
- Add
Chart
data class to hold chart data
- Add report_title to context
- Enhance SearchForm to be easier to override. Still needs more enhancements.
- Fix issue with
ReportField
when it has arequires
in time series and crosstab reports
- Now a method on a generator can be effectively used as column
- Use correct model when traversing on group by
- Fix Issue with group_by field pointing to model with custom primary key Issue #58
- Fix highchart cache to target the specific chart
- Added initial and required to report_form_factory
- Added base_q_filters and base_kwargs_filters to SlickReportField to control the base queryset
- Add ability to customize ReportField on the fly
- Adds
prevent_group_by
option to SlickReportField Will prevent group by calculation for this specific field, serves when you want to compute overall results. - Support reference to SlickReportField class directly in
requires
instead of its "registered" name. - Adds PercentageToBalance report field
- Change the deprecated in Django 4
request.is_ajax
.
- Fix an issue with time series calculating first day of the month to be of the previous month #46
- Fix Django 4 compatibility (@squio)
- Breaking [ONLY] if you have overridden ReportView.get_report_results()
- Moved the collecting of total report data to the report generator to make easier low level usage.
- Fixed an issue with Charts.js
get_row_data
- Added ChartsOption 'time_series_support',in both chart.js and highcharts
- Fixed
SlickReportField.create
to use the issuing class not the vanilla one.
- Fix compatibility with Django 3.2
- Add ability to refer to related fields in a group by report(@jrutila)
- Add exclude_field to report_form_factory (@gr4n0t4)
- Added support for group by Many To Many field (@gr4n0t4)
- Add datepicker initialization function call (@squio)
- Fixed an issue with default dates not being functional.
- Added missing prefix on integrity hash (@squio)
- Enhanced Field prepare flow
- Add traversing for group_by
- Allowed tests to run specific tests instead of the whole suit
- Enhanced templates structure for easier override/customization
- Enhanced Time Series Plot total HighChart by accenting the categories
- Enhanced the default verbose names of time series.
- Expanding test coverage
- Allow for time series to operate on a non-group by report
- Allow setting time series custom dates on ReportGenerator attr and init
- Fix a bug with setting the queryset (but not the report model) on SlickReportView
- Fixed an issue if GenericForeignKey is on the report model
- Fixed an issue with Time series annual pattern
- Created the demo site https://django-slick-reporting.com/
- Add support to group by date field
- Add
format_row
hook to SlickReportingView - Add support for several chart engine per same report
- Add
SLICK_REPORTING_FORM_MEDIA
&SLICK_REPORTING_DEFAULT_CHARTS_ENGINE
setting. - Documenting SlickReportView response structure.
- Fix issue with special column names
__time_series__
and__crosstab__
- Fix issue with Crosstab reminder option.
- Properly initialize Datepicker (#12 @squio)
- Use previous date-range for initialization if it exists
- Bring back calculateTotalOnObjectArray (#11)
- Bypassing default ordering by when generating the report (#10)
- Fix in dates in template and view
- Renamed
SampleReportView
toSlickReportView
- Renamed
BaseReportField
toSlickReportField
- Added
SlickReportViewBase
leaving sanity checks for theSlickReportView
- Add Sanity checks against incorrect entries in columns or date_field
- Add support to create ReportField on the fly in all report types
- Enhance exception verbosity.
- Removed
doc_date
field reference .
- Fixed an issue getting a db field verbose column name
- Fixed an issue with the report demo page's filter button not working correctly.
- Fixed an error with ManyToOne Relation not being able to get its verbose name (@mswastik)
- Bring back crosstab capability
- Rename
quan
to the more verbosequantity
- Minor enhancements around templates
- Adds
is_summable
option for ReportFields, and pass it to response - Add option to override a report fields while registering it.
- Test ajax Request
- Fix a bug with time series adding one extra period.
- Fix a bug with Crosstab data not passed to
report_form_factory
- Enhance Time series default column verbose name
- testing: brought back ReportField after unregister test
- Fix Pypi package not including statics.
- Crosstab support
- Chart title defaults to report_title
- Enhance fields naming
- Fix a naming issue with license (@iLoveTux)
- Ability to create a ReportField on the fly.
- Document SLICK_REPORTING_DEFAULT_START_DATE & SLICK_REPORTING_DEFAULT_START_DATE settings
- Test Report Field Registry
- Lift the assumption that a Report field name should start and end with "__". This is only a convention now.
- Port Charting from Ra Framework
- Enhance ReportView HTML response
- Ported from Ra Framework