]> gitweb.fluxo.info Git - drupal/muamba.git/commitdiff
New functions muamba_current_transaction() and muamba_ongoing()
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 6 Oct 2011 19:22:12 +0000 (16:22 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 6 Oct 2011 19:22:12 +0000 (16:22 -0300)
muamba.business.inc
muamba.db.inc
muamba.module

index 708d97ebb0481d1fd7de00ba59dfa095d07eca69..195409f38a020d223e673753ab059eeaec016401 100644 (file)
@@ -54,14 +54,14 @@ function muamba_actions_available($type = 'sent', $status) {
     case MUAMBA_ACCEPTED:
       $actions = array(
         MUAMBA_RECOVERED,
-        MUAMBA_LOST;
+        MUAMBA_LOST,
         );
       break;
 
     case MUAMBA_RETURNED:
       $actions = array(
         MUAMBA_RECOVERED,
-        MUAMBA_LOST;
+        MUAMBA_LOST,
         );
       break;
 
index 224132f202aac82575f3a14bc0dac4a3a8275fc9..4414a1ad3074a6734c7ecc721d2b2565124b7894 100644 (file)
@@ -87,6 +87,9 @@ function muamba_get_transactions($uid, $type = 'sent', $status = NULL) {
  *
  * @return
  *   Transaction data.
+ *
+ * @todo
+ *   When a node is provided, duplicate rows might occur.
  */
 function muamba_get_transaction($data) {
   $query = db_select('muamba', 'm');
@@ -111,3 +114,61 @@ function muamba_get_transaction($data) {
     return $rows[0];
   }
 }
+
+/**
+ * Check item availability.
+ *
+ * @param $nid
+ *   Item nid.
+ *
+ * @param $uid
+ *   Requester user nid.
+ *
+ * @return
+ *   TRUE if user already requested an item, FALSE otherwise.
+ *
+ * @todo
+ */
+function muamba_check_availability($nid, $uid = NULL) {
+}
+
+/**
+ * Get current transaction for an item.
+ *
+ * @param $nid
+ *   Item nid.
+ *
+ * @return
+ *   Transaction nid there's an ongoing transaction.
+ *
+ * @todo
+ */
+function muamba_current_transaction($nid) {
+  $query = db_select('muamba', 'm');
+  $query->fields('m', array('mid', 'nid', 'uid', 'owner', 'status', 'thread_id'));
+
+  $query->condition('m.nid', $nid, '=');
+  $query->condition(
+    db_or()
+    ->condition('m.status', MUAMBA_REQUESTED, '=')
+    ->condition('m.status', MUAMBA_ACCEPTED,  '=')
+    ->condition('m.status', MUAMBA_RETURNED,  '=')
+    ->condition('m.status', MUAMBA_LOST,      '=')
+  );
+
+  $results = $query->execute()->fetchAll();
+
+  return $results;
+}
+
+/**
+ * Define which status belongs to an ongoing transaction.
+ */
+function muamba_ongoing() {
+  return array(
+    MUAMBA_REQUESTED,
+    MUAMBA_ACCEPTED,
+    MUAMBA_RETURNED,
+    MUAMBA_LOST,
+  );
+}
index f425d3e1f4775575c54657457d26cab56e3d5f48..2835dd9a32943c2c00d58186efac9a4064571772 100644 (file)
@@ -106,6 +106,9 @@ function muamba_menu() {
 
 /**
  * Implements hook_node_view()
+ *
+ * @todo
+ *   Use muamba_check_availability() before muamba_get_transaction()
  */
 function muamba_node_view($node, $view_mode, $langcode) {
   global $user;