* chore: use before_request hook for dynamic routes
* Shorten hook names
* Introduce with_feature_flags and update thumbnail tests
* Disable test that fails in CI but not locally
* Add test for reports
* add hook for future async api calls
* test to see conflict
* add async middleware and update reducers
* working async dashboard load
* implement getcharts api
* add user permissions to explore and dashboard bootstrap data
* integrate api calls with getinitial state
* update namings
* accept an id or a slug in the dashboard charts api
* add permissions function
* fix merge
* update state
* get dashboard charts by id or slug
* fix undefined states
* variable names
* stop using some more bootstrap data
* fix metadata reference
* remove unused bootstrap from the template
* add errorboundry to dashboard
* refactoring, fixing
* update permissions
* add just roles
* id is supposed to be a string
* unused vars
* get datasources from api
* make onError optional
* use resource hooks, better error boundary
* add loading state for dashboardroute
* remove console
* add conditional
* more conditionals
* testing out a possible fix for cypress
* convert edit/standalone test to cypress
* remove bootstrappy assertions
* lint
* fix dashboard edit history issue
* rename stuff
* address recent native filters schema change
* remove unused getInitialState
* remove .only from test
* hooksy redux usage
* Revert "more conditionals"
This reverts commit 25c8ed61b4.
* cleanup
* undo unnecessary change
* actually need conditions here
* certainty
* Revert "certainty"
This reverts commit 77dea1915b.
* more permutations (untested yolo)
* Update superset-frontend/src/chart/chartReducer.ts
Co-authored-by: Evan Rusackas <evan@preset.io>
* import style
* comment
* cleaner dashboardInfo
* remove debug code
* use memo for getPermissions
* fix lint
* adjust name/location of DashboardPage
* move logic for REMOVE_SLICE_LEVEL_LABEL_COLORS to DAO
* stop using full_data()
* remove unused (and now useless) json=true query param
Co-authored-by: David Aaron Suddjian <aasuddjian@gmail.com>
Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
* feat(dashboard) dashboard/id/datasets endpoint
* schema for dashboard datasets
* list instead of map
* finish dashboard dataset schema
* description
* better test
* add the dataset schema to the schema list
* lint
* refactor out id_or_slug filter logic
* fix(dashboard): accept slug in place of id in url
* remove unnecessary show fields
* fixes and tests
* linting
* linter compliance
* change requests
* names
* feat(dashboard): get endpoint for a dashboard's charts
* temporary debugging fetch on the frontend
* attempted fixes
* singular -> plural derp
* plural -> singular derp derp
* docstring changes
* change return, no id
* move log above query
* add get_charts to include_route_methods /)_-)
* add get charts api
* result not response
* refactor test helper function to a mixin
* add test for new endpoint
* fix test when running in isolation
* correct comment
* rename test
* more tests, handle dashboard not found
* simplify test to use new helper function
* remove debugging code from frontend
* update docstring
* attempt a doc fix
* add id to api docs
* fix docs
* use pytest fixture
* why oh why does test order matter here, idk
* writing a schema for the endpoint
* more efficient fetching of charts
* testing tweaks
Co-authored-by: Phillip Kelley-Dotson <pkelleydotson@yahoo.com>
* chore: improve analytics
* lint
* log more events, add note in UPDATING.md
* handling base class
* more events\!
* get ref through
* right before @expose
* fix context
* touchups
* Export datasets as ZIP files
* Add logging when failing to parse extra
* Export datasets as ZIP files
* Export charts as Zip file
* Export dashboards as a Zip file
* Add logging
* Refactored `put` method in dashboards/api.py:
- changed retun statements
- removed lint disabled rule
* `arguments-differ` disabled rule is not anymore valid - put argiments don't differ
* `delete()` method in dashboards/api has now same list of argiments:
- removing unecessary pylint check disabled
* `bulk_delete()` method in dashboards/api has now same list of argiments:
- removing unecessary pylint check disabled
* fix: API marshmallow3 drop utc for naive datetime fields
* fix: API marshmallow3 drop utc for naive datetime fields
* fix, tests
* isort and test
* black
* add and fix test
* fix comment
* feat(api): bump marshmallow and FAB to version 3
* revert query context tests changes
* obey mypy
* fix tests
* ignore types that collide with marshmallow
* preparing for RC2
* fix tests for marshmallow 3
* typing fixes for marshmallow
* fix tests and black
* fix tests
* bump to RC3 and lint
* Test RC4
* Final 3.0.0
* Address comments, fix tests, better naming, docs
* fix test
* couple of fixes, addressing comments
* bumping marshmallow
* feat: add support for alerts
* Add ModelViews
* First pass at adding scheduled Alert support
* Fix syntax errors
* Add log_retention and database to model
* Improving screenshots
* Still refactoring screenshots
* Pass down thumb_size properly
* Progress on screenshot endpoint
* Add alerts.last_eval_dttm and alert query logic
* Getting ready to split compute_screenshot and screenshot/{SHA}
* split the endpoints
* Improving alerting loop
* empty methods
* Add CLI command 'superset alert' that runs a sched loop
* Getting things to work
* email delivery
* A working email\!
* Add feature flag
* Add some description_columns to AlertModelView
* Little tweaks
* Use database.get_df, eval cells for truthiness
* Migrate thumbnail/screenshot functions to use new arg pattern
* Addressing PR feedback
* Update alerts DB migration down_revision
* Resolve _deliver_email arg conflict
* Make mypy happy
* Make isort happy
* Make pylint happy
Co-authored-by: Rob DiCiuccio <rob.diciuccio@gmail.com>
* Bump pylint version to 2.5.3
* Add a global disable for the most common new pylint error
* Fix a bunch of files containing very few errors
* More pylint tweakage, low-hanging fruit
* More easy stuff...
* Fix more erroring files
* Fix the last couple of errors, clean pylint!
* Black
* Fix mypy issue in connectors/druid/models.py
* [dashboards] New, tittle and slug OR filter
* Update requirements, because of prison bump
* Tests
* Fix tests
* Avoid like filter on empty string value
* merge master brings strict typing to the table
* filter owners select by text input
* use rison
* fix backend owners filter logic
* use fullname, not username on owners inputs
* fix some tests
* fixing tests
* deterministic tests
* appease linter
* add back search by username
* more comprehensive filter test
* add clarifying text
* formatting...
* [mypy] Enforcing typing for superset.dashboards
* Make return types equal on all commands
* Make return types equal on all commands
* [dashboard] address comments same return type on commands
* lint
* lint
* [dashboard] Refactor API using SIP-35
* [dashboard] Fix, import
* [dashboard] more tests
* [dashboards] a misc of improvements
* [charts] Fix, DAO and tests
* [dashboards] small exceptions refactor
* [dashboards] lint
* [dashboards] Improves comments on base classes
* [dashboards] lint