From be79028cc484db044951198ef61e5f699c861997 Mon Sep 17 00:00:00 2001
From: sarvesh211999 <sarvesh211999@gmail.com>
Date: Sat, 8 Jun 2019 04:12:08 +0530
Subject: [PATCH] output from menu removed on deleting the output from
 dataprocessor

---
 CRM/Dataprocessor/Form/Output.php            | 13 +++++++++++++
 Civi/DataProcessor/Output/UIOutputHelper.php |  9 +++++----
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/CRM/Dataprocessor/Form/Output.php b/CRM/Dataprocessor/Form/Output.php
index 121f2b14..b8ebbda6 100644
--- a/CRM/Dataprocessor/Form/Output.php
+++ b/CRM/Dataprocessor/Form/Output.php
@@ -111,8 +111,21 @@ class CRM_Dataprocessor_Form_Output extends CRM_Core_Form {
     $session = CRM_Core_Session::singleton();
     $redirectUrl = CRM_Utils_System::url('civicrm/dataprocessor/form/edit', array('reset' => 1, 'action' => 'update', 'id' => $this->dataProcessorId));
     if ($this->_action == CRM_Core_Action::DELETE) {
+      $result = civicrm_api3('DataProcessorOutput', 'get', [
+        'sequential' => 1,
+        'return' => ["configuration"],
+        'id' => $this->id,
+      ]);
+      // Civi::log()->info(print_r($result));
+      // Civi::log()->error('{name}.  do that.', array('name' => 'Stanley Kubrick'));
+      // echo "<pre>";
+      // print_r($result['values'][0]['configuration']['navigation_id']);
+      // echo "</pre>";
+      // exit;
+      civicrm_api3('Navigation', 'delete', ['id' => $result['values'][0]['configuration']['navigation_id']]);
       civicrm_api3('DataProcessorOutput', 'delete', array('id' => $this->id));
       $session->setStatus(E::ts('Data Processor Output removed'), E::ts('Removed'), 'success');
+      CRM_Core_BAO_Navigation::resetNavigation();
       CRM_Utils_System::redirect($redirectUrl);
     }
 
diff --git a/Civi/DataProcessor/Output/UIOutputHelper.php b/Civi/DataProcessor/Output/UIOutputHelper.php
index 68576dad..df0e6f74 100644
--- a/Civi/DataProcessor/Output/UIOutputHelper.php
+++ b/Civi/DataProcessor/Output/UIOutputHelper.php
@@ -68,9 +68,10 @@ class UIOutputHelper {
     if ($op == 'delete') {
       $output = civicrm_api3('DataProcessorOutput', 'getsingle', array('id' => $id));
       if (isset($output['configuration']['navigation_id'])) {
+        echo "here";
         $navId = $output['configuration']['navigation_id'];
-        \CRM_Core_BAO_Navigation::processDelete($navId);
-        \CRM_Core_BAO_Navigation::resetNavigation();
+        CRM_Core_BAO_Navigation::processDelete($navId);
+        CRM_Core_BAO_Navigation::resetNavigation();
         self::$rebuildMenu = TRUE;
       }
     } elseif ($op == 'edit') {
@@ -80,8 +81,8 @@ class UIOutputHelper {
       } elseif (!isset($params['configuration']['navigation_parent_path'])) {
         // Delete the navigation item
         $navId = $output['configuration']['navigation_id'];
-        \CRM_Core_BAO_Navigation::processDelete($navId);
-        \CRM_Core_BAO_Navigation::resetNavigation();
+        CRM_Core_BAO_Navigation::processDelete($navId);
+        CRM_Core_BAO_Navigation::resetNavigation();
         self::$rebuildMenu = TRUE;
       } else {
         $dataProcessor = civicrm_api3('DataProcessor', 'getsingle', array('id' => $output['data_processor_id']));
-- 
GitLab