From a7d2dc7637a923f4b5ba5530b7328e8a55f22985 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Tue, 22 Nov 2011 18:20:33 -0200 Subject: Messages icon in actions handler --- muamba.handlers.inc | 45 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) (limited to 'muamba.handlers.inc') diff --git a/muamba.handlers.inc b/muamba.handlers.inc index ea1a54d..d9a603b 100644 --- a/muamba.handlers.inc +++ b/muamba.handlers.inc @@ -69,6 +69,29 @@ class views_handler_field_muamba_actions extends views_handler_field { $this->field_alias = 'views_muamba_actions_' . $this->position; } + /** + * Option definition. + */ + function option_definition() { + $options = parent::option_definition(); + $options['messages'] = array('default' => FALSE); + return $options; + } + + /** + * Provide link to node option. + */ + function options_form(&$form, &$form_state) { + parent::options_form($form, $form_state); + + $form['messages'] = array( + '#type' => 'checkbox', + '#title' => t('Show messages link'), + '#default_value' => isset($this->options['messages']) ? $this->options['messages'] : FALSE, + '#description' => t('Add a link to the transaction thread.'), + ); + } + /** * Renders the field. */ @@ -85,10 +108,16 @@ class views_handler_field_muamba_actions extends views_handler_field { } if ($transaction['owner'] == $user->uid) { - return theme('muamba_widget_owner', array('transaction' => $transaction)); + return theme('muamba_widget_owner', array( + 'transaction' => $transaction, + 'messages' => $this->options['messages'], + )); } elseif ($transaction['uid'] == $user->uid) { - return theme('muamba_widget_requester', array('transaction' => $transaction)); + return theme('muamba_widget_requester', array( + 'transaction' => $transaction, + 'messages' => $this->options['messages'], + )); } } elseif (isset($values->nid)) { @@ -101,15 +130,21 @@ class views_handler_field_muamba_actions extends views_handler_field { } if ($transaction['owner'] == $user->uid) { - return theme('muamba_widget_owner', array('transaction' => $transaction)); + return theme('muamba_widget_owner', array( + 'transaction' => $transaction, + 'messages' => $this->options['messages'], + )); } elseif ($transaction['uid'] == $user->uid) { - return theme('muamba_widget_requester', array('transaction' => $transaction)); + return theme('muamba_widget_requester', array( + 'transaction' => $transaction, + 'messages' => $this->options['messages'], + )); } } else { $node = node_load($values->nid); - return muamba_widget($node); + return muamba_widget($node, 'small', $this->options['messages']); } } } -- cgit v1.2.3