luci-app-attendedsysupgrade: Fix logic error in EFI image selection

If a non-EFI image comes first in the list of images, it would have
been selected even on an EFI system.

Signed-off-by: Jakob Haufe <sur5r@sur5r.net>
This commit is contained in:
Jakob Haufe 2024-02-03 20:22:21 +01:00 committed by Paul Spooren
parent 1e1c6b8531
commit cb45737d1b

View file

@ -85,24 +85,24 @@ return view.extend({
},
selectImage: function (images) {
let image;
for (image of images) {
if (this.firmware.filesystem == image.filesystem) {
let firmware = this.firmware;
let data = this.data;
var filesystemFilter = function(e) {
return (e.filesystem == firmware.filesystem);
}
var typeFilter = function(e) {
if (firmware.target.indexOf("x86") != -1) {
// x86 images can be combined-efi (EFI) or combined (BIOS)
if(this.firmware.target.indexOf("x86") != -1) {
if (this.data.efi && image.type == 'combined-efi') {
return image;
} else if (image.type == 'combined') {
return image;
if (data.efi) {
return (e.type == 'combined-efi');
} else {
return (e.type == 'combined');
}
} else {
if (image.type == 'sysupgrade' || image.type == 'combined') {
return image;
return (e.type == 'sysupgrade' || e.type == 'combined');
}
}
}
}
return null;
return images.filter(filesystemFilter).filter(typeFilter)[0];
},
handle200: function (response) {