* @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:
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:
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']);
}
$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'],
$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'],