From 9c3e1971d808aa189fb858b0a815593a55607368 Mon Sep 17 00:00:00 2001
From: Jaap Jansma <jaap.jansma@civicoop.org>
Date: Thu, 6 Jun 2019 17:14:23 +0200
Subject: [PATCH] fixed issue with case role filter and field

---
 .../FieldOutputHandler/CaseRolesFieldOutputHandler.php     | 7 +++++--
 Civi/DataProcessor/FilterHandler/CaseRoleFilter.php        | 7 +++++--
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/Civi/DataProcessor/FieldOutputHandler/CaseRolesFieldOutputHandler.php b/Civi/DataProcessor/FieldOutputHandler/CaseRolesFieldOutputHandler.php
index 2f9b9d33..5f051529 100644
--- a/Civi/DataProcessor/FieldOutputHandler/CaseRolesFieldOutputHandler.php
+++ b/Civi/DataProcessor/FieldOutputHandler/CaseRolesFieldOutputHandler.php
@@ -74,7 +74,10 @@ class CaseRolesFieldOutputHandler extends AbstractFieldOutputHandler {
     $this->outputFieldSpecification = new FieldSpecification($this->caseIdField->name, 'String', $title, null, $alias);
 
     if (isset($configuration['relationship_types']) && is_array($configuration['relationship_types'])) {
-      $this->relationship_type_ids = $configuration['relationship_types'];
+      $this->relationship_type_ids = array();
+      foreach($configuration['relationship_types'] as $rel_type) {
+        $this->relationship_type_ids[] = civicrm_api3('RelationshipType', 'getvalue', array('return' => 'id', 'name_a_b' => $rel_type));
+      };
     }
     if (isset($configuration['show_label'])) {
       $this->show_label = $configuration['show_label'];
@@ -148,7 +151,7 @@ class CaseRolesFieldOutputHandler extends AbstractFieldOutputHandler {
     $relationshipTypeApi = civicrm_api3('RelationshipType', 'get', array('is_active' => 1, 'options' => array('limit' => 0)));
     $relationshipTypes = array();
     foreach($relationshipTypeApi['values'] as $relationship_type) {
-      $relationshipTypes[$relationship_type['id']] = $relationship_type['label_a_b'];
+      $relationshipTypes[$relationship_type['name_a_b']] = $relationship_type['label_a_b'];
     }
 
     $form->add('select', 'case_id_field', E::ts('Case ID Field'), $fieldSelect, true, array(
diff --git a/Civi/DataProcessor/FilterHandler/CaseRoleFilter.php b/Civi/DataProcessor/FilterHandler/CaseRoleFilter.php
index a0877d7b..ec3fc3e1 100644
--- a/Civi/DataProcessor/FilterHandler/CaseRoleFilter.php
+++ b/Civi/DataProcessor/FilterHandler/CaseRoleFilter.php
@@ -60,7 +60,10 @@ class CaseRoleFilter extends AbstractFilterHandler {
     }
 
     if (isset($configuration['relationship_types']) && is_array($configuration['relationship_types'])) {
-      $this->relationship_type_ids = $configuration['relationship_types'];
+      $this->relationship_type_ids = array();
+      foreach($configuration['relationship_types'] as $rel_type) {
+        $this->relationship_type_ids[] = civicrm_api3('RelationshipType', 'getvalue', array('return' => 'id', 'name_a_b' => $rel_type));
+      };
     }
   }
 
@@ -128,7 +131,7 @@ class CaseRoleFilter extends AbstractFilterHandler {
     $relationshipTypeApi = civicrm_api3('RelationshipType', 'get', array('is_active' => 1, 'options' => array('limit' => 0)));
     $relationshipTypes = array();
     foreach($relationshipTypeApi['values'] as $relationship_type) {
-      $relationshipTypes[$relationship_type['id']] = $relationship_type['label_a_b'];
+      $relationshipTypes[$relationship_type['name_a_b']] = $relationship_type['label_a_b'];
     }
 
     $form->add('select', 'case_id_field', E::ts('Case ID Field'), $fieldSelect, true, array(
-- 
GitLab