diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2011-10-07 11:52:54 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2011-10-07 11:52:54 -0300 |
commit | 97e344fc71919016cf493eae154e96a6476601c6 (patch) | |
tree | e72944aed2bdf5a28f67a1ef1eab281d3617c4ad | |
parent | 309c71bbfc3e652dce65170a9cc52acfc7bef601 (diff) | |
download | muamba-97e344fc71919016cf493eae154e96a6476601c6.tar.gz muamba-97e344fc71919016cf493eae154e96a6476601c6.tar.bz2 |
Adding views support
-rw-r--r-- | muamba.module | 20 | ||||
-rw-r--r-- | muamba.views.inc | 110 |
2 files changed, 130 insertions, 0 deletions
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 @@ +<?php + +/** + * @file + */ + +/** + * Implements hook_views_data() + */ +function muamba_views_data() { + // Group index. + $data['muamba']['table']['group'] = t('Muamba'); + + // Define this as a base table. + $data['muamba']['table']['base'] = array( + 'field' => '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; +} |