From d536d9479e41f79c2420dd6006621ca858ad6f11 Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Sat, 7 Dec 2024 14:50:40 +0100 Subject: [PATCH] Do not allow editing on cancelled shipcalls --- src/BreCalClient/EditShipcallControl.xaml.cs | 4 ++++ src/BreCalClient/EditTimesAgencyIncomingControl.xaml.cs | 2 +- src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs | 2 +- src/BreCalClient/EditTimesAgencyShiftingControl.xaml.cs | 2 +- src/BreCalClient/EditTimesControl.xaml.cs | 2 +- src/BreCalClient/EditTimesTerminalControl.xaml.cs | 2 +- 6 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/BreCalClient/EditShipcallControl.xaml.cs b/src/BreCalClient/EditShipcallControl.xaml.cs index 76fd1a0..f02ab43 100644 --- a/src/BreCalClient/EditShipcallControl.xaml.cs +++ b/src/BreCalClient/EditShipcallControl.xaml.cs @@ -188,6 +188,8 @@ namespace BreCalClient void CheckForCompletion() { + if (this.ShipcallModel.Shipcall?.Canceled ?? false) return; // Cancelled shipcall never clicks ok + bool isEnabled = true; isEnabled &= this.comboBoxShip.SelectedItem != null; @@ -378,6 +380,8 @@ namespace BreCalClient bool editRightGrantedForBSMD = false; + if (this.ShipcallModel.Shipcall?.Canceled ?? false) return; // do not allow edit on canceled shipcall + // Special case: Selected Agency allows BSMD to edit their fields if (this.comboBoxAgency.SelectedIndex >= 0) { diff --git a/src/BreCalClient/EditTimesAgencyIncomingControl.xaml.cs b/src/BreCalClient/EditTimesAgencyIncomingControl.xaml.cs index d0273a9..4362f2c 100644 --- a/src/BreCalClient/EditTimesAgencyIncomingControl.xaml.cs +++ b/src/BreCalClient/EditTimesAgencyIncomingControl.xaml.cs @@ -366,7 +366,7 @@ namespace BreCalClient private void CheckOKButton() { - this.buttonOK.IsEnabled = _editing && RequiredFieldsSet(); + this.buttonOK.IsEnabled = _editing && RequiredFieldsSet() && !(this.ShipcallModel.Shipcall?.Canceled ?? false); } #endregion diff --git a/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs b/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs index c866dfb..5506317 100644 --- a/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs +++ b/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs @@ -356,7 +356,7 @@ namespace BreCalClient private void CheckOKButton() { - this.buttonOK.IsEnabled = _editing && RequiredFieldsSet(); + this.buttonOK.IsEnabled = _editing && RequiredFieldsSet() && !(this.ShipcallModel.Shipcall?.Canceled ?? false); } #endregion diff --git a/src/BreCalClient/EditTimesAgencyShiftingControl.xaml.cs b/src/BreCalClient/EditTimesAgencyShiftingControl.xaml.cs index dab96ed..aab35ab 100644 --- a/src/BreCalClient/EditTimesAgencyShiftingControl.xaml.cs +++ b/src/BreCalClient/EditTimesAgencyShiftingControl.xaml.cs @@ -394,7 +394,7 @@ namespace BreCalClient private void CheckOKButton() { - this.buttonOK.IsEnabled = _editing && RequiredFieldsSet(); + this.buttonOK.IsEnabled = _editing && RequiredFieldsSet() && !(this.ShipcallModel.Shipcall?.Canceled ?? false); } #endregion diff --git a/src/BreCalClient/EditTimesControl.xaml.cs b/src/BreCalClient/EditTimesControl.xaml.cs index 3c699f3..aa0c3bf 100644 --- a/src/BreCalClient/EditTimesControl.xaml.cs +++ b/src/BreCalClient/EditTimesControl.xaml.cs @@ -259,7 +259,7 @@ namespace BreCalClient // setting en/dis-abled - if (this.Times.ParticipantId != App.Participant.Id) + if ((this.Times.ParticipantId != App.Participant.Id) || (this.ShipcallModel.Shipcall?.Canceled ?? false)) { this.buttonFixedOrder.IsEnabled = false; this.buttonOK.IsEnabled = false; diff --git a/src/BreCalClient/EditTimesTerminalControl.xaml.cs b/src/BreCalClient/EditTimesTerminalControl.xaml.cs index 54d87a3..36e55ec 100644 --- a/src/BreCalClient/EditTimesTerminalControl.xaml.cs +++ b/src/BreCalClient/EditTimesTerminalControl.xaml.cs @@ -217,7 +217,7 @@ namespace BreCalClient private void EnableControls() { - if (this.Times.ParticipantId != App.Participant.Id) + if ((this.Times.ParticipantId != App.Participant.Id) || (this.ShipcallModel.Shipcall?.Canceled ?? false)) { this.buttonOK.IsEnabled = false; return;