From c1a0afef95d07a687abd888e59ec907a9b65696a Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Sun, 27 Sep 2020 12:12:01 -0500 Subject: [PATCH 1/4] make group view into a modal --- .../classic/views => ajax/modals}/group.php | 75 ++++++++----------- web/includes/actions/group.php | 17 ++--- web/skins/classic/views/js/group.js | 20 ----- web/skins/classic/views/js/groups.js | 56 +++++++++++++- 4 files changed, 92 insertions(+), 76 deletions(-) rename web/{skins/classic/views => ajax/modals}/group.php (58%) delete mode 100644 web/skins/classic/views/js/group.js diff --git a/web/skins/classic/views/group.php b/web/ajax/modals/group.php similarity index 58% rename from web/skins/classic/views/group.php rename to web/ajax/modals/group.php index ee5fcaece..119149951 100644 --- a/web/skins/classic/views/group.php +++ b/web/ajax/modals/group.php @@ -1,22 +1,5 @@ depth()) . $option['Name']; } - return htmlSelect('newGroup[ParentId]', $options, $newGroup->ParentId(), array('data-on-change'=>'configureButtons')); + return htmlSelect('newGroup[ParentId]', $options, $newGroup->ParentId(), array('data-on-change'=>'configModalBtns')); } function monitorList($newGroup) { @@ -103,46 +86,50 @@ if ( !empty($_REQUEST['gid']) ) { // // BEGIN HTML // - -xhtmlHeaders(__FILE__, translate('Group').' - '.$newGroup->Name()); ?> - -
- -
-
- +
diff --git a/web/includes/actions/group.php b/web/includes/actions/group.php index b23659d18..6840994be 100644 --- a/web/includes/actions/group.php +++ b/web/includes/actions/group.php @@ -26,26 +26,25 @@ if ( !canEdit('Groups') ) { return; } -if ( $action == 'Save' ) { +if ( $action == 'save' ) { $group_id = null; - if ( !empty($_POST['gid']) ) - $group_id = $_POST['gid']; + if ( !empty($_REQUEST['gid']) ) + $group_id = $_REQUEST['gid']; $group = new ZM\Group($group_id); $group->save( array( - 'Name'=> $_POST['newGroup']['Name'], - 'ParentId'=>( $_POST['newGroup']['ParentId'] == '' ? null : $_POST['newGroup']['ParentId'] ), + 'Name'=> $_REQUEST['newGroup']['Name'], + 'ParentId'=>( $_REQUEST['newGroup']['ParentId'] == '' ? null : $_REQUEST['newGroup']['ParentId'] ), ) ); dbQuery('DELETE FROM `Groups_Monitors` WHERE `GroupId`=?', array($group_id)); $group_id = $group->Id(); if ( $group_id ) { - foreach ( $_POST['newGroup']['MonitorIds'] as $mid ) { + foreach ( $_REQUEST['newGroup']['MonitorIds'] as $mid ) { dbQuery('INSERT INTO `Groups_Monitors` (`GroupId`,`MonitorId`) VALUES (?,?)', array($group_id, $mid)); } } - $view = 'none'; - $refreshParent = true; - $closePopup = true; + $redirect = '?view=groups'; } +ZM\Warning('group action was called'); ?> diff --git a/web/skins/classic/views/js/group.js b/web/skins/classic/views/js/group.js deleted file mode 100644 index 26aa9cae6..000000000 --- a/web/skins/classic/views/js/group.js +++ /dev/null @@ -1,20 +0,0 @@ -function configureButtons() { - var form = $j('#groupForm')[0]; - if ( !form ) { - console.log("No groupForm found"); - return; - } - if ( !canEditGroups ) { - console.log("Cannot edit groups"); - form.elements['action'].disabled = disabled; - return; - } - var disabled = false; - - if ( form.elements['newGroup[Name]'].value == '' ) { - disabled = true; - } - form.elements['action'].disabled = disabled; -} - -window.focus(); diff --git a/web/skins/classic/views/js/groups.js b/web/skins/classic/views/js/groups.js index 8ff1b61ff..28525d391 100644 --- a/web/skins/classic/views/js/groups.js +++ b/web/skins/classic/views/js/groups.js @@ -1,5 +1,22 @@ +// Manage the NEW Group button function newGroup() { - createPopup( '?view=group', 'zmGroup', 'group' ); + $j.getJSON(thisUrl + '?request=modal&modal=group') + .done(function(data) { + if ( $j('#groupModal').length ) { + $j('#groupModal').replaceWith(data.html); + } else { + $j("body").append(data.html); + } + $j('#groupModal').modal('show'); + $j('.chosen').chosen("destroy"); + $j('.chosen').chosen(); + // Manage the Save button + $j('#grpModalSaveBtn').click(function(evt) { + evt.preventDefault(); + $j('#groupForm').submit(); + }); + }) + .fail(logAjaxFail); } function setGroup( element ) { @@ -13,7 +30,23 @@ function editGroup( element ) { if ( !gid ) { console.log('No group id found in editGroup'); } else { - createPopup('?view=group&gid='+gid, 'zmGroup'+gid, 'group'); + $j.getJSON(thisUrl + '?request=modal&modal=group&gid=' + gid) + .done(function(data) { + if ( $j('#groupModal').length ) { + $j('#groupModal').replaceWith(data.html); + } else { + $j("body").append(data.html); + } + $j('#groupModal').modal('show'); + $j('.chosen').chosen("destroy"); + $j('.chosen').chosen(); + // Manage the Save button + $j('#grpModalSaveBtn').click(function(evt) { + evt.preventDefault(); + $j('#groupForm').submit(); + }); + }) + .fail(logAjaxFail); } } @@ -33,4 +66,21 @@ function configureButtons( element ) { } } -window.focus(); +function configModalBtns() { + var form = $j('#groupForm')[0]; + if ( !form ) { + console.log("No groupForm found"); + return; + } + if ( !canEditGroups ) { + console.log("Cannot edit groups"); + form.elements['action'].disabled = disabled; + return; + } + var disabled = false; + + if ( form.elements['newGroup[Name]'].value == '' ) { + disabled = true; + } + form.elements['action'].disabled = disabled; +} From 9ea58dc4a1a365c63d18e5c6605a5057b2a01c4a Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Sun, 27 Sep 2020 12:16:04 -0500 Subject: [PATCH 2/4] eslint --- web/skins/classic/views/js/groups.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/skins/classic/views/js/groups.js b/web/skins/classic/views/js/groups.js index 28525d391..d6eb306bf 100644 --- a/web/skins/classic/views/js/groups.js +++ b/web/skins/classic/views/js/groups.js @@ -1,4 +1,4 @@ -// Manage the NEW Group button +// Manage the NEW Group button function newGroup() { $j.getJSON(thisUrl + '?request=modal&modal=group') .done(function(data) { From 3b46ebacae07afd57a44d8025704b000fbedff4d Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Sun, 27 Sep 2020 12:20:09 -0500 Subject: [PATCH 3/4] remove warning used for testing --- web/includes/actions/group.php | 1 - 1 file changed, 1 deletion(-) diff --git a/web/includes/actions/group.php b/web/includes/actions/group.php index 6840994be..ec7a1dc87 100644 --- a/web/includes/actions/group.php +++ b/web/includes/actions/group.php @@ -46,5 +46,4 @@ if ( $action == 'save' ) { } $redirect = '?view=groups'; } -ZM\Warning('group action was called'); ?> From 699cbed6aff4f6986d651081b81475adcc42829a Mon Sep 17 00:00:00 2001 From: Andrew Bauer Date: Sun, 27 Sep 2020 12:43:12 -0500 Subject: [PATCH 4/4] add back and refresh buttons to export view --- web/skins/classic/views/export.php | 13 +++++++++---- web/skins/classic/views/js/export.js | 16 ++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/web/skins/classic/views/export.php b/web/skins/classic/views/export.php index db938d26b..90e269a33 100644 --- a/web/skins/classic/views/export.php +++ b/web/skins/classic/views/export.php @@ -63,10 +63,15 @@ xhtmlHeaders(__FILE__, translate('Export'));
- -
+
+
+ + +
+
+

+
+