From d61608bca97500a6ce6ff5625242ea6d064741aa Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Mon, 14 Nov 2011 18:47:01 -0200 Subject: Do not reject all other requests --- muamba.business.inc | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) (limited to 'muamba.business.inc') diff --git a/muamba.business.inc b/muamba.business.inc index 5a29c9e..5d853a7 100644 --- a/muamba.business.inc +++ b/muamba.business.inc @@ -183,8 +183,8 @@ function muamba_request($nid) { * Transaction id. * * @todo - * Do not reject all other requests so postponing - * becomes a feature. + * Make rejection of all other pending requests + * a configuration option. */ function muamba_accept($mid) { global $user; @@ -209,8 +209,8 @@ function muamba_accept($mid) { $message = theme('muamba_accept_message', array('transaction' => $transaction)); $reply = privatemsg_reply($transaction['thread_id'], $message); - // Reject all other pending requests - muamba_reject_all($node); + // Optionally reject all other pending requests + //muamba_reject_all($node); return t('Accepted item request.'); } @@ -446,17 +446,23 @@ function muamba_availability_info($nid) { $transaction = $transactions[0]; if (!empty($transaction)) { - // TODO: what if there are more than one request? + // If the first transaction in the array of active transactions + // is a request, then the other ones will be as well. if ($transaction['status'] == MUAMBA_REQUESTED) { return t('Yes'); } else { - $requester = user_load($transaction['uid']); - - return t('No, @status to @user', array( - '@status' => t(muamba_statuses($transaction['status'])), - '@user' => $requester->name, - )); + // Find the right requester + foreach ($transactions as $transaction) { + if ($transaction['status'] != MUAMBA_REQUESTED) { + $requester = user_load($transaction['uid']); + + return t('No, @status to @user', array( + '@status' => t(muamba_statuses($transaction['status'])), + '@user' => $requester->name, + )); + } + } } } else { -- cgit v1.2.3