]> gitweb.fluxo.info Git - drupal/muamba.git/commitdiff
Owner can just accept requests for available items
authorSilvio Rhatto <rhatto@riseup.net>
Wed, 16 Nov 2011 01:57:40 +0000 (23:57 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Wed, 16 Nov 2011 01:57:40 +0000 (23:57 -0200)
muamba.business.inc
muamba.theme.inc

index 1afce9f33a098401b7827e247793c88eae181323..59fa83465b20632545dd47f7c6768598965db66a 100644 (file)
@@ -23,13 +23,19 @@ function muamba_ongoing() {
  * @param $type
  *   Transaction perspective (sent or received).
  *
- * @param $status
- *   Current transaction status.
+ * @param $transaction
+ *   Transaction data.
  *
  * @return
  *   Array of available action codes.
  */
-function muamba_actions_available($type = 'sent', $status) {
+function muamba_actions_available($type = 'sent', $transaction = array()) {
+  if (empty($transaction)) {
+    return array();
+  }
+
+  $status = $transaction['status'];
+
   if ($type == 'sent') {
     switch ($status) {
     case MUAMBA_REQUESTED:
@@ -64,9 +70,14 @@ function muamba_actions_available($type = 'sent', $status) {
     switch ($status) {
     case MUAMBA_REQUESTED:
       $actions = array(
-        MUAMBA_ACCEPTED,
         MUAMBA_REJECTED,
         );
+
+      // Owner can just accept requests for available items.
+      if (muamba_check_availability($transaction['nid'])) {
+        $actions[] = MUAMBA_ACCEPTED;
+      }
+
       break;
 
     case MUAMBA_ACCEPTED:
index 9707a0fff1dcf711be78e76f391e2564ffef480b..ef169bf856133d553cf7d09c612c56578248f7fc 100644 (file)
@@ -36,7 +36,7 @@ function theme_muamba_transactions($variables) {
   foreach($transactions as $transaction) {
     $actions = array();
 
-    foreach (muamba_actions_available($type, $transaction['status']) as $action) {
+    foreach (muamba_actions_available($type, $transaction) as $action) {
       $callback  = muamba_actions($action);
       $actions[] = l(t($callback), 'muamba/'. $callback .'/'. $transaction['mid']);
     }
@@ -174,7 +174,7 @@ function theme_muamba_widget_owner($variables) {
     $content .= '<br />';
   }
 
-  foreach (muamba_actions_available('received', $transaction['status']) as $action) {
+  foreach (muamba_actions_available('received', $transaction) as $action) {
     $content .= theme('muamba_widget_icon', array(
       'status' => $action,
       'id'     => $transaction['mid'],
@@ -193,7 +193,7 @@ function theme_muamba_widget_requester($variables) {
   $transaction = $variables['transaction'];
   $size        = $variables['size'];
 
-  foreach (muamba_actions_available('sent', $transaction['status']) as $action) {
+  foreach (muamba_actions_available('sent', $transaction) as $action) {
     $content .= theme('muamba_widget_icon', array(
       'status' => $action,
       'id'     => $transaction['mid'],