Fix disk checkbox logic

This commit is contained in:
2Shirt 2018-12-26 21:32:03 -07:00
parent 5cf2fa6f27
commit 41b8d632ae
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C

View file

@ -1030,25 +1030,28 @@ def run_hw_tests(state):
# Update side pane # Update side pane
update_progress_pane(state) update_progress_pane(state)
# Show results and determine if HDD checkbox needs updated # Show results
all_drives_passed = True
disk_failures = False
show_results(state) show_results(state)
# Post disk results
for disk in state.disks:
state.ost.post_device_results(disk, state.ticket_id)
# Check if disk checkbox needs updating
all_disks_passed = True
disk_failures = False
for disk in state.disks: for disk in state.disks:
if disk.checkbox is None: if disk.checkbox is None:
# Aborted/Unknown/etc # Aborted/Unknown/etc
all_drives_passed = False all_disks_passed = False
else: else:
all_drives_passed &= disk.checkbox all_disks_passed &= disk.checkbox
disk_failures |= not disk.checkbox disk_failures |= not disk.checkbox
# Post test results for disk
state.ost.post_device_results(disk, state.ticket_id)
# Update checkbox if necessary # Update checkbox if necessary
if disk_failures: if disk_failures:
state.ost.set_disk_failed(state.ticket_id) state.ost.set_disk_failed(state.ticket_id)
elif all_drives_passed: elif all_disks_passed:
state.ost.set_disk_passed(state.ticket_id) state.ost.set_disk_passed(state.ticket_id)
# Check for osTicket errors # Check for osTicket errors