mirror of
https://github.com/onionshare/onionshare.git
synced 2025-02-08 18:58:59 -05:00
Adds check whether username already exists
This commit is contained in:
parent
e68266fe63
commit
00cd37bfd3
@ -63,6 +63,7 @@ class ChatModeWeb:
|
|||||||
def update_session_username():
|
def update_session_username():
|
||||||
history_id = self.cur_history_id
|
history_id = self.cur_history_id
|
||||||
data = request.get_json()
|
data = request.get_json()
|
||||||
|
if data.get("username", "") not in self.connected_users:
|
||||||
session["name"] = data.get("username", session.get("name"))
|
session["name"] = data.get("username", session.get("name"))
|
||||||
self.web.add_request(
|
self.web.add_request(
|
||||||
request.path, {"id": history_id, "status_code": 200},
|
request.path, {"id": history_id, "status_code": 200},
|
||||||
@ -104,6 +105,7 @@ class ChatModeWeb:
|
|||||||
"""Sent by a client when the user updates their username.
|
"""Sent by a client when the user updates their username.
|
||||||
The message is sent to all people in the room."""
|
The message is sent to all people in the room."""
|
||||||
current_name = session.get("name")
|
current_name = session.get("name")
|
||||||
|
if message["username"] not in self.connected_users:
|
||||||
session["name"] = message["username"]
|
session["name"] = message["username"]
|
||||||
self.connected_users[
|
self.connected_users[
|
||||||
self.connected_users.index(current_name)
|
self.connected_users.index(current_name)
|
||||||
|
@ -192,6 +192,11 @@ ul.breadcrumbs li a:link, ul.breadcrumbs li a:visited {
|
|||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.chat-users .editable-username #username-error {
|
||||||
|
color: #c90c0c;
|
||||||
|
margin: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
.chat-users #user-list li {
|
.chat-users #user-list li {
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,7 @@ $(function () {
|
|||||||
$('#username').on('keyup', function (event) {
|
$('#username').on('keyup', function (event) {
|
||||||
if ($('#username').val() !== '' && $('#username').val() !== current_username) {
|
if ($('#username').val() !== '' && $('#username').val() !== current_username) {
|
||||||
if (event.keyCode == 13) {
|
if (event.keyCode == 13) {
|
||||||
current_username = updateUsername(socket);
|
current_username = updateUsername(socket) || current_username;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -82,6 +82,7 @@ var emitMessage = function (socket) {
|
|||||||
|
|
||||||
var updateUsername = function (socket) {
|
var updateUsername = function (socket) {
|
||||||
var username = $('#username').val();
|
var username = $('#username').val();
|
||||||
|
if (!checkUsernameExists(username)) {
|
||||||
socket.emit('update_username', { username: username });
|
socket.emit('update_username', { username: username });
|
||||||
$.ajax({
|
$.ajax({
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
@ -94,6 +95,8 @@ var updateUsername = function (socket) {
|
|||||||
});
|
});
|
||||||
return username;
|
return username;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/************************************/
|
/************************************/
|
||||||
/********* Util Functions ***********/
|
/********* Util Functions ***********/
|
||||||
@ -110,6 +113,18 @@ var createUserListHTML = function (connected_users, current_user) {
|
|||||||
return userListHTML;
|
return userListHTML;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var checkUsernameExists = function (username) {
|
||||||
|
$('#username-error').text('');
|
||||||
|
var userMatches = $('#user-list li').filter(function () {
|
||||||
|
return $(this).text() === username;
|
||||||
|
});
|
||||||
|
if (userMatches.length) {
|
||||||
|
$('#username-error').text('User with that username exists!');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
var getScrollDiffBefore = function () {
|
var getScrollDiffBefore = function () {
|
||||||
return $('#chat').scrollTop() - ($('#chat')[0].scrollHeight - $('#chat')[0].offsetHeight);
|
return $('#chat').scrollTop() - ($('#chat')[0].scrollHeight - $('#chat')[0].offsetHeight);
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
<div class="chat-users">
|
<div class="chat-users">
|
||||||
<div class="editable-username">
|
<div class="editable-username">
|
||||||
<input id="username" value="{{ username }}" />
|
<input id="username" value="{{ username }}" />
|
||||||
|
<p id="username-error"></p>
|
||||||
</div>
|
</div>
|
||||||
<ul id="user-list">
|
<ul id="user-list">
|
||||||
</ul>
|
</ul>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user