From 8d98d7d70ba2cdc05471ecd8cec4297d645fb2e5 Mon Sep 17 00:00:00 2001
From: wonder95 <killshot91@gmail.com>
Date: Fri, 13 Apr 2012 16:50:55 -0700
Subject: [PATCH] Adding workflow_search_api module to allow workflow state to be used as a facet and be available in search results.

---
 workflow_search_api/workflow_search_api.info   |    6 +++++
 workflow_search_api/workflow_search_api.module |   29 ++++++++++++++++++++++++
 2 files changed, 35 insertions(+), 0 deletions(-)
 create mode 100644 workflow_search_api/workflow_search_api.info
 create mode 100644 workflow_search_api/workflow_search_api.module

diff --git a/workflow_search_api/workflow_search_api.info b/workflow_search_api/workflow_search_api.info
new file mode 100644
index 0000000..56401ca
--- /dev/null
+++ b/workflow_search_api/workflow_search_api.info
@@ -0,0 +1,6 @@
+name = Workflow Search API
+description = "Adds workflow state information to Search API index"
+dependencies[] = entity
+core = 7.x
+package = Search
+
diff --git a/workflow_search_api/workflow_search_api.module b/workflow_search_api/workflow_search_api.module
new file mode 100644
index 0000000..ef3c5c6
--- /dev/null
+++ b/workflow_search_api/workflow_search_api.module
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * Implements hook_entity_property_info_alter().
+ */
+function workflow_search_api_entity_property_info_alter(&$info) {
+  $info['node']['properties']['workflow_state_name'] = array(
+    'type' => 'text',
+    'label' => t('Workflow state name'),
+    'sanitized' => TRUE,
+    'getter callback' => 'workflow_search_api_property_workflow_state_getter_callback',
+  );
+}
+
+/**
+ * Getter callback for workflow state defined in workflow_search_api_entity_property_info_alter.
+ */
+function workflow_search_api_property_workflow_state_getter_callback($item) {
+  if ($item->workflow) {
+    // Get text value of workflow state.
+    $state = workflow_get_workflow_states_by_sid($item->workflow);
+    $state_name = $state->state;
+  }
+  else {
+    $state_name = ''; 
+  }  
+  
+  return $state_name;
+} 
\ No newline at end of file
-- 
1.7.4.1

