]> gitweb.fluxo.info Git - drupal/muamba.git/commitdiff
Sketching muamba_actions()
authorSilvio Rhatto <rhatto@riseup.net>
Mon, 26 Sep 2011 23:34:59 +0000 (20:34 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Mon, 26 Sep 2011 23:34:59 +0000 (20:34 -0300)
muamba.business.inc
muamba.db.inc
muamba.module
muamba.theme.inc

index db89305d56e91462e8fb0431d302712a5bc0bc5b..5efb469f3fad1fe77fc5c3f975852471c60ff786 100644 (file)
@@ -5,8 +5,24 @@
  * Business logic for Muamba.
  */
 
-// Database functions.
+// Load requirements.
 include_once('muamba.db.inc');
+include_once('muamba.misc.inc');
+
+/**
+ * Transaction management page.
+ */
+function muamba() {
+  global $user;
+
+  $sent     = muamba_transactions_summary(muamba_get_transactions($user->uid));
+  $received = muamba_transactions_summary(muamba_get_transactions($user->uid, 'received'));
+
+  $output  = theme('muamba_transactions', array('transactions' => $sent, 'type' => 'sent'));
+  $output .= theme('muamba_transactions', array('transactions' => $received, 'type' => 'received'));
+
+  return $output;
+}
 
 /**
  * Request an item.
@@ -58,21 +74,6 @@ function muamba_request($nid) {
   return t('You have requested an item');
 }
 
-/**
- * Transaction management page.
- */
-function muamba() {
-  global $user;
-
-  $sent     = muamba_get_transactions($user->uid);
-  $received = muamba_get_transactions($user->uid, 'received');
-
-  $output  = theme('muamba_transactions', array('transactions' => $sent));
-  $output .= theme('muamba_transactions', array('transactions' => $received));
-
-  return $output;
-}
-
 /**
  * Accept a transaction request.
  *
@@ -130,3 +131,14 @@ function muamba_release($mid) {
  */
 function muamba_return($mid) {
 }
+
+/**
+ * Cancel a request.
+ *
+ * @param $mid
+ *   Transaction id.
+ *
+ * @todo
+ */
+function muamba_cancel($mid) {
+}
index a8bf8b9618cb7d87c82425f46d080d22e68a7a44..93eb5bc0bdc04cccfb4f89704cca53318a01ae56 100644 (file)
@@ -51,13 +51,13 @@ function muamba_get_transactions($uid, $type = 'sent', $status = MUAMBA_REQUESTE
     $query
       ->condition('m.uid', $uid, '=')
       ->condition('m.status', $status, '=')
-      ->fields('m', array('mid', 'uid', 'owner', 'thread_id'));
+      ->fields('m', array('mid', 'nid', 'uid', 'owner', 'thread_id'));
   }
   else {
     $query
       ->condition('m.owner', $uid, '=')
       ->condition('m.status', $status, '=')
-      ->fields('m', array('mid', 'uid', 'owner', 'thread_id'));
+      ->fields('m', array('mid', 'nid', 'uid', 'owner', 'status', 'thread_id'));
   }
 
   $rows    = array();
index deb1b2d4839e11f44fe9ab60bc6e667455fb4503..9588dacdd577c07846f7bf6f180d848956a1992d 100644 (file)
@@ -79,6 +79,14 @@ function muamba_menu() {
     'file'             => 'muamba.business.inc',
   );
 
+  $items['muamba/cancel'] = array(
+    'title'            => 'Cancel a request',
+    'page callback'    => 'muamba_cancel',
+    'access arguments' => array('cancel item'),
+    'type'             => MENU_SUGGESTED_ITEM,
+    'file'             => 'muamba.business.inc',
+  );
+
   return $items;
 }
 
@@ -120,7 +128,10 @@ function muamba_theme($existing, $type, $theme, $path) {
       'template' => 'muamba-powered',
     ),
     'muamba_transactions' => array(
-      'variables' => array('transactions' => NULL),
+      'variables' => array(
+        'transactions' => NULL,
+        'type'         => NULL,
+      ),
       'file'      => 'muamba.theme.inc',
     ),
   );
index c13a15f45cf1557771379b798604c62704d32a52..771c80b82195f465538626d2f56e9003bcf94066 100644 (file)
@@ -6,13 +6,39 @@
  */
 
 function theme_muamba_transactions($variables) {
+  $rows         = array();
+  $type         = $variables['type'];
   $transactions = $variables['transactions'];
+
   $output       = '<div class="muamba-transactions">';
-  $output      .= '<h2>'. t('Transactions') .'</h2>';
+
+  if ($type == 'sent') {
+    $title = t('Items I requested from people');
+  }
+  else {
+    $title = t('My items that people requested');
+  }
+
+  $output      .= '<h2>'. $title .'</h2>';
+
+  if (empty($transactions)) {
+    $output .= t('There are no transactions.');
+    $output .= '</div>';
+    return $output;
+  }
+
+  foreach($transactions as $transaction) {
+    $rows[] = array(
+      'asset'   => $transaction['node']->title,
+      'user'    => $transaction['user']->name,
+      'status'  => muamba_statuses($transaction['status']),
+      'actions' => 'accept', // TODO
+    );
+  }
 
   // Make a table for them.
-  $header = array(t('Id'), t('uid'), t('Owner'), t('Thread'));
-  $output .= theme('table', array('header' => $header, 'rows' => $transactions));  
+  $header = array(t('Asset'), t('User'), t('Status'), t('Actions'));
+  $output .= theme('table', array('header' => $header, 'rows' => $rows));  
   $output .= '</div>';
 
   return $output;