public function deleteAndReplace($roleID, $newRoleID)
{
// First update users that will be orphaned
if (is_numeric($newRoleID) && $newRoleID > 0) {
$this->SQL->options('Ignore', true)->update('UserRole')->join('UserRole urs', 'UserRole.UserID = urs.UserID')->groupBy('urs.UserID')->having('count(urs.RoleID) =', '1', true, false)->set('UserRole.RoleID', $newRoleID)->where(array('UserRole.RoleID' => $roleID))->put();
} else {
$this->SQL->delete('UserRole', array('RoleID' => $roleID));
}
// Remove permissions for this role.
$PermissionModel = Gdn::permissionModel();
$PermissionModel->delete($roleID);
// Remove the role
$result = $this->SQL->delete('Role', array('RoleID' => $roleID));
return $result;
}