From 8d60d402cd117aba7b697809cca871f46e6128f6 Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Wed, 9 Feb 2022 14:43:09 -0500 Subject: [PATCH 01/23] add delete button --- modules/dqt/ajax/DeleteDoc.php | 33 ++++++++++++++++++++++++++ modules/dqt/ajax/saveQuery.php | 2 +- modules/dqt/jsx/react.tabs.js | 43 ++++++++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 modules/dqt/ajax/DeleteDoc.php diff --git a/modules/dqt/ajax/DeleteDoc.php b/modules/dqt/ajax/DeleteDoc.php new file mode 100644 index 00000000000..05bb22664c0 --- /dev/null +++ b/modules/dqt/ajax/DeleteDoc.php @@ -0,0 +1,33 @@ + + * @license http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 + * @link https://www.github.com/aces/Loris/ + */ +require_once __DIR__ . '/../../../vendor/autoload.php'; +$client = new NDB_Client(); +$client->makeCommandLine(); +$client->initialize(__DIR__ . "/../../../project/config.xml"); +header("Content-Type: application/json"); +$config = \NDB_Config::singleton(); +$couchConfig = $config->getSetting('CouchDB'); +$cdb = \NDB_Factory::singleton()->couchDB( + $couchConfig['dbName'], + $couchConfig['hostname'], + intval($couchConfig['port']), + $couchConfig['admin'], + $couchConfig['adminpass'] +); +$docID = urlencode($_REQUEST['DocID']); + +$results = $cdb->deleteDoc( + $docID +); +print json_encode($results); + diff --git a/modules/dqt/ajax/saveQuery.php b/modules/dqt/ajax/saveQuery.php index a4a0bcbb3ff..2ad5b6066e3 100644 --- a/modules/dqt/ajax/saveQuery.php +++ b/modules/dqt/ajax/saveQuery.php @@ -69,7 +69,7 @@ ': ' . $_REQUEST['QueryName']; } -$fields = json_decode($_REQUEST['Fields']); +$fields = json_decode(strval($_REQUEST['Fields'])); $cond = $_REQUEST['Filters']; $baseDocument['Conditions'] = $cond; $baseDocument['Fields'] = $fields; diff --git a/modules/dqt/jsx/react.tabs.js b/modules/dqt/jsx/react.tabs.js index 6c60fe07c5d..e88893f47c2 100644 --- a/modules/dqt/jsx/react.tabs.js +++ b/modules/dqt/jsx/react.tabs.js @@ -11,6 +11,8 @@ import React, {Component, useState} from 'react'; import PropTypes from 'prop-types'; import StaticDataTable from '../../../jsx/StaticDataTable'; +import swal from 'sweetalert2'; + const {jStat} = require('jstat'); /** @@ -1116,6 +1118,35 @@ class ManageSavedQueryRow extends Component { super(props); this.state = {}; } + /** + * @deleteclick + */ + deleteclick() { + let id = this.props.Query['_id']; + swal.fire({ + title: 'Are you sure?', + text: 'You won\'t be able to revert this!', + type: 'warning', + showCancelButton: true, + confirmButtonColor: '#3085d6', + cancelButtonColor: '#d33', + confirmButtonText: 'Yes, delete it!', + }).then((result) => { + if (result.value) { + let deleteurl = loris.BaseURL + + '/AjaxHelper.php?Module=dqt&script=DeleteDoc.php&DocID=' + + encodeURIComponent(id); + fetch(deleteurl, { + cache: 'no-cache', + credentials: 'same-origin', + }).then((resp) => resp.json()) + .then(()=>{ + location.reload(); + swal.fire('delete Successful!', '', 'success'); + }); + } + }); + } /** * Renders the React component. @@ -1224,6 +1255,18 @@ class ManageSavedQueryRow extends Component { {filters} + +
+ +
+ ); } From 78568f6853e68e10322e38c9f3ea3afec4ca8a71 Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Wed, 9 Feb 2022 14:58:02 -0500 Subject: [PATCH 02/23] css --- modules/dqt/jsx/react.tabs.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/modules/dqt/jsx/react.tabs.js b/modules/dqt/jsx/react.tabs.js index e88893f47c2..200fef1a44c 100644 --- a/modules/dqt/jsx/react.tabs.js +++ b/modules/dqt/jsx/react.tabs.js @@ -1256,13 +1256,13 @@ class ManageSavedQueryRow extends Component { -
-
@@ -1339,6 +1339,7 @@ let ManageSavedQueriesTabPane = (props) => { Query Name Fields Filters + Delete From 583958f9be74f97e2272ae7eb8b5845fa40890da Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Fri, 18 Feb 2022 21:54:53 -0500 Subject: [PATCH 03/23] tools --- tools/dqt_delete_saved_query.php | 47 ++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 tools/dqt_delete_saved_query.php diff --git a/tools/dqt_delete_saved_query.php b/tools/dqt_delete_saved_query.php new file mode 100644 index 00000000000..3131b6780fd --- /dev/null +++ b/tools/dqt_delete_saved_query.php @@ -0,0 +1,47 @@ + + * @license http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 + * @link https://www.github.com/aces/Loris/ + */ +require_once __DIR__ . '/../vendor/autoload.php'; +$client = new NDB_Client(); +$client->makeCommandLine(); +$client->initialize(__DIR__ . "/../project/config.xml"); +header("Content-Type: application/json"); +$config = \NDB_Config::singleton(); +$couchConfig = $config->getSetting('CouchDB'); +$cdb = \NDB_Factory::singleton()->couchDB( + $couchConfig['dbName'], + $couchConfig['hostname'], + intval($couchConfig['port']), + $couchConfig['admin'], + $couchConfig['adminpass'] +); +echo "Deleting a saved query in DQT.\n"; + + $user = readline("Please input the author of the saved query:"); + $name = readline("Please input the name of the saved query:"); + $global = readline("If the saved query is global then input 'y':"); + if ($global) { + $docID = urlencode("global:".$user."_".$name); + } else { + $docID = urlencode($user."_".$name); + } +$results = $cdb->deleteDoc( + $docID +); + + + if (json_encode($results) == "true") + { + echo $name." has been deleted in DQT.\n"; + } else { + echo "There is no query named ".$name." in DQT.\n"; + }; From 9b7fb35018a5e4fb00d946b7068c86661ce8caa0 Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Mon, 21 Feb 2022 20:25:51 -0500 Subject: [PATCH 04/23] public delete --- modules/dqt/css/dataquery.css | 2 +- modules/dqt/jsx/react.app.js | 2 + modules/dqt/jsx/react.savedqueries.js | 55 +++++++++++++++++++++++++-- modules/dqt/php/dqt_setup.class.inc | 5 ++- 4 files changed, 58 insertions(+), 6 deletions(-) diff --git a/modules/dqt/css/dataquery.css b/modules/dqt/css/dataquery.css index 5e0038bba04..3d187290d2b 100644 --- a/modules/dqt/css/dataquery.css +++ b/modules/dqt/css/dataquery.css @@ -556,7 +556,7 @@ tr.statsReport:nth-child(even) { } .tableFieldsCell { overflow-x: scroll; - max-width: 400px; + max-width: 280px; min-height: 100px; } .tableFiltersCell { diff --git a/modules/dqt/jsx/react.app.js b/modules/dqt/jsx/react.app.js index c209f7d4a90..6678aeb1f9d 100644 --- a/modules/dqt/jsx/react.app.js +++ b/modules/dqt/jsx/react.app.js @@ -40,6 +40,7 @@ class DataQueryApp extends Component { queryIDs: { user: [], shared: [], + author: [], }, savedQueries: {}, queriesLoaded: false, @@ -1325,6 +1326,7 @@ class DataQueryApp extends Component { { const [content, setContent] = useState(null); @@ -70,7 +71,35 @@ const ManageSavedQueryFilters = (props) => { const ManageSavedQueryRow = (props) => { const [fieldsVisible, setFields] = useState(null); const [filtersVisible, setFilters] = useState(null); - + /** + * @deleteclick + */ +function publicquerydelete() { + let id = props.Query['_id']; + swal.fire({ + title: 'Are you sure?', + text: 'You won\'t be able to revert this!', + type: 'warning', + showCancelButton: true, + confirmButtonColor: '#3085d6', + cancelButtonColor: '#d33', + confirmButtonText: 'Yes, delete it!', + }).then((result) => { + if (result.value) { + let deleteurl = loris.BaseURL + + '/AjaxHelper.php?Module=dqt&script=DeleteDoc.php&DocID=' + + encodeURIComponent(id); + fetch(deleteurl, { + cache: 'no-cache', + credentials: 'same-origin', + }).then((resp) => resp.json()) + .then(()=>{ + location.reload(); + swal.fire('delete Successful!', '', 'success'); + }); + } + }); + }; useEffect(() => { let fields = []; let filters = []; @@ -157,7 +186,21 @@ const ManageSavedQueryRow = (props) => { setFilters(filters); setFields(fields); }, []); - + let docName = props.Query.Meta['name']; + let docAuthor = docName.substring(0, docName.lastIndexOf(':')); + let btn = ''; + if (props.author == docAuthor) { + btn = ( + + ); + } return ( @@ -175,6 +218,11 @@ const ManageSavedQueryRow = (props) => { {filtersVisible} + +
+ {btn} +
+ ); }; @@ -199,7 +247,6 @@ const SavedQueriesList = (props) => { props.queryDetails[queryName].Conditions ); }; - if (props.queriesLoaded === false) { return null; } @@ -222,6 +269,7 @@ const SavedQueriesList = (props) => { ); } @@ -247,6 +295,7 @@ const SavedQueriesList = (props) => { Query Name Fields Filters + Delete diff --git a/modules/dqt/php/dqt_setup.class.inc b/modules/dqt/php/dqt_setup.class.inc index 24ea6fe998e..cbfd359ebb3 100644 --- a/modules/dqt/php/dqt_setup.class.inc +++ b/modules/dqt/php/dqt_setup.class.inc @@ -166,10 +166,11 @@ class Dqt_Setup extends \NDB_Form implements RequestHandlerInterface $usersavedNames = array_map($IDMapCallback, $usersaved); $globalsavedNames = array_map($IDMapCallback, $globalsaved); - + $user = \User::singleton(); $data['savedqueries'] = [ 'user' => $usersavedNames, - 'shared' => $globalsavedNames, + 'shared' => $globalsavedNames, + 'author' => $user->getUsername(), ]; $data['visits'] = \Utility::getVisitList(); // Note: StringStream since BinaryStream isn't in 23.0-release. From b8d56427dc2a560dec23e00390c7d7cfb2d4810e Mon Sep 17 00:00:00 2001 From: Wang Shen Date: Wed, 6 Apr 2022 11:34:21 -0400 Subject: [PATCH 05/23] cs --- modules/dqt/php/dqt_setup.class.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/dqt/php/dqt_setup.class.inc b/modules/dqt/php/dqt_setup.class.inc index cbfd359ebb3..ba531f2c0fa 100644 --- a/modules/dqt/php/dqt_setup.class.inc +++ b/modules/dqt/php/dqt_setup.class.inc @@ -166,11 +166,11 @@ class Dqt_Setup extends \NDB_Form implements RequestHandlerInterface $usersavedNames = array_map($IDMapCallback, $usersaved); $globalsavedNames = array_map($IDMapCallback, $globalsaved); - $user = \User::singleton(); + $user = \User::singleton(); $data['savedqueries'] = [ 'user' => $usersavedNames, - 'shared' => $globalsavedNames, - 'author' => $user->getUsername(), + 'shared' => $globalsavedNames, + 'author' => $user->getUsername(), ]; $data['visits'] = \Utility::getVisitList(); // Note: StringStream since BinaryStream isn't in 23.0-release. From 460f486de7e00381e3cdadad24d8d62699421ff2 Mon Sep 17 00:00:00 2001 From: Wang Shen Date: Wed, 6 Apr 2022 11:38:06 -0400 Subject: [PATCH 06/23] cs for tools --- tools/dqt_delete_saved_query.php | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/tools/dqt_delete_saved_query.php b/tools/dqt_delete_saved_query.php index 3131b6780fd..0613a17ce59 100644 --- a/tools/dqt_delete_saved_query.php +++ b/tools/dqt_delete_saved_query.php @@ -28,20 +28,19 @@ $user = readline("Please input the author of the saved query:"); $name = readline("Please input the name of the saved query:"); - $global = readline("If the saved query is global then input 'y':"); - if ($global) { - $docID = urlencode("global:".$user."_".$name); - } else { - $docID = urlencode($user."_".$name); - } + $global = readline("If the saved query is global then input 'y':"); +if ($global) { + $docID = urlencode("global:".$user."_".$name); +} else { + $docID = urlencode($user."_".$name); +} $results = $cdb->deleteDoc( $docID ); - if (json_encode($results) == "true") - { - echo $name." has been deleted in DQT.\n"; - } else { - echo "There is no query named ".$name." in DQT.\n"; - }; +if (json_encode($results) == "true") { + echo $name." has been deleted in DQT.\n"; +} else { + echo "There is no query named ".$name." in DQT.\n"; +}; From dad3354009e03d722d7417bc4da6862bbb91a01a Mon Sep 17 00:00:00 2001 From: Shen Date: Sat, 22 Oct 2022 10:10:15 -0400 Subject: [PATCH 07/23] Update react.savedqueries.js --- modules/dqt/jsx/react.savedqueries.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/dqt/jsx/react.savedqueries.js b/modules/dqt/jsx/react.savedqueries.js index 8834d6f9480..2b2ecfac5d9 100644 --- a/modules/dqt/jsx/react.savedqueries.js +++ b/modules/dqt/jsx/react.savedqueries.js @@ -75,7 +75,7 @@ const ManageSavedQueryRow = (props) => { * @deleteclick */ function publicquerydelete() { - let id = props.Query['_id']; + const id = props.Query['_id']; swal.fire({ title: 'Are you sure?', text: 'You won\'t be able to revert this!', From 991366015b5ddf938a2845ec8552960c640644f8 Mon Sep 17 00:00:00 2001 From: Shen Date: Sat, 22 Oct 2022 10:13:27 -0400 Subject: [PATCH 08/23] Update dqt_setup.class.inc --- modules/dqt/php/dqt_setup.class.inc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/dqt/php/dqt_setup.class.inc b/modules/dqt/php/dqt_setup.class.inc index ba531f2c0fa..5b73867bee9 100644 --- a/modules/dqt/php/dqt_setup.class.inc +++ b/modules/dqt/php/dqt_setup.class.inc @@ -166,7 +166,6 @@ class Dqt_Setup extends \NDB_Form implements RequestHandlerInterface $usersavedNames = array_map($IDMapCallback, $usersaved); $globalsavedNames = array_map($IDMapCallback, $globalsaved); - $user = \User::singleton(); $data['savedqueries'] = [ 'user' => $usersavedNames, 'shared' => $globalsavedNames, From 89b67c54c96036212a55d6fc5795f0c6663cc6ce Mon Sep 17 00:00:00 2001 From: Shen Date: Sat, 22 Oct 2022 10:38:22 -0400 Subject: [PATCH 09/23] Update dqt_setup.class.inc --- modules/dqt/php/dqt_setup.class.inc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/dqt/php/dqt_setup.class.inc b/modules/dqt/php/dqt_setup.class.inc index 5b73867bee9..3f9bc1987c7 100644 --- a/modules/dqt/php/dqt_setup.class.inc +++ b/modules/dqt/php/dqt_setup.class.inc @@ -164,8 +164,9 @@ class Dqt_Setup extends \NDB_Form implements RequestHandlerInterface return $row['id']; }; - $usersavedNames = array_map($IDMapCallback, $usersaved); - $globalsavedNames = array_map($IDMapCallback, $globalsaved); + $usersavedNames = array_map($IDMapCallback, $usersaved); + $globalsavedNames = array_map($IDMapCallback, $globalsaved); + $data['savedqueries'] = [ 'user' => $usersavedNames, 'shared' => $globalsavedNames, From 5e1833edb38ff22dd68096709d5eed74ff96ac6a Mon Sep 17 00:00:00 2001 From: Shen Date: Sat, 22 Oct 2022 10:42:17 -0400 Subject: [PATCH 10/23] Update dqt_setup.class.inc --- modules/dqt/php/dqt_setup.class.inc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/dqt/php/dqt_setup.class.inc b/modules/dqt/php/dqt_setup.class.inc index 3f9bc1987c7..88e3e2d55a1 100644 --- a/modules/dqt/php/dqt_setup.class.inc +++ b/modules/dqt/php/dqt_setup.class.inc @@ -166,7 +166,6 @@ class Dqt_Setup extends \NDB_Form implements RequestHandlerInterface $usersavedNames = array_map($IDMapCallback, $usersaved); $globalsavedNames = array_map($IDMapCallback, $globalsaved); - $data['savedqueries'] = [ 'user' => $usersavedNames, 'shared' => $globalsavedNames, From baf7010ad7212eff5a257668f51625453be86b34 Mon Sep 17 00:00:00 2001 From: Shen Date: Mon, 24 Oct 2022 13:37:23 -0400 Subject: [PATCH 11/23] add user permisison check --- modules/dqt/ajax/DeleteDoc.php | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/modules/dqt/ajax/DeleteDoc.php b/modules/dqt/ajax/DeleteDoc.php index 05bb22664c0..48a3fe06c30 100644 --- a/modules/dqt/ajax/DeleteDoc.php +++ b/modules/dqt/ajax/DeleteDoc.php @@ -10,10 +10,12 @@ * @license http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 * @link https://www.github.com/aces/Loris/ */ -require_once __DIR__ . '/../../../vendor/autoload.php'; +// ########################## IBIS OVERRIDE START ####################### +require_once __DIR__ . '/../../../../vendor/autoload.php'; $client = new NDB_Client(); $client->makeCommandLine(); -$client->initialize(__DIR__ . "/../../../project/config.xml"); +$client->initialize(__DIR__ . "/../../../../project/config.xml"); +// ########################## IBIS OVERRIDE END ####################### header("Content-Type: application/json"); $config = \NDB_Config::singleton(); $couchConfig = $config->getSetting('CouchDB'); @@ -24,10 +26,19 @@ $couchConfig['admin'], $couchConfig['adminpass'] ); +$is_author = false; $docID = urlencode($_REQUEST['DocID']); +$user = User::singleton(); -$results = $cdb->deleteDoc( - $docID -); -print json_encode($results); +$tmp_author=explode("_",$docID); +$doc_author = str_replace("global:", '', $tmp_author[0]) ; +if ($doc_author == $user->getUsername()) { + $is_author = true; +} +if ($user->hasPermission('superuser') || $is_author) { + $results = $cdb->deleteDoc($docID); + print json_encode($results); +) else { + print json_encode("false"); +} From 9db6ba876ded8ac8b7f6938de041c720e9773eed Mon Sep 17 00:00:00 2001 From: Shen Date: Mon, 24 Oct 2022 13:53:07 -0400 Subject: [PATCH 12/23] Update DeleteDoc.php --- modules/dqt/ajax/DeleteDoc.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/dqt/ajax/DeleteDoc.php b/modules/dqt/ajax/DeleteDoc.php index 48a3fe06c30..74e752594c9 100644 --- a/modules/dqt/ajax/DeleteDoc.php +++ b/modules/dqt/ajax/DeleteDoc.php @@ -39,6 +39,6 @@ if ($user->hasPermission('superuser') || $is_author) { $results = $cdb->deleteDoc($docID); print json_encode($results); -) else { - print json_encode("false"); +} else { + print json_encode("false"); } From ac0b5d2c4ac53712d2a10d8fe77e3ae16b553c7d Mon Sep 17 00:00:00 2001 From: Shen Date: Mon, 24 Oct 2022 14:13:04 -0400 Subject: [PATCH 13/23] cs --- modules/dqt/ajax/DeleteDoc.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/modules/dqt/ajax/DeleteDoc.php b/modules/dqt/ajax/DeleteDoc.php index 74e752594c9..8629e0c043b 100644 --- a/modules/dqt/ajax/DeleteDoc.php +++ b/modules/dqt/ajax/DeleteDoc.php @@ -26,14 +26,13 @@ $couchConfig['admin'], $couchConfig['adminpass'] ); -$is_author = false; +$is_author = false; $docID = urlencode($_REQUEST['DocID']); $user = User::singleton(); - -$tmp_author=explode("_",$docID); -$doc_author = str_replace("global:", '', $tmp_author[0]) ; +$tmp_author = explode("_", $docID); +$doc_author = str_replace("global:", '', $tmp_author[0]); if ($doc_author == $user->getUsername()) { - $is_author = true; + $is_author = true; } if ($user->hasPermission('superuser') || $is_author) { From 9ab6cc9125d6558ca0c29370f2f04a674600c75e Mon Sep 17 00:00:00 2001 From: Shen Date: Mon, 31 Oct 2022 11:22:37 -0400 Subject: [PATCH 14/23] Update react.tabs.js --- modules/dqt/jsx/react.tabs.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/modules/dqt/jsx/react.tabs.js b/modules/dqt/jsx/react.tabs.js index 200fef1a44c..1a865f6f758 100644 --- a/modules/dqt/jsx/react.tabs.js +++ b/modules/dqt/jsx/react.tabs.js @@ -1258,10 +1258,7 @@ class ManageSavedQueryRow extends Component {
From 7261f8d0db1ff60d3d20786d50df38653afd3597 Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Mon, 31 Oct 2022 11:28:16 -0400 Subject: [PATCH 15/23] add CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d04d4473f9b..03a998323c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -252,6 +252,7 @@ or not matching password confirmation. (PR #6615, #6705, #6611) #### DQT - Improve the visibility of some dropdown elements (PR #6602) +- ADD delete the saved query feature (PR #8078) ### Clean Up - New tool for detection of multiple first visits for a candidate (prevents a database From 0de9f54e29c1b734c84d9fcaaf5ec86b3c35d4a5 Mon Sep 17 00:00:00 2001 From: maltheism <16293415+maltheism@users.noreply.github.com> Date: Mon, 31 Oct 2022 11:29:07 -0400 Subject: [PATCH 16/23] Update react.tabs.js eslint fix --- modules/dqt/jsx/react.tabs.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/dqt/jsx/react.tabs.js b/modules/dqt/jsx/react.tabs.js index 1a865f6f758..38a3dc95b2a 100644 --- a/modules/dqt/jsx/react.tabs.js +++ b/modules/dqt/jsx/react.tabs.js @@ -1258,7 +1258,9 @@ class ManageSavedQueryRow extends Component {
From d63d9e32a3802451c58877b88188cc999754b5bf Mon Sep 17 00:00:00 2001 From: Shen Date: Mon, 31 Oct 2022 12:58:08 -0400 Subject: [PATCH 17/23] Update dqt_delete_saved_query.php --- tools/dqt_delete_saved_query.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/tools/dqt_delete_saved_query.php b/tools/dqt_delete_saved_query.php index 0613a17ce59..95d27ae9c9c 100644 --- a/tools/dqt_delete_saved_query.php +++ b/tools/dqt_delete_saved_query.php @@ -11,9 +11,6 @@ * @link https://www.github.com/aces/Loris/ */ require_once __DIR__ . '/../vendor/autoload.php'; -$client = new NDB_Client(); -$client->makeCommandLine(); -$client->initialize(__DIR__ . "/../project/config.xml"); header("Content-Type: application/json"); $config = \NDB_Config::singleton(); $couchConfig = $config->getSetting('CouchDB'); From 8f11c5340b0d7bf170599b43d35742ac371849f4 Mon Sep 17 00:00:00 2001 From: Shen Date: Mon, 31 Oct 2022 12:58:38 -0400 Subject: [PATCH 18/23] Update DeleteDoc.php --- modules/dqt/ajax/DeleteDoc.php | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/dqt/ajax/DeleteDoc.php b/modules/dqt/ajax/DeleteDoc.php index 8629e0c043b..9eee23bf425 100644 --- a/modules/dqt/ajax/DeleteDoc.php +++ b/modules/dqt/ajax/DeleteDoc.php @@ -10,12 +10,6 @@ * @license http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 * @link https://www.github.com/aces/Loris/ */ -// ########################## IBIS OVERRIDE START ####################### -require_once __DIR__ . '/../../../../vendor/autoload.php'; -$client = new NDB_Client(); -$client->makeCommandLine(); -$client->initialize(__DIR__ . "/../../../../project/config.xml"); -// ########################## IBIS OVERRIDE END ####################### header("Content-Type: application/json"); $config = \NDB_Config::singleton(); $couchConfig = $config->getSetting('CouchDB'); From f61d8d2fd1d4261a825b4c43d62065ef5cc5c84c Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Mon, 31 Oct 2022 14:05:20 -0400 Subject: [PATCH 19/23] add 404 and check delete status --- modules/dqt/jsx/react.savedqueries.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/dqt/jsx/react.savedqueries.js b/modules/dqt/jsx/react.savedqueries.js index 2b2ecfac5d9..5ea4749b422 100644 --- a/modules/dqt/jsx/react.savedqueries.js +++ b/modules/dqt/jsx/react.savedqueries.js @@ -92,10 +92,15 @@ function publicquerydelete() { fetch(deleteurl, { cache: 'no-cache', credentials: 'same-origin', - }).then((resp) => resp.json()) + }).then((resp) => { + if (resp.status == 200) { + swal.fire('delete Successful!', '', 'success'); + } else { + swal.fire('delete Not Successful!', '', 'error'); + } + }) .then(()=>{ location.reload(); - swal.fire('delete Successful!', '', 'success'); }); } }); From d419afa9f889aa6d7bccda62c69b7bad724687cd Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Mon, 31 Oct 2022 14:06:32 -0400 Subject: [PATCH 20/23] add 404 and check delete status --- modules/dqt/ajax/DeleteDoc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/dqt/ajax/DeleteDoc.php b/modules/dqt/ajax/DeleteDoc.php index 9eee23bf425..4fccc176724 100644 --- a/modules/dqt/ajax/DeleteDoc.php +++ b/modules/dqt/ajax/DeleteDoc.php @@ -33,5 +33,5 @@ $results = $cdb->deleteDoc($docID); print json_encode($results); } else { - print json_encode("false"); + header("HTTP/1.1 404 Not Found"); } From 8cf6dae25d25da621611bd23812192334da0a824 Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Mon, 31 Oct 2022 14:13:54 -0400 Subject: [PATCH 21/23] update 404 --- modules/dqt/jsx/react.tabs.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/dqt/jsx/react.tabs.js b/modules/dqt/jsx/react.tabs.js index 38a3dc95b2a..7e852848532 100644 --- a/modules/dqt/jsx/react.tabs.js +++ b/modules/dqt/jsx/react.tabs.js @@ -1139,14 +1139,19 @@ class ManageSavedQueryRow extends Component { fetch(deleteurl, { cache: 'no-cache', credentials: 'same-origin', - }).then((resp) => resp.json()) + }).then((resp) => { + if (resp.status == 200) { + swal.fire('delete Successful!', '', 'success'); + } else { + swal.fire('delete Not Successful!', '', 'error'); + } + }) .then(()=>{ location.reload(); - swal.fire('delete Successful!', '', 'success'); }); } }); - } + } /** * Renders the React component. From 7b2f52b7365b4b8d5461ab11cea9f9cbdfbc83e6 Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Mon, 31 Oct 2022 14:23:12 -0400 Subject: [PATCH 22/23] indentation --- modules/dqt/jsx/react.savedqueries.js | 15 +++++++-------- modules/dqt/jsx/react.tabs.js | 15 +++++++-------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/modules/dqt/jsx/react.savedqueries.js b/modules/dqt/jsx/react.savedqueries.js index 5ea4749b422..68eb1aacaea 100644 --- a/modules/dqt/jsx/react.savedqueries.js +++ b/modules/dqt/jsx/react.savedqueries.js @@ -93,15 +93,14 @@ function publicquerydelete() { cache: 'no-cache', credentials: 'same-origin', }).then((resp) => { - if (resp.status == 200) { - swal.fire('delete Successful!', '', 'success'); - } else { - swal.fire('delete Not Successful!', '', 'error'); - } - }) - .then(()=>{ + if (resp.status == 200) { + swal.fire('delete Successful!', '', 'success'); + } else { + swal.fire('delete Not Successful!', '', 'error'); + } + }).then(()=>{ location.reload(); - }); + }); } }); }; diff --git a/modules/dqt/jsx/react.tabs.js b/modules/dqt/jsx/react.tabs.js index 7e852848532..cb95e3f0268 100644 --- a/modules/dqt/jsx/react.tabs.js +++ b/modules/dqt/jsx/react.tabs.js @@ -1140,15 +1140,14 @@ class ManageSavedQueryRow extends Component { cache: 'no-cache', credentials: 'same-origin', }).then((resp) => { - if (resp.status == 200) { - swal.fire('delete Successful!', '', 'success'); - } else { - swal.fire('delete Not Successful!', '', 'error'); - } - }) - .then(()=>{ + if (resp.status == 200) { + swal.fire('delete Successful!', '', 'success'); + } else { + swal.fire('delete Not Successful!', '', 'error'); + } + }).then(()=>{ location.reload(); - }); + }); } }); } From 983c89fac1c81e66fd56c26ebcee540072f11e49 Mon Sep 17 00:00:00 2001 From: Shen Date: Mon, 31 Oct 2022 14:25:08 -0400 Subject: [PATCH 23/23] Update DeleteDoc.php --- modules/dqt/ajax/DeleteDoc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/dqt/ajax/DeleteDoc.php b/modules/dqt/ajax/DeleteDoc.php index 4fccc176724..11eab76d142 100644 --- a/modules/dqt/ajax/DeleteDoc.php +++ b/modules/dqt/ajax/DeleteDoc.php @@ -33,5 +33,5 @@ $results = $cdb->deleteDoc($docID); print json_encode($results); } else { - header("HTTP/1.1 404 Not Found"); + header("HTTP/1.1 403 Forbidden"); }