From d4fb9bcd9999c810c1acd69316672b7db103c571 Mon Sep 17 00:00:00 2001
From: Erik Hommel <hommel@ee-atwork.nl>
Date: Mon, 16 Mar 2015 09:05:48 +0100
Subject: [PATCH] add format parameters to activity type condition

---
 CRM/Civirules/Utils.php                   | 26 +++++++++++++++++++++++
 CRM/CivirulesConditions/Activity/Type.php | 15 +++++++++++++
 2 files changed, 41 insertions(+)

diff --git a/CRM/Civirules/Utils.php b/CRM/Civirules/Utils.php
index fdfe2b0..a598f17 100755
--- a/CRM/Civirules/Utils.php
+++ b/CRM/Civirules/Utils.php
@@ -146,5 +146,31 @@ class CRM_Civirules_Utils {
     }
     return $optionGroupId;
   }
+
+  /**
+   * Function to get option label with value and option group id
+   *
+   * @param int $optionGroupId
+   * @param mixed $optionValue
+   * @return array|bool
+   * @access public
+   * @static
+   */
+  public static function getOptionLabelWithValue($optionGroupId, $optionValue) {
+    if (empty($optionGroupId) or empty($optionValue)) {
+      return FALSE;
+    } else {
+      $params = array(
+        'option_group_id' => $optionGroupId,
+        'value' => $optionValue,
+        'return' => 'label'
+      );
+      try {
+        return civicrm_api3('OptionValue', 'Getvalue', $params);
+      } catch (CiviCRM_API3_Exception $ex) {
+        return false;
+      }
+    }
+  }
 }
 
diff --git a/CRM/CivirulesConditions/Activity/Type.php b/CRM/CivirulesConditions/Activity/Type.php
index da4a013..e114914 100644
--- a/CRM/CivirulesConditions/Activity/Type.php
+++ b/CRM/CivirulesConditions/Activity/Type.php
@@ -49,4 +49,19 @@ class CRM_CivirulesConditions_Activity_Type extends CRM_Civirules_Condition {
     }
     return false;
   }
+  /**
+   * Returns a user friendly text explaining the condition params
+   * e.g. 'Older than 65'
+   *
+   * @return string
+   * @access public
+   */
+  public function userFriendlyConditionParams() {
+    $activityTypeLabel = CRM_Civirules_Utils::getOptionLabelWithValue(CRM_Civirules_Utils::getOptionGroupIdWithName('activity_type'),
+      $this->conditionParams['activity_type_id']);
+    if (!empty($activityTypeLabel)) {
+      return 'Activity type is '.$activityTypeLabel;
+    }
+    return '';
+  }
 }
\ No newline at end of file
-- 
GitLab