Fix regression: some operations fail when there is only one user. Fixes #91, #100.

This commit is contained in:
Bartek Fabiszewski 2019-10-09 20:33:46 +02:00
parent e03a7262c6
commit 1d9d109fac

View File

@ -397,14 +397,16 @@ Number.prototype.toKmH = function() {
function toggleLatest() {
var usersSelect = document.getElementsByName('user')[0];
if (latest == 0) {
if (!hasAllUsers() && usersSelect.length > 2) {
if (!hasAllUsers() && usersSelect && usersSelect.length > 2) {
usersSelect.options.add(new Option('- ' + lang['allusers'] + ' -', 'all'), usersSelect.options[1]);
}
latest = 1;
loadTrack(userid, 0, 1);
} else {
if (hasAllUsers()) {
usersSelect.selectedIndex = 0;
if (usersSelect && hasAllUsers()) {
if (isSelectedAllUsers()) {
usersSelect.selectedIndex = 0;
}
usersSelect.remove(1);
}
latest = 0;
@ -423,9 +425,11 @@ function selectTrack(f) {
trackid = 0;
}
document.getElementById('latest').checked = false;
var usersSelect = document.getElementsByName('user')[0];
if (latest == 1) { toggleLatest(); }
loadTrack(userid, trackid, 1);
if (latest == 1) {
toggleLatest();
} else {
loadTrack(userid, trackid, 1);
}
}
function selectUser(f) {
@ -512,12 +516,12 @@ function autoReload() {
function isSelectedAllUsers() {
var usersSelect = document.getElementsByName('user')[0];
return usersSelect[usersSelect.selectedIndex].value == 'all';
return usersSelect && usersSelect[usersSelect.selectedIndex].value == 'all';
}
function hasAllUsers() {
var usersSelect = document.getElementsByName('user')[0];
if (usersSelect.length > 2 && usersSelect.options[1].value == 'all') {
if (usersSelect && usersSelect.length > 2 && usersSelect.options[1].value == 'all') {
return true;
}
return false;