Merge pull request #3066 from relldoesphp/CRM-14466
[civicrm-core.git] / CRM / Case / PseudoConstant.php
index 62018aea27e24e94e5c34e29cb318ab3033c1440..5f00dbd311cdb394985a6dc483b5082f736419fa 100644 (file)
@@ -89,12 +89,16 @@ class CRM_Case_PseudoConstant extends CRM_Core_PseudoConstant {
    * @return array - array reference of all case statues
    * @static
    */
-  public static function caseStatus($column = 'label', $onlyActive = TRUE) {
+  public static function caseStatus($column = 'label', $onlyActive = TRUE, $condition = NULL, $fresh = FALSE) {
     $cacheKey = "{$column}_" . (int)$onlyActive;
-    if (!isset(self::$caseStatus[$cacheKey])) {
+    if (!$condition) {
+      $condition = 'AND filter = 0';
+    }
+
+    if (!isset(self::$caseStatus[$cacheKey]) || $fresh) {
       self::$caseStatus[$cacheKey] = CRM_Core_OptionGroup::values('case_status',
-        FALSE, FALSE, FALSE, NULL,
-        $column, $onlyActive
+        FALSE, FALSE, FALSE, $condition,
+        $column, $onlyActive, $fresh
       );
     }
 
@@ -137,11 +141,14 @@ class CRM_Case_PseudoConstant extends CRM_Core_PseudoConstant {
    * @return array - array reference of all case type
    * @static
    */
-  public static function caseType($column = 'label', $onlyActive = TRUE) {
+  public static function caseType($column = 'label', $onlyActive = TRUE, $condition = NULL) {
     $cacheKey = "{$column}_" . (int)$onlyActive;
+    if (!$condition) {
+      $condition = 'AND filter = 0';
+    }
     if (!isset(self::$caseType[$cacheKey])) {
       self::$caseType[$cacheKey] = CRM_Core_OptionGroup::values('case_type',
-        FALSE, FALSE, FALSE, NULL,
+        FALSE, FALSE, FALSE, $condition,
         $column, $onlyActive
       );
     }