From e946889aaa9e1970662b8a62b02f39536e12bbbc Mon Sep 17 00:00:00 2001 From: Paul Plant <37302780+paulplant@users.noreply.github.com> Date: Sat, 30 Apr 2022 17:00:56 +0200 Subject: [PATCH] Ignore invalid inputs to the treatments textfields to ensure that the original treatment isn't just deleted --- .../TreatmentsInsertViewController.swift | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/xdrip/View Controllers/Treatments/TreatmentsInsertViewController.swift b/xdrip/View Controllers/Treatments/TreatmentsInsertViewController.swift index 6e7e37ea..89a04829 100644 --- a/xdrip/View Controllers/Treatments/TreatmentsInsertViewController.swift +++ b/xdrip/View Controllers/Treatments/TreatmentsInsertViewController.swift @@ -175,20 +175,25 @@ class TreatmentsInsertViewController : UIViewController { UserDefaults.standard.nightScoutSyncTreatmentsRequired = true } - + } else { - // text is nil or "0", set treatmentdeleted to true - treatMentEntryToUpdate.treatmentdeleted = true + // even though there is not a valid/useable number entered, only delete the treatment if the user has really changed it to zero. If they didn't enter zero then just disregard the input. + if let text = textField.text, let value = Double(text.replacingOccurrences(of: ",", with: ".")), value == 0 { + + // text is nil or "0", set treatmentdeleted to true + treatMentEntryToUpdate.treatmentdeleted = true + + // set uploaded to false so that the entry is synced with NightScout + treatMentEntryToUpdate.uploaded = false + + // trigger nightscoutsync + UserDefaults.standard.nightScoutSyncTreatmentsRequired = true + + self.treatMentEntryToUpdate = nil + + } - // set uploaded to false so that the entry is synced with NightScout - treatMentEntryToUpdate.uploaded = false - - // trigger nightscoutsync - UserDefaults.standard.nightScoutSyncTreatmentsRequired = true - - self.treatMentEntryToUpdate = nil - } }