aboutsummaryrefslogtreecommitdiff
path: root/muamba.db.inc
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2011-11-06 14:21:34 -0200
committerSilvio Rhatto <rhatto@riseup.net>2011-11-06 14:21:34 -0200
commit9fe2bfe328145ac630d18929c0197c98402381f1 (patch)
treec10aaab3bbfb0f5fd84f1242e5443d8d6502f2e0 /muamba.db.inc
parent857fad8877a7ea9c19a1488e3ce9ed53276dbada (diff)
downloadmuamba-9fe2bfe328145ac630d18929c0197c98402381f1.tar.gz
muamba-9fe2bfe328145ac630d18929c0197c98402381f1.tar.bz2
Refactoring muamba_check_availability() and adding new views handlers
Diffstat (limited to 'muamba.db.inc')
-rw-r--r--muamba.db.inc20
1 files changed, 16 insertions, 4 deletions
diff --git a/muamba.db.inc b/muamba.db.inc
index 0500dd9..21e2d8c 100644
--- a/muamba.db.inc
+++ b/muamba.db.inc
@@ -113,9 +113,13 @@ function muamba_get_transaction($mid) {
* Item nid or node object.
*
* @return
- * Transaction nid there's an ongoing transaction.
+ * Data of the ongoing transaction.
+ *
+ * @todo
+ * There might be more than one active transaction for
+ * a given item if they all are in the "requested" state.
*/
-function muamba_current_transaction($data) {
+function muamba_current_transaction($data, $owner = NULL) {
if (is_object($data)) {
$nid = (int) $data->nid;
}
@@ -149,7 +153,7 @@ function muamba_current_transaction($data) {
* Item nid or node object.
*
* @return
- * TRUE if user already requested an item, FALSE otherwise.
+ * TRUE if item is borrowed, FALSE otherwise.
*/
function muamba_check_availability($data) {
if (is_object($data)) {
@@ -159,7 +163,15 @@ function muamba_check_availability($data) {
$nid = (int) $data;
}
- $current = 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, '=')
+ ->condition('m.active', '1', '=')
+ ->condition('m.status', MUAMBA_REQUESTED, '!=');
+
+ $current = $query->execute()->fetchAll();
if (empty($current)) {
return TRUE;