aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2011-10-07 11:52:54 -0300
committerSilvio Rhatto <rhatto@riseup.net>2011-10-07 11:52:54 -0300
commit97e344fc71919016cf493eae154e96a6476601c6 (patch)
treee72944aed2bdf5a28f67a1ef1eab281d3617c4ad
parent309c71bbfc3e652dce65170a9cc52acfc7bef601 (diff)
downloadmuamba-97e344fc71919016cf493eae154e96a6476601c6.tar.gz
muamba-97e344fc71919016cf493eae154e96a6476601c6.tar.bz2
Adding views support
-rw-r--r--muamba.module20
-rw-r--r--muamba.views.inc110
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;
+}