From 97e344fc71919016cf493eae154e96a6476601c6 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Fri, 7 Oct 2011 11:52:54 -0300 Subject: Adding views support --- muamba.module | 20 ++++++++++ muamba.views.inc | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 muamba.views.inc diff --git a/muamba.module b/muamba.module index 840136d..0cfe977 100644 --- a/muamba.module +++ b/muamba.module @@ -269,3 +269,23 @@ function muamba_user_delete($account) { ->condition('owner', $account->uid) ->execute(); } + +/** + * Register View API information. This is required for your module to have + * its include files loaded; for example, when implementing + * hook_views_default_views(). + * + * @return + * An array with the following possible keys: + * - api: (required) The version of the Views API the module implements. + * - path: (optional) If includes are stored somewhere other than within + * the root module directory, specify its path here. + * - template path: (optional) A path where the module has stored it's views template files. + * When you have specificed this key views automatically uses the template files for the views. + * You can use the same naming conventions like for normal views template files. + */ +function muamba_views_api() { + return array( + 'api' => 3, + ); +} diff --git a/muamba.views.inc b/muamba.views.inc new file mode 100644 index 0000000..c1f77a0 --- /dev/null +++ b/muamba.views.inc @@ -0,0 +1,110 @@ + 'mid', + 'title' => t('Muamba'), + 'help' => t("Muamba contains transaction data related to users and nodes"), + 'weight' => -10, + ); + + $data['muamba']['table']['join'] = array( + 'node' => array( + 'left_field' => 'nid', + 'field' => 'nid', + ), + ); + + // Transaction Id. + $data['muamba']['mid'] = array( + 'title' => t('Id'), + 'help' => t('Transaction Id'), + 'field' => array( + 'handler' => 'views_handler_field_numeric', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_numeric', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + // Node ID field. + $data['muamba']['nid'] = array( + 'title' => t('Muamba node asset'), + 'help' => t('The node in a muamba transaction.'), + 'relationship' => array( + 'base' => 'node', + 'field' => 'nid', + 'handler' => 'views_handler_relationship', + 'label' => t('Muamba node'), + ), + ); + + // User ID field. + $data['muamba']['uid'] = array( + 'title' => t('Muamba requester user'), + 'help' => t('The user that initiated a transaction.'), + 'relationship' => array( + 'base' => 'users', + 'field' => 'uid', + 'handler' => 'views_handler_relationship', + 'label' => t('Muamba requester'), + ), + ); + + // User ID field. + $data['muamba']['owner'] = array( + 'title' => t('Muamba asset owner'), + 'help' => t('The user that owns an asset.'), + 'relationship' => array( + 'base' => 'users', + 'field' => 'uid', + 'handler' => 'views_handler_relationship', + 'label' => t('Muamba item owner'), + ), + ); + + // Thread ID field. + $data['muamba']['thread_id'] = array( + 'title' => t('Thread'), + 'help' => t('The transaction negotiation thread.'), + 'relationship' => array( + 'base' => 'pm_index', + 'field' => 'thread_id', + 'handler' => 'views_handler_relationship', + 'label' => t('Muamba thread'), + ), + ); + + // Transaction status. + $data['muamba']['status'] = array( + 'title' => t('Status'), + 'help' => t('Transaction status'), + 'field' => array( + 'handler' => 'views_handler_field_numeric', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_numeric', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + return $data; +} -- cgit v1.2.3