*
* @return
* Transaction data.
+ *
+ * @todo
+ * When a node is provided, duplicate rows might occur.
*/
function muamba_get_transaction($data) {
$query = db_select('muamba', 'm');
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,
+ );
+}