// Change department if user cannot read current department, so chat appears in right menu
    $filter = erLhcoreClassUserDep::parseUserDepartmetnsForFilter($currentUser->getUserID());
    if ($filter !== true && !in_array($chat->dep_id, $filter)) {
        $dep_id = erLhcoreClassUserDep::getDefaultUserDepartment();
        if ($dep_id > 0) {
            $chat->dep_id = $dep_id;
            $chat->status_sub = erLhcoreClassModelChat::STATUS_SUB_OWNER_CHANGED;
        }
    }
}
if (!erLhcoreClassChat::hasAccessToRead($chat)) {
    if ($currentUser->getUserID() == $chatTransfer->transfer_to_user_id) {
        $dep_id = erLhcoreClassUserDep::getDefaultUserDepartment();
        if ($dep_id > 0) {
            $chat->dep_id = $dep_id;
            $chat->status_sub = erLhcoreClassModelChat::STATUS_SUB_OWNER_CHANGED;
        }
    } else {
        exit;
        // User does not have permission to assign chat to himself
    }
}
// All ok, we can make changes
erLhcoreClassChat::getSession()->update($chat);
erLhcoreClassTransfer::getSession()->delete($chatTransfer);
if ($Params['user_parameters_unordered']['postaction'] == 'singlewindow') {
    erLhcoreClassModule::redirect('chat/single/' . $chat->id);
    exit;
}
echo json_encode(array('error' => 'false', 'chat_id' => $chat->id));
exit;
        $chat->user_id = $user->id;
        // Assign chat to receiver operator, this way he will get permission to open chat
        $chat->dep_id = erLhcoreClassUserDep::getDefaultUserDepartment();
        // Set default department to chat creator, this way current user will get permission to open it
        // Store chat
        erLhcoreClassChat::getSession()->save($chat);
        // Store User Message
        $msg->chat_id = $chat->id;
        $msg->user_id = $currentUser->getUserID();
        $msg->time = time();
        $msg->name_support = $currentUserData->name . ' ' . $currentUserData->surname;
        erLhcoreClassChat::getSession()->save($msg);
        $transfer = new erLhcoreClassModelTransfer();
        $transfer->chat_id = $chat->id;
        $transfer->from_dep_id = $chat->dep_id;
        // User which is transfering
        $transfer->transfer_user_id = $currentUser->getUserID();
        // To what user
        $transfer->transfer_to_user_id = $user->id;
        erLhcoreClassTransfer::getSession()->save($transfer);
        erLhcoreClassChatEventDispatcher::getInstance()->dispatch('chat.startchatwithoperator_started', array('chat' => &$chat, 'transfer' => &$transfer));
        // Redirect user
        erLhcoreClassModule::redirect('chat/single/' . $chat->id);
        exit;
    } else {
        $tpl->set('errors', $Errors);
    }
}
$tpl->set('msg', $msg);
$Result['content'] = $tpl->fetch();
$Result['pagelayout'] = 'popup';