Commit Graph

1416 Commits

Author SHA1 Message Date
Lily Kuang 224769bd45
feat(embedded): API get embedded dashboard config by uuid (#19650)
* feat(embedded): get embedded dashboard config by uuid

* add tests and validation

* remove accidentally commit

* fix tests
2022-04-12 15:14:08 -07:00
Yongjie Zhao d7dd4119d4
fix: time comparision (#19659) 2022-04-12 18:19:22 +08:00
AAfghahi 4bf4d58423
fix: update Permissions for right nav (#19051)
* draft pr

* finished styling

* add filter

* added testing

* added tests

* added permissions tests

* Empty-Commit

* new test

* Update superset-frontend/src/views/components/MenuRight.tsx

Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>

* revisions

* added to CRUD view

Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2022-04-11 16:50:59 -04:00
Jesse Yang b45f89b954
refactor: consistent migration tests organization (#19635) 2022-04-09 07:50:52 -07:00
Jesse Yang ce2bd98442
test: freeze time for dashboard export test (#19634) 2022-04-09 07:49:39 -07:00
Jesse Yang 738bd04b4f
fix(test): make test_clean_requests_after_schema_grant more idempotent (#19625) 2022-04-09 07:48:37 -07:00
Ville Brofeldt 9a9e3b6e3b
test(jinja): refactor to functional tests (#19606) 2022-04-08 20:32:38 +03:00
Daniel Vaz Gaspar d6d2777ada
feat: deprecate old API and create new API for dashes created by me (#19434)
* feat: deprecate old API and create new API for dashes created by me

* add tests

* fix previous test

* fix test and lint

* fix sqlite test

* fix lint

* fix lint

* lint

* fix tests

* fix tests

* use dashboards get list instead

* clean unnecessary marshmallow schema

* Update superset/views/core.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* lint

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2022-04-08 09:05:22 +01:00
Beto Dealmeida 83c3779a6c
feat: add a `where_in` filter for Jinja2 (#19574) 2022-04-07 07:27:23 -07:00
Elizabeth Thompson aa419b8119
fix: check type of url before performing string actions (#19569)
* ensure url is a string

* return url if param is a url
2022-04-06 17:32:10 -07:00
Craig Rueda f64d654de3
chore(database): Creating helper make_url_safe to wrap potential errors (#19526)
* Creating helper make_url_safe to wrap potential errors

* Fixing imports

* Fixing imports again

* Adding comment

* Linting

* Fixing test

* Fixing test again...

* Fixing import
2022-04-05 11:17:30 -07:00
Inclusive Coding Bot 5861bd399f
chore: Switch to gender neutral terms (#19460)
* Switch to gender neutral terms

* Update countries.md

Co-authored-by: inclusive-coding-bot <inclusive-coding-bot@github.com>
2022-04-04 20:17:34 -04:00
Yongjie Zhao a2e921bd03
fix: flaky test for dashboard changed on (#19483) 2022-04-01 16:47:56 +08:00
Yongjie Zhao d954c3df86
fix: can't sync temporal flag on virtual table (#19366) 2022-04-01 16:40:50 +08:00
David Aaron Suddjian ab3770667c
chore!: remove `ROW_LEVEL_SECURITY` feature flag (permanently enable) (#19230)
* permanently turn on rls feature flag

* unused imports

* docs

* docs

* unused import
2022-03-31 14:05:17 -07:00
Beto Dealmeida 6828624f61
feat: improve adhoc SQL validation (#19454)
* feat: improve adhoc SQL validation

* Small changes

* Add more unit tests
2022-03-31 11:55:19 -07:00
James Turton 85e330e94b
fix(drill): specify an SA URL parm of `impersonation_target` for drill+sadrill (#19252)
* Update drill+sadrill to specify an SA URL parm of "impersonation_target".

Sqlalchemy-drill is being updated to support impersonation with the
drill+sadrill driver, where previously it did not.  The way that callers
should specify impersonation matches that for the drill+jdbc driver in that
a SA URL parameter of impersonation_target should be set to the username
of the user to be impersonated, while the stadard SA username and password
should be those of the proxy user.

* Remove lint.

* Address review comments.

* Use idiomatic pytest to test for a raised exception.

* Fix import statement order in drill.py.
2022-03-31 19:42:27 +03:00
David Aaron Suddjian 8e29ec5a66
feat: Embedded dashboard configuration (#19364)
* embedded dashboard model

* embedded dashboard endpoints

* DRY up using the with_dashboard decorator elsewhere

* wip

* check feature flags and permissions

* wip

* sdk

* urls

* dao option for id column

* got it working

* Update superset/embedded/view.py

* use the curator check

* put back old endpoint, for now

* allow access by either embedded.uuid or dashboard.id

* keep the old endpoint around, for the time being

* openapi

* lint

* lint

* lint

* test stuff

* lint, test

* typo

* Update superset-frontend/src/embedded/index.tsx

* Update superset-frontend/src/embedded/index.tsx

* fix tests

* bump sdk
2022-03-30 12:34:05 -07:00
Daniel Vaz Gaspar fa35109bf2
fix: add missing init on python pkg key_value (#19428)
* fix: add missing init on python pkg key_value

* fix lint issues

* fix lint issues
2022-03-30 12:46:42 +01:00
Beto Dealmeida 63b5e2e4fa
perf: improve perf in SIP-68 migration (#19416)
* chore: improve perf in SIP-68 migration

* Small fixes

* Create tables referenced in SQL

* Update logic in SqlaTable as well

* Fix unit tests
2022-03-29 22:33:15 -07:00
Phillip Kelley-Dotson 0968f86584
chore: remove deprecated config keys and endpoints code 2.0 (#19361)
* remove depracted keys and associated methods

* remove api methods and tablemodel views

* remove deprecated api and unsued vars

* reremove schedules

* readd code

* fix pylint

* run black

* remove test

* core select start test

* add suggested changes
2022-03-29 13:23:05 -07:00
Ville Brofeldt a619cb4ea9
chore: upgrade black (#19410) 2022-03-29 20:03:09 +03:00
Beto Dealmeida d304849b46
feat: disable edits on external assets (#19344)
* feat: disable edits on external assets

* Update tests
2022-03-28 16:32:57 -07:00
Yongjie Zhao a39dd4493e
feat: linear imputation in Resample (#19393) 2022-03-28 22:30:45 +08:00
Phillip Kelley-Dotson 394c9a19fd
chore: remove old alerts and configs keys (#19261)
* remove templates

* remove models and more templates

* remove view

* remove tasks

* remove views

* remove schedule models

* remove views, init files config code

* remove supersetapp init code

* remove tests and clean up pylint errors

* remove unused import

* pylint

* run black

* remove deprecate notice
2022-03-25 13:25:44 -07:00
Ville Brofeldt f4b71abb22
feat: introduce hashids permalink keys (#19324)
* feat: introduce hashids permalink keys

* implement dashboard permalinks

* remove shorturl notice from UPDATING.md

* lint

* fix test

* introduce KeyValueResource

* make filterState optional

* fix test

* fix resource names
2022-03-24 21:53:09 +02:00
Beto Dealmeida c7f9060a2f
feat: import external management columns (#19315)
* feat: import flags

* Add tests
2022-03-24 10:41:22 -07:00
Daniel Vaz Gaspar f37fc1a7f0
chore: bump majors on celery and Flask (#19168)
* chore: bump celery, Flask, flask-jwt-extended, pyJWT

* fix pyJWT breaking change

* fix pyJWT breaking change 2

* test

* fixed test

* fixed test

* fixed test

* revert since mypy won't pick the correct signature

* lint 1

* fix test

* fix test

* docs and celery config migration

* bump FAB to 4.0.0rc3, remove AUTH_STRICT_RESPONSE_CODES

* update docs for new celery config keys

* downgrade celery to 5.2.2

* ref FAB to final 4.0.0 release

* remove conflict left over
2022-03-24 09:16:53 +00:00
Yongjie Zhao 375c03e084
feat(advanced analysis): support MultiIndex column in post processing stage (#19116) 2022-03-23 13:46:28 +08:00
Beto Dealmeida b05e7dbf2a
feat: API for asset sync (#19220)
* feat: API for asset sync

* Add unit tests.

* Improve tests

* Move files

* Add more tests
2022-03-22 08:29:24 -07:00
Ville Brofeldt 72b9a7fa5b
feat(key-value): add superset metastore cache (#19232) 2022-03-21 19:46:56 +02:00
John Bodley 82a6811e7e
fix(presto/trino): Add TIME/TIMESTAMP WITH TIME ZONE (#19263)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2022-03-22 06:33:38 +13:00
Elizabeth Thompson 88029e21b6
fix dataset update table (#19269) 2022-03-21 09:43:51 -07:00
PApostol c07a707eab
Various docstring fixes (#18221) 2022-03-21 13:01:57 -03:00
Stephen Liu dc575080d7
feat: improve color consistency (save all labels) (#19038) 2022-03-21 15:20:04 +08:00
Elizabeth Thompson d645579cdd
chore!: update mutator to take kwargs (#19083)
* update mutator to take kwargs

* update updating.md

* lint

* test that the database name is properly passed in to the mutator
2022-03-18 16:01:27 -07:00
Ville Brofeldt f341025d80
feat: add support for comments in adhoc clauses (#19248)
* feat: add support for comments in adhoc clauses

* sanitize remaining freeform clauses

* sanitize adhoc having in frontend

* address review comment
2022-03-18 15:08:06 -07:00
David Aaron Suddjian 97abc28a1f
chore!: remove `ENABLE_REACT_CRUD_VIEWS` feature flag (permanently enable) (#19231)
* remove ENABLE_REACT_CRUD_VIEWS feature flag

* docs

* deal with problematic tests

* empty test suite

* skip test

* test conditions changed

* removing the tests instead of skipping
2022-03-18 14:00:23 -07:00
Lily Kuang 50902d51f5
fix: allow subquery in ad-hoc SQL (WIP) (#19242)
* allow adhoc subquery

* add config for allow ad hoc subquery

* default to true allow adhoc subquery

* fix test

* Update superset/errors.py

Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>

* Update superset/connectors/sqla/utils.py

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

* rename and add doc string

* fix for big query test

* Update superset/connectors/sqla/utils.py

Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>

* Apply suggestions from code review

Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>

* add test

* update validate adhoc subquery

Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>
2022-03-18 10:04:55 -07:00
Yongjie Zhao b5e9fad11a
fix: adhoc column in legacy chart (#19234) 2022-03-18 14:05:30 +08:00
Jesse Yang f6291545fb
chore: turn on SQLLAB_BACKEND_PERSISTENCE by default (#19107)
* chore: turn on SQLLAB_BACKEND_PERSISTENCE by default

* Rewrite SQL tabs test to make it more rerunnable
2022-03-17 21:51:47 -07:00
Beto Dealmeida 51061f0d67
feat: import/export assets commands (#19217)
* feat: import/export assets commands

* Add overwrite test

* Fix tests
2022-03-17 10:51:17 -07:00
AAfghahi c345029fbc
chore!: turn on Versioned Export in config.py (#19142)
* turning off versioned export

* deleted two tests that required version export false

* added tests

* test suggestions
2022-03-17 13:32:50 -04:00
Craig Rueda 4b34817b19
feat(ui): Adding manifest prefix config (#19141)
* Adding manifest prefix config

* Fixing broken tests

* Fixing import

* Adding prefix for remaining assets

* Changing static prefix strategy

* Fixing DST test

* Fixing up formatting

* Fixing up async_query_manager.py types
2022-03-17 08:58:48 -07:00
cccs-Dustin 02ef9ca4cd
feat(sqllab): Add a configuration option to disable data preview (#19104) 2022-03-17 15:22:57 +02:00
Yongjie Zhao e4c9a0d8ae
fix: time filter should be [start, end) (#19166) 2022-03-17 10:02:50 +08:00
Ville Brofeldt b7a0559aaf
feat: add permalink to dashboard and explore (#19078)
* rename key_value to temporary_cache

* add migration

* create new key_value package

* add commands

* lots of new stuff

* fix schema reference

* remove redundant filter state from bootstrap data

* add missing license headers

* fix pylint

* fix dashboard permalink access

* use valid json mocks for filter state tests

* fix temporary cache tests

* add anchors to dashboard state

* lint

* fix util test

* fix url shortlink button tests

* remove legacy shortner

* remove unused imports

* fix js tests

* fix test

* add native filter state to anchor link

* add UPDATING.md section

* address comments

* address comments

* lint

* fix test

* add utils tests + other test stubs

* add key_value integration tests

* add filter box state to permalink state

* fully support persisting url parameters

* lint, add redirects and a few integration tests

* fix test + clean up trailing comma

* fix anchor bug

* change value to LargeBinary to support persisting binary values

* fix urlParams type and simplify urlencode

* lint

* add optional entry expiration

* fix incorrect chart id + add test
2022-03-17 01:15:52 +02:00
Beto Dealmeida d01fdad1d8
feat: add export_related flag (#19215)
* feat: add export_related flag

* Fix lint
2022-03-16 16:03:06 -07:00
David Aaron Suddjian 54b60ded8e
chore(embedded): refresh the guest token (#19132)
* refresh the guest token

* put back the date logic

* version

* fix time hijinks

* test

* Update superset-embedded-sdk/src/guestTokenRefresh.ts
2022-03-14 09:32:25 -07:00
Beto Dealmeida 8234395466
feat: helper functions for RLS (#19055)
* feat: helper functions for RLS

* Add function to inject RLS

* Add UNION tests

* Add tests for schema

* Add more tests; cleanup

* has_table_query via tree traversal

* Wrap existing predicate in parenthesis

* Clean up logic

* Improve table matching
2022-03-11 14:47:11 -08:00
Ville Brofeldt 999c2c6826
fix(dashboard): import handle missing excluded charts (#19088) 2022-03-10 12:59:29 +02:00
Elizabeth Thompson c143b37128
chore: log multiple errors (#14064)
* log all errors from db create

* return unique set of errors

* sort set for exceptions list

* run black
2022-03-08 17:31:19 -08:00
Karthikeyan Singaravelan 864bafc655
chore: Fix deprecated unittest aliases. (#19042) 2022-03-07 09:38:19 +02:00
Hugh A. Miles II 8c52fe3476
feat: Allow users to bust cache in report dashboard + alerts charts + alert dashboards (#18795)
* wip

* add force cahce bypass option to alerts

* remove default for alerts to bypass cache

* save for now

* save for now

* fix

* commenting out for now

* fix linting

* remove link

* add back force id test

* add frontend test

* address
2022-03-04 12:30:40 -08:00
John Bodley 26486d01c1
chore: Remove legacy SIP-15 interim logic/flags (#18936)
* chore: Remove legacy SIP-15 logic

* Update ab9a9d86e695_deprecate_time_range_endpoints.py

* Update UPDATING.md

* Update UPDATING.md

* Update UPDATING.md

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2022-03-04 09:15:36 +13:00
Ville Brofeldt a04f1d4c87
chore(cache): default to SimpleCache in debug mode (#18976)
* chore(cache): default to SimpleCache in debug mode

* lint

* clean up type

* use util

* fix integration test cache configs

* remove util from cache manager

* remove trailing comma

* fix more tests

* fix truthiness check

* fix tests and improve deprecation notice

* fix default cache threshold

* move debug check to cache_manager

* remove separate getter

* update docs

* remove default cache config
2022-03-02 19:38:34 +02:00
Ville Brofeldt bd63a1bd98
fix(chart): deprecate persisting url_params (#18960)
* fix(chart): deprecate peristing url_params

* remove duplicated backend logic

* use omitBy

* simplify omit
2022-03-02 07:44:36 +02:00
Craig Rueda 5fc7adb55b
fix(packages): Fixing users packages (#18973)
* Fixing users packages

* Linting me() fn

* Fixing tests / moving packages

* Fixing imports
2022-03-01 09:47:13 -08:00
serenajiang 760dab9abd
feat(TimeTableViz): sort by first metric (#18896) 2022-02-28 10:26:24 -08:00
John Bodley 099421770c
fix: bump Helm chart release version (#18751) (#18758)
Co-authored-by: wiktor2200 <wiktor2200@users.noreply.github.com>
2022-02-26 07:12:04 +13:00
Beto Dealmeida 00c99c91ec
feat: new dataset/table/column models (#17543)
* feat: new models for SIP-68

* feat: new dataset models DB migration

* Add shadow write (WIP)

* Physical dataset shadow write (WIP)

* Virtual dataset shadow write (WIP)

* Update migration to populate models

* Cascade delete columns

* after_delete

* Update hook

* Add metric test

* Do not rename tables

* Small fixes

* Fix migration

* Fix tests

* Fix more tests

* Even more tests

* Addressing comments (WIP)

* Fix migration

* Rebase and update head

* Fix unit tests

* Add external management cols

* Small fixes
2022-02-24 11:02:01 -08:00
David Aaron Suddjian da3bc48803
feat: On window focus, redirect to login if the user has been logged out (#18773)
* /me api

* test it

* watch for window activation and check auth

* simplify

* more comment

* making ci happy

* mypy should ignore tests
2022-02-24 10:09:41 -08:00
Corbin Robb 0ae1ca7e02
chore(tests-backend): migrate snowflake and sqlite to unit tests (#18854)
* migrate snowflake and sqlite

* change structure to better match the other unit tests

Co-authored-by: Corbin Robb <corbin@Corbins-MacBook-Pro.local>
2022-02-23 11:11:10 -06:00
Sujith Kumar S 7e51b200b4
fix(mssql): support top syntax for limiting queries (#18746)
* SQL-TOP Fix For Database Engines

MSSQL is not supporting LIMIT syntax in SQLs. For limiting the rows, MSSQL having a different keyword TOP. Added fixes for handling the TOP and LIMIT clauses based on the database engines.

* Teradata code for top clause handling removed from teradata.py

Teradata code for top clause handling removed from teradata.py file, since we added generic section in base engine for the same.

* Changes to handle CTE along with TOP in complex SQLs

Added changes to handle TOP command in CTEs, for DB Engines which are not supporting inline CTEs.

* Test cases for TOP unit testing in MSSQL

Added multiple unit test cases for MSSQL top command handling and also along with CTEs

* Corrected the select_keywords name key in basengine

Corrected the select_keywords name key in basengine

* Changes based on as per review.

made the required corrections based on code review to keep good code readability and code cleanliness.

* Review changes to correct lint and typo issues

Made the changes according to the review comments.

* fix linting errors

* fix teradata tests

* add coverage

* lint

* Code cleanliness

Moved the top/limit flag check from sql_lab to core.

* Changed for code cleanliness

Changes for keeping code cleanliness

* Corrected lint issue

Corrected lint issue.

* Code cleanliness

Code cleanliness

Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
2022-02-21 09:58:39 +02:00
Yongjie Zhao 987740aa8d
fix: contribution operator meets nan value (#18782) 2022-02-18 23:28:28 +08:00
Yongjie Zhao 38cd696981
refactor: move date_parser to unittest (#18810) 2022-02-18 20:15:31 +08:00
Hugh A. Miles II 5d2e726f76
fix: update standalone url for slack reports (#18756)
* update url for slack reports

* fix test

* update text to be dynamic
2022-02-17 15:48:57 -05:00
Yongjie Zhao 30a9d14639
refactor: postprocessing move to unit test (#18779) 2022-02-17 20:05:41 +08:00
Phillip Kelley-Dotson 2421d176a2
chore: move data nav menu to plus menu (#18629)
* more data nav menu

* fix lint and fix nav css

* update test and remove icons

* Update superset-frontend/src/views/components/Menu.test.tsx

Co-authored-by: Hugh A. Miles II <hughmil3s@gmail.com>

* Apply suggestions from code review

* use backend app.link to show new nav changes

* fix lint

* update test

* usetheme and remove chaining

* add more suggestions

* fix lint

* add allowed extensions to bootstrap and hard code links

* remove backend links

* fix test

* add extensions to frontend conf

* fix test and add be changes

* test is python test passes

* update python test and reremove app links

* fix ts and add t's

Co-authored-by: Hugh A. Miles II <hughmil3s@gmail.com>
2022-02-16 17:37:14 -08:00
Grace Guo 59b811ac5b
fix: report list search by created_by (#18725) 2022-02-15 19:37:17 -08:00
Lily Kuang b2613f648c
feat(embedded): make guest token JWT audience callable or str (#18748)
* feat(embedded): make guest token JWT audience callable

* reset GUEST_TOKEN_JWT_AUDIENCE after test

* helper method for get audience
2022-02-15 17:47:32 -08:00
Michael S. Molina 48a80950de
feat: Improve state key generation for dashboards and charts (#18576)
* feat: Improve state key generation for dashboards and charts
2022-02-14 17:09:06 -03:00
Lily Kuang e6ea197e9f
feat(embedded): aud claim and type for guest token (#18651)
* add aud claim and type for guest token

* update test

* lint

* make jwt audience configurable

* lint

* Apply suggestions from code review

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

* verify aud

* add tests for aud and type claim

Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>
2022-02-14 10:43:35 -08:00
Sujith Kumar S b8aef10098
fix(mssql): support cte in virtual tables (#18567)
* Fix for handling regular CTE queries with MSSQL,#8074

* Moved the get_cte_query function from mssql.py to base.py for using irrespetcive of dbengine

* Fix for handling regular CTE queries with MSSQL,#8074

* Moved the get_cte_query function from mssql.py to base.py for using irrespetcive of dbengine

* Unit test added for the db engine CTE SQL parsing.

Unit test added for the db engine CTE SQL parsing.  Removed additional spaces from the CTE parsing SQL generation.

* implement in sqla model

* lint + cleanup

Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
2022-02-10 10:28:05 +02:00
Victor Arbues 5ee070c402
feat: datasource access to allow more granular access to tables on SQL Lab (#18064) 2022-02-09 22:05:25 +08:00
Ville Brofeldt fdbcbb5c84
fix(csv-export): pivot v2 with verbose names (#18633)
* fix(csv-export): pivot v2 with verbose names

* refine logic + add test

* add missing verbose_map
2022-02-09 14:01:57 +02:00
Hugh A. Miles II 7194a01040
fix: user UUIDs on export for Native Filter Configuration (#18562)
* saving work for import

* update

* move logic to update ref

* remove export updates

* remove unneeded code

* cleanup

* Update superset/dashboards/commands/importers/v1/utils.py

Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>

* Update tests/unit_tests/dashboards/commands/importers/v1/utils_test.py

Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>

Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
2022-02-08 13:10:40 -08:00
Ville Brofeldt 125be78ee6
feat(chart-data-api): download multiple csvs as zip (#18618)
* feat(chart-data-api): download multiple csvs as zip

* break out util

* check for empty request
2022-02-08 14:25:06 -05:00
ofekisr 41f3c95345
feat: log decorator util - adding automatic logs out of the box (#18620)
* feat: add logger utils

* fix bad definitions of under_info and debug_enable

* fix pre-commit
2022-02-08 18:38:57 +02:00
Ville Brofeldt 55cd7fb412
fix(sqla): avoid unnecessary groupby for when no metrics (#18579) 2022-02-04 10:47:47 +02:00
Ville Brofeldt 7ad38d5ba1
chore(tests): migrate mssql tests to pytest (#18251)
* move test

* migrate to pytest
2022-02-02 13:19:58 +02:00
Dave McNulla 8c376548e3
fix(teradata): LIMIT syntax (#18240)
Co-authored-by: Mccush, Jack <jack.mccush@teradata.com>
Co-authored-by: Jack McCush <33156805+mccushjack@users.noreply.github.com>
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
Co-authored-by: David McNulla <david.mcnulla@teradata.com>
2022-01-31 19:15:42 -08:00
Adam Dobrawy dad6f78419
refactor: extract json_required view decorator (#18170)
* refactor: extract json_required view decorator

* chore: rename json_required to requires_json

* refactor: add requires_form_data decorator and use it

* fix: fix lint issue, raise InvalidPayloadFormatError for invalid payload
2022-01-31 08:53:48 -03:00
Stephen Liu 9671384efe
fix(sql): unable to filter text with quotes (#17881) 2022-01-28 21:49:22 +08:00
Adam Dobrawy 84db896797
Remove walrus operator for Python 3.7 compatiblity (#18205) 2022-01-28 10:03:22 +02:00
cccs-joel 8b83c7fe0a
fix: Assign an owner when creating a dataset from a csv, excel or tabular (#17986)
* Assign an owner when creating a dataset from a csv, excel or columnar

* Added some unit tests

* Code cleanup

* Removed blank line

* Attempt to fix a broken test

* Attempt # 2 to fix a broken test

* Attempt # 3 to fix a broken test

* Attempt # 4 to fix a broken test

* Attempt # 5 to fix a broken test

* Attempt # 6 to fix a broken test

* Broken test fixed, code cleanup
2022-01-27 17:55:20 +02:00
Yongjie Zhao 20b4ae1ef9
fix: null value and empty string in filter (#18171) 2022-01-27 22:58:06 +08:00
AAfghahi fa11a97585
fix: remove standalone (#18157)
* removed standalone

* Update tests/integration_tests/reports/commands_tests.py

* changed standalone

* added tests

* made function more generic

* Update superset/reports/notifications/email.py

Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>

Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
2022-01-26 13:04:26 -05:00
David Aaron Suddjian 4ad5ad045a
feat: embedded dashboard core (#17530)
* feat(dashboard): embedded dashboard UI configuration (#17175) (#17450)

* setup embedded provider

* update ui configuration

* fix test

* feat: Guest token (for embedded dashboard auth) (#17517)

* generate an embed token

* improve existing tests

* add some auth setup, and rename token

* fix the stuff for compatibility with external request loaders

* docs, standard jwt claims, tweaks

* black

* lint

* tests, and safer token decoding

* linting

* type annotation

* prettier

* add feature flag

* quiet pylint

* apparently typing is a problem again

* Make guest role name configurable

* fake being a non-anonymous user

* just one log entry

* customizable algo

* lint

* lint again

* 403 works now!

* get guest token from header instead of cookie

* Revert "403 works now!"

This reverts commit df2f49a6d4.

* fix tests

* Revert "Revert "403 works now!""

This reverts commit 883dff38f1.

* rename method

* correct import

* feat: entry for embedded dashboard (#17529)

* create entry for embedded dashboard in webpack

* add cookies

* lint

* token message handshake

* guestTokenHeaderName

* use setupClient instead of calling configure

* rename the webpack chunk

* simplified handshake

* embedded entrypoint: render a proper app

* make the embedded page accept anonymous connections

* format

* lint

* fix test
# Conflicts:
#	superset-frontend/src/embedded/index.tsx
#	superset/views/core.py

* lint

* Update superset-frontend/src/embedded/index.tsx

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

* comment out origins checks

* move embedded for core to dashboard

* pylint

* isort

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

* feat: Authorizing guest access to embedded dashboards (#17757)

* helper methods and dashboard access

* guest token dashboard authz

* adjust csrf exempt list

* eums don't work that way

* Remove unnecessary import

* move row level security tests to their own file

* a bit of refactoring

* add guest token security tests

* refactor tests

* clean imports

* variable names can be too long apparently

* missing argument to get_user_roles

* don't redefine builtins

* remove unused imports

* fix test import

* default to global user when getting roles

* missing import

* mock it

* test get_user_roles

* infer g.user for ease of tests

* remove redundant check

* tests for guest user security manager fns

* use algo to get rid of warning messages

* tweaking access checks

* fix guest token security tests

* missing imports

* more tests

* more testing and also some small refactoring

* move validation out of parsing

* fix dashboard access check again

* add more test

Co-authored-by: Lily Kuang <lily@preset.io>

* feat: Row Level Security rules for guest tokens (#17836)

* helper methods and dashboard access

* guest token dashboard authz

* adjust csrf exempt list

* eums don't work that way

* Remove unnecessary import

* move row level security tests to their own file

* a bit of refactoring

* add guest token security tests

* refactor tests

* clean imports

* variable names can be too long apparently

* missing argument to get_user_roles

* don't redefine builtins

* remove unused imports

* fix test import

* default to global user when getting roles

* missing import

* mock it

* test get_user_roles

* infer g.user for ease of tests

* remove redundant check

* tests for guest user security manager fns

* use algo to get rid of warning messages

* tweaking access checks

* fix guest token security tests

* missing imports

* more tests

* more testing and also some small refactoring

* move validation out of parsing

* fix dashboard access check again

* rls rules for guest tokens

* test guest token rls rules

* more flexible rls rules

* lint

* fix tests

* fix test

* defaults

* fix some tests

* fix some tests

* lint

Co-authored-by: Lily Kuang <lily@preset.io>

* SupersetClient guest token test

* Apply suggestions from code review

Co-authored-by: Lily Kuang <lily@preset.io>

Co-authored-by: Lily Kuang <lily@preset.io>
2022-01-25 16:41:32 -08:00
cccs-Dustin 2dd64f9a93
fix(import_datasources): --sync flag works correctly (#18046)
* Added code that properly accepts the -s flag on the import-datasources cli command. Also added unit tests for all of the edge cases (with both metrics & columns, with just columns, and with just metrics)

* Files were reformated using the 'pre-commit run --all-files' command

* added '*args: Any' back into v0.py as it did not need to be removed. Removing it might cause headaches for someone trying to work on this particular piece of code in the future

* Fixed the merge conflict as the cli.py was moved to another directory

* Modified my created unit tests to work with the new format of uni tests since the merge

* Modified my created unit tests to work with the new format of uni tests since the merge

* Fixed errors which were encountered while using the unit tests
2022-01-25 15:53:44 +01:00
Michael S. Molina f018c826b8
refactor: Moves the Explore form_data endpoint (#18151)
* refactor: Moves the Explore form_data endpoint

* Removes unused imports

* Fixes openapi schema error

* Fixes typo

* Renames and UPDATING.md
2022-01-25 11:14:50 -03:00
Michael S. Molina 959b15eeca
feat: Adds a key-value endpoint to store charts form data (#17882)
* feat: Adds a key-value endpoint to store charts form data

* Fixes linting problems

* Removes the query_params from the endpoints

* Refactors the commands

* Removes unused imports

* Changes the parameters to use dataclass

* Adds more access tests

* Gets the first dataset while testing

* Adds unit tests for the check_access function

* Changes the can_access check

* Always check for dataset access
2022-01-20 16:27:57 -03:00
Beto Dealmeida 9e2bc72fb9
chore: split CLI into multiple files (#18082)
* chore: split CLI into multiple files

* Update tests

* Who fixes the fixtures?

* Add subcommands dynamically

* Rebase
2022-01-19 11:27:16 -08:00
ofekisr 810cfc13db
fix can't use examples helpers on non app context based environment (#18086) 2022-01-19 20:16:15 +02:00
ofekisr 4675ca31c5
refactor(example_data): replace the way the birth_names data is loaded to DB (#18060)
* refactor: replace the way the birth_names data is loaded to DB

* fix failed unit test

* fix failed unit test

* fix failed tests

* fix pass wrong flag of support datetime type

* remove unused fixture
2022-01-18 23:21:04 +02:00
Yongjie Zhao 0c7f7288d8
feat(advanced analytics): support groupby in resample (#18045) 2022-01-17 18:42:59 +08:00
ofekisr e53a50a155
chore(supeset.utils.core): move all database utils to database utils module (#18058) 2022-01-16 08:32:50 +02:00
Đặng Minh Dũng 0b67fe1beb
feat: Trino Authentications (#17593)
* feat: support Trino Authentications

Signed-off-by: Đặng Minh Dũng <dungdm93@live.com>

* docs: Trino Authentications

Signed-off-by: Đặng Minh Dũng <dungdm93@live.com>
2022-01-14 21:02:47 -08:00
Erik Ritter 14b9298ef7
fix: revert #17654 to fix subselect table name parsing (#18017) 2022-01-12 21:28:23 -08:00
Beto Dealmeida 51090c3f1b
feat: shorter timeout on test_connection (#18001)
* feat: shorter timeout on test_connection

* pip-compile-multi --no-upgrade

* Fix for SQLite

* Return 408

* Add test
2022-01-12 13:01:34 -08:00