aboutsummaryrefslogtreecommitdiff
path: root/muamba.handlers.inc
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2011-11-06 22:01:21 -0200
committerSilvio Rhatto <rhatto@riseup.net>2011-11-06 22:01:21 -0200
commitc205ae2d3a8eafcd8a07d2f0bcac1b2ea48a6a0f (patch)
treeadd5494bea847a401da29a33c715e0493456fc8b /muamba.handlers.inc
parentafa74968958b5dd54c7aadf737b159faa91af84b (diff)
downloadmuamba-c205ae2d3a8eafcd8a07d2f0bcac1b2ea48a6a0f.tar.gz
muamba-c205ae2d3a8eafcd8a07d2f0bcac1b2ea48a6a0f.tar.bz2
Partial views_handler_field_muamba_actions()
Diffstat (limited to 'muamba.handlers.inc')
-rw-r--r--muamba.handlers.inc36
1 files changed, 31 insertions, 5 deletions
diff --git a/muamba.handlers.inc b/muamba.handlers.inc
index 7a1c3f3..f6c0982 100644
--- a/muamba.handlers.inc
+++ b/muamba.handlers.inc
@@ -58,7 +58,7 @@ class views_handler_field_muamba_available extends views_handler_field {
elseif (!$available) {
$transaction = muamba_current_transactions($values->nid, $user->uid);
- if ($transaction['uid'] == $user->uid) {
+ if (isset($transaction['uid']) && $transaction['uid'] == $user->uid) {
return t('You requested');
}
else {
@@ -74,6 +74,7 @@ class views_handler_field_muamba_available extends views_handler_field {
* Field handler for muamba transaction status.
*
* @todo
+ * Show widget also in a transaction view.
*/
class views_handler_field_muamba_actions extends views_handler_field {
/**
@@ -88,11 +89,36 @@ class views_handler_field_muamba_actions extends views_handler_field {
/**
* Renders the field.
- *
- * @todo
*/
function render($values) {
- dpm($values);
- return "TODO";
+ global $user;
+
+ if (isset($values->mid)) {
+ $transaction = muamba_get_transaction($values->mid);
+ // @todo
+ return 'TODO';
+ }
+ elseif (isset($values->nid)) {
+ $available = muamba_check_availability($values->nid);
+ $node = node_load($values->nid);
+
+ // Check if widget can be shown
+ if ($node->type != MUAMBA_NODE_TYPE || !muamba_has_request_access($node)) {
+ return;
+ }
+
+ if ($node->uid != $user->uid) {
+ $transactions = muamba_current_transactions($values->nid, $user->uid);
+ }
+ else {
+ $transactions = muamba_current_transactions($values->nid);
+ }
+
+ return theme('muamba_widget', array(
+ 'node' => $node,
+ 'transactions' => $transactions,
+ 'available' => $available,
+ ));
+ }
}
}