diff --git a/emhttp/plugins/dynamix/SysDevs.page b/emhttp/plugins/dynamix/SysDevs.page index 02ed63cf8..675c0d07d 100644 --- a/emhttp/plugins/dynamix/SysDevs.page +++ b/emhttp/plugins/dynamix/SysDevs.page @@ -46,6 +46,17 @@ function applyCfg() { $("#applycfg").attr("disabled",true); }); } +function formatFullInput(input) { + return input + .split(';') + .filter(Boolean) // remove empty trailing entry + .map(entry => { + let [pci, status] = entry.split(','); + status = status.charAt(0).toUpperCase() + status.slice(1).toLowerCase(); + return `${pci} _(${status})_`; + }) + .join('
'); +} function ackPCI(pcidevice,action) { switch(action) { case 'removed': @@ -60,10 +71,15 @@ function ackPCI(pcidevice,action) { // Add to saved. swaltext = "_(Acknowledge addition of PCI Address)_: "+pcidevice; break; + case 'all': + // Add to saved. + swaltext = "_(Acknowledge all PCI Address modifications)_:
"+formatFullInput(pcidevice); + break; } swal({title:"Are you sure?",text:swaltext,type:"warning",html:true,showCancelButton:true},function(){ - $.post('/webGui/include/PCIUpdate.php',{action:action,pciid:pcidevice}) - $('#t1').load('/webGui/include/SysDevs.php',{table:'t1'}); + $.post('/webGui/include/PCIUpdate.php',{action:action,pciid:pcidevice}).done(function(d) { + if (d == "OK") $('#t1').load('/webGui/include/SysDevs.php',{table:'t1'}); + }); }); } diff --git a/emhttp/plugins/dynamix/include/PCIUpdate.php b/emhttp/plugins/dynamix/include/PCIUpdate.php index 70c85d6f2..ae19c8fab 100644 --- a/emhttp/plugins/dynamix/include/PCIUpdate.php +++ b/emhttp/plugins/dynamix/include/PCIUpdate.php @@ -14,20 +14,38 @@ "; echo _("PCI Device change"); echo " "._("Action").":".ucfirst(_($pci_device_diffs[$pciaddress]['status']))." "; + $ackparm .= $pciaddress.",".$pci_device_diffs[$pciaddress]['status'].";"; if ($pci_device_diffs[$pciaddress]['status']!="removed") echo $pci_device_diffs[$pciaddress]['device']['description']; echo ""; if ($pci_device_diffs[$pciaddress]['status']=="changed") { @@ -224,8 +226,10 @@ case 't1': if (file_exists("/var/log/vfio-pci") && filesize("/var/log/vfio-pci")) { echo ''; } + if ($ackparm == "") $ackdisable =" disabled "; else $ackdisable = ""; echo ''; echo ''; + echo ''; echo ''; echo <<