Commit Graph

1443 Commits

Author SHA1 Message Date
Jesse Yang c3ac61271a
feat(dashboard): make permalink deterministic (#20632) 2022-07-12 16:33:18 -07:00
Elizabeth Thompson c2be54c335
fix: pandas bug when data is blank on post-processing (#20629)
* fix pandas bug when data is blank on post-processing

* account for multiple queries when data is blank
2022-07-08 16:33:53 -07:00
AAfghahi 0ce0c6e1eb
chore: removing Druid from front- and back- end (#20338)
* first pass at removing native Druid nosql

* removing having_druid

* addressing comments, linting

* fixed all tests

* addressing comments

* redirected to ui-core TimeGranularity type

* query form metric linting

* fixed broken chart type

* implementing feedback
2022-07-08 17:57:03 +02:00
Yongjie Zhao 4e6e87f62e
feat: Area viz migration (#20359) 2022-07-08 19:56:03 +08:00
John Bodley f0ca158989
fix: Refactor ownership checks and ensure consistency (#20499)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2022-07-07 11:04:27 -07:00
Smart-Codi e7b965a3b2
fix: Bad date type in email text report for table chart (#20119)
* fix bad date type in email text report for table chart

* fix test, pylint issue

* add test case for date type
2022-07-07 11:31:50 -06:00
Yongjie Zhao 7626c31372
feat: TreeMap migration (#20346) 2022-07-07 19:37:18 +08:00
Yongjie Zhao 414cc99ca2
fix: datetime.data in series (#20618) 2022-07-07 09:33:44 +08:00
Reese f9109583ce
fix: Allow dataset owners to explore their datasets (#20382)
* fix: Allow dataset owners to explore their datasets

* Re-order imports

* Give owners security manager permissions to their datasets

* Update test suite

* Add SqlaTable to is_owner types

* Add owners to datasource mock

* Fix VSCode import error

* Fix merge error
2022-07-06 11:27:50 -03:00
Daniel Vaz Gaspar f38dd1d42d
feat: add hooks on set_perm for new data permissions (#20600)
* feat: add hooks on set_perm for new data permissions

* fix lint
2022-07-06 09:54:18 +01:00
Rui Zhao 818962cc89
fix(embedded): Retry when executing alert queries to avoid sending transient errors to users as alert failure notifications (#20419)
Co-authored-by: Rui Zhao <zhaorui@dropbox.com>
2022-07-05 13:23:05 -07:00
Michael S. Molina 662bab1e6d
feat: Renders Explore in SPA (#20572)
* feat: Renders Explore in SPA

* Adds permalink support

* Replaces navigation from Welcome page

* Fix initializing feature flags

* Remove redundant import

* Adds saveSlice workaround

* Fixes paths

* Fixes lint error

* Fixes tests

* Fix url to explore from Datasets view

* Fix explore page height

Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com>
2022-07-05 16:58:09 -03:00
John Bodley 94b3d2f0f0
refactor: Deprecate ensure_user_is_set in favor of override_user (#20502)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2022-07-05 10:57:40 -07:00
John Bodley ad308fbde2
chore(rls): Remove passing global username (#20344)
* chore(rls): Remove passing global username

* Update manager.py

* Update manager.py

* Update manager.py

* Update manager.py

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2022-07-05 10:51:24 -07:00
Yongjie Zhao b870a21eaa
refactor: remove unused flatten function (#20582) 2022-07-01 19:17:55 +08:00
Jesse Yang cadd259788
feat: save active tabs in dashboard permalink (#19983) 2022-06-29 09:43:52 -07:00
John Bodley 3483446c28
refactor: Cleanup user get_id/get_user_id (#20492)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2022-06-24 17:57:04 -07:00
Michael S. Molina 20163361b9
feat: Adds the /explore endpoint to the v1 API (#20399)
* feat: Adds the /explore endpoint to the v1 API

* Fixes pylint errors

* Fixes tests

* Changes the tests logic

* Removes ABC reference

* Improves indentation

* Addresses review comments

* Rebases code

* Improves dataset and slice assertions

* Fixes tests

* Removes schema and table name assertions

* Removes fixed IDs

* Fixes datasource ID
2022-06-24 08:23:30 -03:00
Elizabeth Thompson 44f0b511dd
remove autoflush for queries during dual write (#20460) 2022-06-23 14:50:30 -07:00
Beto Dealmeida f3b289d3c3
fix: ensure column name in description is string (#20340)
* fix: ensure column name in description is string

* Add unit test
2022-06-21 10:10:46 -03:00
Hugh A. Miles II e3e37cb68f
chore: switching out ConnectorRegistry references for DatasourceDAO (#20380)
* rename and move dao file

* Update dao.py

* add cachekey

* Update __init__.py

* change reference in query context test

* add utils ref

* more ref changes

* add helpers

* add todo in dashboard.py

* add cachekey

* circular import error in dar.py

* push rest of refs

* fix linting

* fix more linting

* update enum

* remove references for connector registry

* big reafctor

* take value

* fix

* test to see if removing value works

* delete connectregistry

* address concerns

* address comments

* fix merge conflicts

* address concern II

* address concern II

* fix test

Co-authored-by: Phillip Kelley-Dotson <pkelleydotson@yahoo.com>
2022-06-21 13:22:39 +02:00
Daniel Vaz Gaspar 60eb1094a4
feat: add name, description and non null tables to RLS (#20432)
* feat: add name, description and non null tables to RLS

* add validation

* add and fix tests

* fix sqlite migration

* improve default value for name
2022-06-20 13:52:05 +01:00
John Bodley 8b0bee5e8b
[fbprophet] Fix frequencies (#20326) 2022-06-19 21:53:09 -07:00
Lily Kuang ab9f72f1a1
fix(embedded): CSV download for chart (#20261)
* move postForm to superset client

* lint

* fix lint

* fix type

* update tests

* add tests

* add test for form submit

* add test for request form

* lint

* fix test

* fix tests

* more tests

* more tests

* test

* lint

* more test for postForm

* lint

* Update superset-frontend/packages/superset-ui-core/test/connection/SupersetClientClass.test.ts

Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>

* update tests

* remove useless test

* make test cover happy

* make test cover happy

* make test cover happy

* make codecov happy

* make codecov happy

Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>
2022-06-17 20:01:08 -07:00
mohittt8 41bbf62e58
fix(presto): use correct timespec for presto (#20333) 2022-06-16 16:43:17 -07:00
Beto Dealmeida 998624b1a5
feat: allow setting db UUID (#20412)
* WIP

* feat: allow passing UUID when creating a DB

* Test

* Fix field
2022-06-16 15:53:59 -07:00
Elizabeth Thompson 12436e47c9
fix key error on permalink fetch for old permalinks (#20414) 2022-06-16 15:51:17 -07:00
Diego Medina 3fe53f735e
fix: Unable to export multiple Dashboards with the same name (#20383) 2022-06-15 00:27:24 -06:00
Elizabeth Thompson 5a137820d0
fix: catch some potential errors on dual write (#20351)
* catch some potential errors on dual write

* fix test for sqlite
2022-06-13 17:30:13 -07:00
Reese 11b33de61b
feat(api): Added "kind" to dataset/<pk> endpoint (#20113) 2022-06-10 13:03:48 -07:00
Craig Rueda d1c24f81f2
chore(migrations): Renaming migration files so that they're easier to keep track of (#20284)
* Renaming migration files so that they're easier to keep track of

* Fixing broken import

* Fixing broken import again

* Fixing broken tests
2022-06-07 10:30:09 -07:00
AAfghahi c131f025f8
chore: add event logger to reports/alerts CRUD (#20249)
* add event logger to report CRUD

* added assert metric to tests

* added unique name to action

* testing

* with inline log context
2022-06-06 16:13:22 +02:00
John Bodley b08e21efd9
[requirements] Resolve rebase conflicts (#20152)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2022-06-03 15:27:35 -07:00
Elizabeth Thompson 32bb1ce3ff
feat!: pass datasource_type and datasource_id to form_data (#19981)
* pass datasource_type and datasource_id to form_data

* add datasource_type to delete command

* add datasource_type to delete command

* fix old keys implementation

* add more tests
2022-06-02 16:48:16 -07:00
Diego Medina 8638f59b4c
fix: Box Plot Chart throws an error when the average (AVG) / SUM is being calculated on the Metrics (#20235)
* fix: Box Plot Chart throws an error when the average (AVG) / SUM is being calculated on the Metrics

* add test
2022-06-02 10:00:04 +08:00
Beto Dealmeida 05a138a191
feat: query datasets from SQL Lab (#15241)
* feat: Jinja2 macro for querying datasets

* Add docs

* Address comments
2022-06-01 15:18:40 -07:00
Smart-Codi 74c5479926
fix: datatype tracking issue on virtual dataset (#20088)
* Fix datatype tracking issue on virtual dataset

* fix pytest issue on postgresql
2022-06-01 13:43:11 -06:00
Yongjie Zhao 1530c34792
fix: failed samples should throw exception (#20228) 2022-06-01 18:24:01 +08:00
John Bodley 97ce920d49
fix(csv): Ensure df_to_escaped_csv handles NULL (#20151)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2022-05-31 09:56:25 -07:00
Daniel Vaz Gaspar 77ccec50cc
feat: add statsd metrics for notifications (#20158)
* feat: add statsd metrics for notifications

* fix import

* fix lint

* add decorator arg for custom prefix

* add tests
2022-05-26 15:43:05 +01:00
Ville Brofeldt 64c4226817
fix(temporary-cache): when user is anonymous (#20181)
* fix(temporary-cache): fail on anonymous user

* make exceptions generic

* fix test

* remove redundant bool return

* fix unit tests
2022-05-26 14:45:20 +03:00
Phillip Kelley-Dotson 0501ad25e8
fix: always create parameter json field (#19899)
* fix: always create parameter json field

* ensure validation for empty catalog

* check engine instead of name

* put validation in be

* fix test

* fix test

* remove test
2022-05-25 14:23:25 -07:00
Yongjie Zhao 40abb44ba1
feat: add samples endpoint (#20170) 2022-05-25 18:18:58 +08:00
cccs-tom b0c6935f06
fix: Allow dataset owners to see their datasets (#20135) 2022-05-25 09:58:15 +01:00
Hugh A. Miles II f8ea7788a9
feat: Add Certified filter to Datasets (#20136) 2022-05-23 17:58:15 -04:00
Daniel Vaz Gaspar b9a98aae79
fix: None dataset and schema permissions (#20108)
* fix: None dataset and schema permissions

* fix pylint

* add migration and test

* fix migration
2022-05-20 09:40:10 +01:00
Ville Brofeldt e2f11d3680
fix(presto,trino): use correct literal dttm separator (#20123)
* fix(presto,trino): use correct literal dttm separator

* remove redundant tests
2022-05-19 20:42:31 +03:00
Hugh A. Miles II 660af409a4
feat: Save column data into json_metadata for all Query executions (#20059)
* add save_metadata function to QueryDAO

* use set_extra_json_key

* added test

* Update queries_test.py

* fix pylint

* add to session

* add to session

* refactor

* forgot the return
2022-05-18 13:11:14 -04:00
AAfghahi e69f6292c2
chore: Set limit for a query in execute_sql_statement (#20066)
* test for query limit

* fixed tests
2022-05-16 17:56:46 -04:00
cccs-RyanS ddc01ea781
feat(business-types): initial implementation of SIP-78 (#18794)
* add BUSINESS_TYPE_ADDONS to config with example callback

* Removing uneeded whitespace

* [Work in progress] Modifying cidr function to allow for  single ip and adding port outline

* Added test REST endpoint, added some more ports

I've thrown in a test.py script as well that will try to connect to the
business_type endpoint.

* Moving code from config.py into the business api

Very simple api is exposed that will allow someone to call a checkport
endpoint and get back a response.

* Removing commented out bits.

* Adding fucntion dict back to the config

* Moving business_type endpoint to charts

* Adding schema for get endpoint

* Removing imports, updating docstring, fixing typo

Just some small changes as described in the title.  I've updated the
test.py as well so it functions with the endpoint changes.

* Adding translation dict

* Fixing ops

* Adding check for list

* Modifying changes to add quotes where needed

Also changed BusinessTypeResponse to resp.

* Adding in some code to call the filter config

If a column starts with "cidr_" it will call the code in config.py to
try to translate the filter.  Nothing is changed in the JSON being
executed, just some information is dumped to console.

* Porting Ryan's changes

* Adding migration script (as per Ryan's PR)

* Fixing typo

* Prettier fixes

* [CLDN-1043] Adding rough version of filter changes for business types

* fix down migration

* Fixing bugs after merge

* adding functionality to appy filters in back end

* Fixing linting issues

* fix down revision

* Changing conversion callback to handle multiple values at once

* Adding string representation of values

* Code cleanup plus fixing debouce to only be called once for each entry

* Removing non needed logginh

* Changing operator list to use sting values

* Using text value operators

* Removing clear operator call

* Moving business type endpoints

* fix down revision

* Adding port functions

* update migration

* fix bad rebase and add ff

* implement validator

* dont add invalid values to response

* [CLDN-1205] Added a new exception type for a business type translation error. Added the error message in the display_value field within the business type response. Modified the IP and Port business types to populate the error message field in the response if an error occurs

* [CLDN-1205] Added meaningful error message for port translation errors

* Removing status field from businesstype Response and adding in error message

* [CLDN-1205] Added check to make sure the port business type is within the valid range of ports, if it is not, it will populate the error message

* [CLDN-1205] Fixed the if statement that checks to see if the string_value is in the valid range of port numbers. It did not corrently verify this before now.

* [CLDN-1205] Fixed an error where it was trying to use string_value in <= statements. I just casted string_value to an integer if it is numeric, which allows <= operators to be used on it

* [CLDN-1207] Added unit tests for the cidr_func and port_translation_func functions which are located in /superset/config.py

* [CLDN-1207] removed the assertRaises line as it does not work with the cidr_func and port_translation_func functions

* [CLDN-1207] Added the skeleton of the test_cidr_translate_filter_func unit test, still need to update what the expected response from the function will be.

* [CLDN-1207] Added the remainder of the back-end unit tests for the business types

* [CLDN-1207] Fixed the syntax error which caused the test_cidr_translate_filter_func_NOT_IN_double unit test to fail

* [CLDN-1207] Removed the logging that was added for debugging purposes

* [CLDN-1207] Formatted the commands_tests.py file to make it nicer to look at/read through

* [CLDN-1207] Fixed the code so that it conformed to the pylint requirements (i.e., pylint no longer complains about the code in commands_tests.py)

* [CLDN-1207] Modified some of the docstrings so they made better use of the 100 character per line, line limit

* [CLDN-1207] Added the beginnings of the unit tests for the
business types API

* [CLDN-1207] Added a comment to the top of the commands_tests.py file explaining how to run the unit tests. This prevents the next person who tries to run them from having to waste time trying the different forms of testing that Superset supports (e.g., pytest, tox, etc.)

* [CLDN-1207] Added a grammar fix to the comments describing how to run the unit tests

* [CLDN-1207] Modified the description of the business_type API endpoints as they did not represent what the API was actually doing

* [CLDN-1207] Added further instructions on how to run the unit tests that are within the business_type/api_tests.py file

* add request validation

* disable request if business type missing

* [CLDN-1207] Unit tests for the business type API are now working, however, they need to be modified to make use of @mock as we don't want to have to run the server to be able to run the unit tests

* Removing businesss types deffinitons from config

* Adding select to only show valid business types

* Fixed Enzyme tests

* Added scalfolding for selecting filter dropdown

* Adding intigration tests

* fix revision

* fix typos and unnecessary requests

* break out useBusinessTypes

* Added front-end RTL unit tests for the business type API endpoint

* Fixed error from unit tests

* Added a unit test to ensure the operator list is updated after a business type API response is received

* Removing elect compoenet for business types

* Adding feature flag and allowing saving when no business type present

* fixing useEffect hooks

* Adding feature flag to model

* Changing behavior such that an empty string returns a default response

* add form validation

* Modified comments in unit test as command to run test has changed

* Modified comments in unit test as filename to run test has changed

* Modified the api_tests.py file to conform to the linting requirements

* Changed the name of one of the tests to reflect what the test is actually testing

* Added cypress back to the package.json

* Added informative comments

* Updated comments in files as well as removed imports which were not being used

* Changes made by npm run prettier

* Fixed spelling mistakes

* Updated models.py to remove placeholder comments used in development

* Added feature flag mocking in unit test

* Fixing open api failure

* Fixing business types to pass unit tests

* Reverting unsafe connections back to false

* Removing print statement

* Adding business tpye to export test

* setting default feature flag to false for business type

* Reverting pre commit

* Reverting pre commit and running pre commit

* Reverting pre commit and running pre commit

* Fixing formatting

* Adding license

* Fixing Linting

* Protecting api enpoints

* updating model

* Fixing code path when business type exists

* Linting

* Linting

* Fixing linting

* Fixing spelling

* Fixing schemas

* Fixing app import

* fixing item render

* Added RTL test to make sure business type operator list is updated after API response

* Fixing linting

* fix migration

* Changing unit tests

* Fixing import and DB migration after rebase

* Renaming to advanced types

* Fixing Linting

* More renaming

* Removing uneeded change

* Fixing linting and test errors

* Removing unused imports

* linting

* Adding more detailed name for migration

* Moving files to plugins

* more renaming

* Fixing schema name

* Disabling feature flag that should not be enabled by default

* Adding extra cehck

* NameChange

* formatting

* Fixing equals check

* Moveing all advanced type classes and types to one file, and converting tests to functional

* Adding advanced type to test and fix linitng

Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
Co-authored-by: Dan Parent <daniel.parent@cse-cst.gc.ca>
Co-authored-by: GITHUB_USERNAME <EMAIL>
Co-authored-by: cccs-Dustin <96579982+cccs-Dustin@users.noreply.github.com>
2022-05-16 17:58:21 +03:00