/**
* @file
- * Multiple-user Asset Manager and Borrowing Ambient.
+ * Business logic handling functions for Muamba.
*/
/**
// TODO
}
+ // Notify item owner
+ $thread = privatemsg_new_thread(array(user_load($node->uid)), t('Item request'), 'User has requested an item');
+ $thread_id = $thread['message']['thread_id'];
+
// Issue item request
// TODO
- // Notify item owner
- privatemsg_new_thread(array(user_load($node->uid)), t('Item request'), 'User has requested an item');
-
// User output
return t('You have requested an item');
}
$schema['muamba'] = array(
'description' => 'The base table for muamba assets.',
'fields' => array(
+ 'mid' => array(
+ 'description' => t('The primary identifier for a muamba transaction.'),
+ 'type' => 'serial',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ ),
'nid' => array(
'description' => t('The {node}.nid of the borrowed item.'),
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
+ 'thread_id' => array(
+ 'description' => t('The {thread}.thread_id for the transaction.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ ),
+ 'status' => array(
+ 'description' => t('Transaction status.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ ),
),
'foreign keys' => array(
'node' => array(
'table' => 'users',
'columns' => array('uid' => 'uid'),
),
+ 'thread' => array(
+ 'table' => 'pm_index',
+ 'columns' => array('thread_id' => 'thread_id'),
+ ),
),
+ 'primary key' => array('mid'),
);
return $schema;
}
+
+/**
+ * Adds transactional fields to muamba data model.
+ */
+function muamba_update_7000(&$sandbox) {
+ // Make sure to not run this update twice.
+ if (db_field_exists('muamba', 'mid')) {
+ return;
+ }
+
+ db_add_field('muamba', 'mid',
+ array(
+ 'description' => t('The primary identifier for a muamba transaction.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ )
+ );
+
+ db_add_primary_key('muamba', array('mid'));
+
+ db_add_field('muamba', 'status',
+ array(
+ 'description' => t('Transaction status.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ )
+ );
+
+ db_add_field('muamba', 'thread_id',
+ array(
+ 'description' => t('The {thread}.thread_id for the transaction.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ ),
+ array(
+ 'foreign keys' => array(
+ 'thread' => array(
+ 'table' => 'pm_index',
+ 'columns' => array('thread_id' => 'thread_id'),
+ )
+ )
+ )
+ );
+}
'page callback' => 'muamba_request',
'access arguments' => array('request item'),
'type' => MENU_SUGGESTED_ITEM,
- 'file' => 'muamba.misc.inc',
+ 'file' => 'muamba.business.inc',
);
$items['muamba/accept'] = array(
'page callback' => 'muamba_accept',
'access arguments' => array('accept item'),
'type' => MENU_SUGGESTED_ITEM,
- 'file' => 'muamba.misc.inc',
+ 'file' => 'muamba.business.inc',
);
$items['muamba/reject'] = array(
'page callback' => 'muamba_reject',
'access arguments' => array('reject item'),
'type' => MENU_SUGGESTED_ITEM,
- 'file' => 'muamba.misc.inc',
+ 'file' => 'muamba.business.inc',
);
$items['muamba/release'] = array(
'page callback' => 'muamba_release',
'access arguments' => array('release item'),
'type' => MENU_SUGGESTED_ITEM,
- 'file' => 'muamba.misc.inc',
+ 'file' => 'muamba.business.inc',
);
$items['muamba/return'] = array(
'page callback' => 'muamba_return',
'access arguments' => array('return item'),
'type' => MENU_SUGGESTED_ITEM,
- 'file' => 'muamba.misc.inc',
+ 'file' => 'muamba.business.inc',
);
return $items;