Commit Graph

65 Commits

Author SHA1 Message Date
Jarek Radosz 86cda5f213
DEV: Lose the es6 suffix (#165) 2022-03-05 17:21:01 +01:00
David Taylor 2a17f49f66 DEV: Bump eslint-config-discourse and correct violations 2022-01-26 14:44:10 +00:00
Guhyoun Nam 286b5b5fe7
FEATURE: Add Data Explorer Params to the URL on run (#128)
Co-authored-by: Mark VanLandingham <markvanlan@gmail.com>
2021-09-14 10:10:16 -05:00
Andrei Prigorshnev 4a98cc8af8
FEATURE: get rid of the import a query modal (#127)
This is the new version of #126. Now the pick-files-button moved to core. To import a query into Data Explorer, you need to push the button and then deal with the import modal. Instead, we want just to be triggering a system file picker directly. This PR makes it happen.
2021-08-20 14:26:48 +04:00
Andrei Prigorshnev e85aab4b33
FIX: the back button (#130)
Back button wasn't working when running in Ember CLI. This PR fixes it by doing the transition to the same route but without URL parameter properly. This works in both our environments (legacy-3.12.0, and ember-cli-3.15.0).
2021-08-11 14:13:39 +04:00
Andrei Prigorshnev 782dc09d96
UX: Add a help modal dialog (#109) 2021-04-15 19:17:07 +04:00
tshenry f1785326a8
FIX: Permitted groups should display on group query access picker (#77)
The toString() that was introduced in 80ffc45 was preventing any actively permitted groups from displaying in the group picker when entering a query page.
2020-10-19 12:03:03 -07:00
Martin Brennan 26ccc36b5b
FIX: Resolve yarn lint complaint 2020-10-07 14:08:26 +10:00
Ricky Chon 80ffc4582f
UI: Don't show 'everyone' group for query access (#59)
* Query access for 'everyone' does not work, but trust level 0 does,
and it works the same
2020-10-07 12:56:51 +11:00
jjaffeux 6205bb8569 DEV: linting 2020-09-22 17:11:41 +02:00
Joffrey JAFFEUX e0a3ad12a6
DEV: apply coding standards (#66) 2020-09-04 13:23:11 +02:00
Krzysztof Kotlarek fe0806eb2a
FEATURE: introduce data-explorer tables (#61)
Instead of using `PluginStoreRow` we should use plugin-specific models like `DataExplorer::Query` and `DataExplorer::QueryGroup`
2020-08-27 10:29:57 +10:00
Ricky Chon dcfb92d7f8
FEATURE: Add ability to soft delete (hide) queries and revert deletion with rake tasks (#54)
* FEATURE: Add hide button (toggleable) for all queries (frontend only)

* Switches between hide/unhide on click
* Works almost like the delete button, but toggles between the query's
hidden attribute instead
* So far this is only a frontend feature, the backend implementation
still needs work

* Revert "FEATURE: Add hide button (toggleable) for all queries (frontend only)"

This reverts commit a8771d2ad5.

REVERT: Remove button that hides queries (frontend)

* Prepare for migration of old frontend logic to backend
* We are going to reuse the existing delete button, but change its
backend logic to enable soft deletion. From the user's perspective
nothing will change, but any deletion mistakes can be reverted.

* DEV: Hide user queries upon deletion, but keep them in store

* Creating a new query will set its hidden attribute to false by
default
* Deleting a user-made query will not delete it from the store, but
set its hidden attribute to true
* User queries will not be indexed if they are hidden
* Undeleting a query will unhide it, and will be indexed
* Updating a hidden query will unhide it, and will be indexed

* SPEC: Add spec for hidden/deleted queries

* Hidden queries should not be shown

* FEATURE: Add ability to delete/hide system queries

* System queries are now able to be deleted from view, but will remain
in the backend for retrieval, if necessary

* FEATURE/DEV: Add rake commands for query soft deletion

* query:list_hidden - Shows a list of hidden queries
* query:hide_all[only_default] - Hides all queries, w/ boolean arg to
hide only default ones
* query:unhide[id] - Unhides a query by id
* query:unhide_all[exclude_default] - Unhides all hidden queries,
w/ boolean arg to exclude default ones

* Remove rails loggers

* UX/DEV: Update query rake tasks to be more user friendly

* Split query:hide_all[only_default] into two tasks:
    * query:hide_all - Hides all queries
    * query:hide_all:only_default - Hide only default queries
* Split query:unhide_all[exclude_default] into two tasks:
    * query:unhide_all - Unhides all hidden queries
    * query:unhide_all:exclude_default - Unhides all non-default
    queries
* Rename file to match task name

* UX: query:unhide can accept multiple arguments

* Example: rake query:unhide[-5,-6,-7,3,5,6,-13,-14,-10]

* UX: Update query rake tasks to output cleaner messages

* Remove unneeded comment

* DEV: Keep only necessary rake tasks, use more specific naming

* UX/DEV: Add rake task for hard deletion, better console logs

* User is able to hard delete a query only if it is hidden, otherwise
output a message stating so
* Add commented examples above each task
* Add rainbow support for more readable console logs
* Successful messages will display green, failures display red,
additional info displays yellow
* Separate multiple queries with spaces instead of lines

* DEV: Remove rainbow colorizing in console logs

* Rainbow is a dependency of rubocop and it may go away in the future
* Rainbow is only used for dev and test environments

* DEV: Add Rails engine to enable rake tasks to be loaded at runtime

* DEV: Favor require - load files only if they are not already loaded

* SPEC: Add tests for data_explorer[id] rake command

* Test if a single query is hidden correctly
    * Expect length of query list to not be modified
    * Expect array of hidden queries to have exactly 1 element
    * Expect that one element to have the same ID as the one invoked to
    be hidden
* Test if multiple queries are hidden correctly
    * Expect length of query list to not be modified
    * Expect array of hidden queries to have the number of elements
    equal to the number invoked to be hidden
    * Expect the elements to have the same ID as the ones invoked to be
    hidden
* Test if a query exists in PluginStore
    * Expect query list to be empty

* DEV: Clear pre-existing tasks before redefining

* This prevents double invocation when user invokes the task once

* SPEC: Add tests for unhide_query rake task

* Test if a single query unhides correctly
    * Expect length of query list to not be modified
    * Expect array of hidden queries to have exactly 1 element after
    unhiding 1 of 2 queries
    * Expect remaining element to be hidden
* Test if multiple queries unhide correctly
    * Expect length of query list to not be modified
    * Expect array of hidden queries to have exactly 1 element after
    unhiding 3 of 4 queries
    * Expect remaining element to be hidden
* Test if a query exists in PluginStore
    * Expect query list to not be modified

* SPEC: Add tests for hard_delete rake task

* Test if a single query hard deletes correctly
    * Expect length of query list to be shorter by 1
    * Expect array of hidden queries to have exactly 1 element after
    hard deleting 1 of 2 queries
    * Expect 1 remaining hidden element
* Test if multiple queries hard delete correctly
    * Expect length of query list to be shorter by 3 after hard deleting
    3 of 4 queries
    * Expect array of hidden queries to have exactly 1 element after
    hard deleting 3 of 4 queries
    * Expect 1 remaining hidden element
* Test if a query exists in PluginStore
    * Expect hidden query list to not be modified
* Test if a query is not hidden
    * Expect query list to not be modified

* UX: Favor newline char in place of puts for logs

* Condensed console logs to output newline char instead of another puts
statement (reduces number of lines used significantly)
2020-07-29 16:50:24 +10:00
Penar Musaraj 277346b097 DEV: Find/replace deprecated decorators 2020-02-19 11:57:59 -05:00
Justin DiRose 48f0e2b982
FIX: Return all groups instead of truncated list (#42) 2019-11-14 12:39:55 -06:00
Joffrey JAFFEUX aa9a3a8ce5
minor code cleaning (#40) 2019-10-16 12:43:35 +02:00
Joffrey JAFFEUX 4196321e41
FIX: ensures group_ids are not "" or nil (#39) 2019-10-16 12:43:10 +02:00
Joffrey JAFFEUX a3ae064654 linting 2019-09-11 10:30:39 -05:00
Mark VanLandingham 30fe9289b8 Allow groups to access queries (#36)
* [WIP] group ids saving on new reports

* Add groups to default queries, and added tab connector

* group_ids set to empty array for default queries

* group reports route (in & and) action

* [WIP] created group reports show route/controller

* Find correct query in show route

* Removed empty array for group_ids in query file

* Add report show view, where users can run queries

* Removed unneeded commas from queries.rb

* Allow non-admin group members to access reports

* query-result component dynamic download url based on location

* Removed accidental changes, and corrected tab size

* Group members can add params to queries

* Specs for new QueryController actions

* remove "Inlude query plan" from group reports

* Run prettier

* return and return -> return render

Co-Authored-By: Robin Ward <robin.ward@gmail.com>

* [WIP] changes from review

* Remove weird [-1] group_ids logic, for a simply check for [] in query update action

* Added integration tests for group report access

* Using guardian for securing endpoints, and much improved specs

* Update assets/javascripts/discourse/components/group-reports-nav-item.js.es6

Co-Authored-By: Robin Ward <robin.ward@gmail.com>
2019-09-11 10:09:41 -04:00
Joffrey JAFFEUX b9169ec28e
REFACTOR: old patterns, deprecations and dead code (#35) 2019-07-16 12:46:32 +02:00
Osama Sayegh 859021bb3c
UX: make SQL editor resizable (#33) 2019-04-07 09:05:43 +03:00
Rishabh a96bfdf6d5 DEV: Remove ESLint warnings 🚨 2019-01-22 17:19:01 +05:30
Joffrey JAFFEUX 0d655221f4 FIX: ensures filteredContent is recomputed when sortBy changes (#30) 2018-12-28 14:58:28 +05:30
Joffrey JAFFEUX 2b6357f8b4
FIX: ember 3 support 2018-12-16 15:22:23 +01:00
Rishabh 0af2453c23 FEATURE: Make searching case-insensitive 2018-11-16 16:13:40 +05:30
Rishabh 344f6e357d
FEATURE: Replace combo-box with search filter (#28)
* FEATURE: Replace combo-box with search filter
* Delete unused listname property and css fixes
* Use ES6 syntax and `@computed` decorator
2018-11-02 18:11:20 +05:30
Rishabh Nambiar 9d7db064af run Prettier 2018-10-10 17:31:14 +05:30
Rishabh b352e747c7
FEATURE: Ship default queries with the Data Explorer
Load default queries from queries.rb and save when run.
Each time a query is run, it picks up changes from queries.rb.
2018-10-10 16:59:13 +05:30
Rishabh Nambiar 68059b540e UX: Style improvements in query edit & result view 2018-09-12 18:58:54 +05:30
Rishabh Nambiar 5edb8ea7f8 UX: Make Explorer UI similar to User Activity and Groups pages 2018-08-31 23:41:33 +05:30
Rishabh Nambiar 5a75b6c1e1 FIX: Fix ESLint issues and use d-icon instead of <i> tags 2018-08-30 21:35:43 +05:30
Rishabh Nambiar d5d933c2a8 FEATURE: Sort queries by names, last_run_at by clicking table headers 2018-08-30 17:32:52 +05:30
Rishabh Nambiar 80f97d9514 UX: Force refresh model to update last_run_at after a query is run 2018-08-30 14:13:40 +05:30
Rishabh Nambiar 1b68847d21 FEATURE: Sort queries by last_run_at as default 2018-08-27 20:10:25 +05:30
Rishabh Nambiar feb8a1ce0f FIX: Don't save placeholder text only if description is empty 2018-08-25 23:02:43 +05:30
Rishabh Nambiar 2f0400a7e0 FIX: Don't save placeholder text if description is empty 2018-08-24 12:43:18 +05:30
Rishabh Nambiar 86a4957bd1 FIX: Ensure that back button always redirects to index page 2018-08-17 15:30:07 +05:30
Rishabh Nambiar a64ef6c6c7 Added button to go back to query list after visiting a query 2018-08-16 23:14:07 +05:30
Rishabh Nambiar 83b1fcb54b Added User.find() & fixed scroll history bug 2018-08-14 17:38:08 +05:30
Rishabh Nambiar 6e806cc1df Added clickable rows, default query sorting by id and clickable usernames 2018-08-14 17:38:08 +05:30
Rishabh Nambiar e341d5a6fa List all previous queries on Data Explorer homepage 2018-08-14 17:38:08 +05:30
Régis Hanol 7c94f98436 FIX: prevent creation of query with an empty name 2018-05-09 22:23:56 +02:00
Arpit Jalan 0d6af9d920 FIX: importing query was broken 2017-04-04 14:07:07 +05:30
Robin Ward 8d72e979a5 FIX: Old Ember idioms 2016-11-09 11:58:18 -05:00
Guo Xiang Tan 414cda5578 FIX: Import `ajax` instead. 2016-10-31 09:12:01 +08:00
Kane York 7201823c6b Remove HTTPS warning 2015-08-03 15:09:51 -07:00
Kane York 5156ab1f72 Use HTTP status 422 for failures 2015-07-15 12:51:33 -07:00
Kane York 198c64d86a Don't show the ace editor right away, wait for edit pencil to be clicked 2015-07-14 10:34:23 -07:00
Kane York c7a947542e Allow expanding/collapsing the schema view 2015-07-14 09:44:42 -07:00
Kane York 71c3b73ef8 FEATURE: 'Download Result' removes 250-row limit 2015-07-09 12:03:25 -07:00