web: users automatically obtain logger permissions when registering their first Fluksometer

This commit is contained in:
Bart Van Der Meerssche 2010-03-12 17:18:32 +00:00
parent 44ca2c9b88
commit 685fba7a81
2 changed files with 7 additions and 3 deletions

View File

@ -67,7 +67,11 @@ function _logger_account_devices_submit($form, &$form_state) {
db_query("UPDATE {logger_devices} SET uid = %d WHERE serial = %d", $user->uid, $serial);
db_query("UPDATE {logger_meters} SET uid = %d WHERE device = '%s'", $user->uid, $device);
if (db_result(db_query("SELECT COUNT(*) FROM {logger_users} WHERE uid = %d", $user->uid)) == 0) {
// check whether the user is already a true fluksonian
// if not, generate the proper entries in {users_roles} and {logger_users}
if (!user_access('logger')) {
$rid = db_result(db_query("SELECT rid FROM {role} WHERE name = '%s'", 'fluksonian'));
db_query("INSERT INTO {users_roles} (uid, rid) VALUES (%d, %d)", $user->uid, $rid);
db_query("INSERT INTO {logger_users} (uid, private) VALUES (%d, %d)", $user->uid, 0);
}

View File

@ -52,7 +52,7 @@ function logger_init() {
* Implementation of hook_perm().
*/
function logger_perm() {
return array('logger');
return array('logger', 'register devices');
}
/**
@ -181,7 +181,7 @@ function logger_menu() {
'page callback' => 'drupal_get_form',
'page arguments' => array('_logger_account_devices'),
'access callback' => '_logger_account_access',
'access arguments' => array('logger', 1),
'access arguments' => array('register devices', 1),
'type' => MENU_LOCAL_TASK,
'file' => 'logger.admin.inc',
'weight' => 3,