Преглед на файлове

Improvements to form editing security tokens

Kenric Nugteren преди 1 година
родител
ревизия
9b64dd0151

+ 11 - 2
inabox.wpf/DigitalForms/Designer/Controls/Fields/DFEmbeddedImageControl.cs

@@ -13,6 +13,7 @@ using System.IO;
 using System.Linq;
 using Microsoft.Win32;
 using Syncfusion.UI.Xaml.ImageEditor;
+using InABox.Wpf;
 
 namespace InABox.DynamicGrid
 {
@@ -247,8 +248,16 @@ namespace InABox.DynamicGrid
             {
                 DigitalFormDocumentFactory.LoadDocument(_value.ID, (data) =>
                 {
-                    _value.Data = data;
-                    Dispatcher.BeginInvoke(() => ShowImage(data));
+                    if(data.Length == 0)
+                    {
+                        Dispatcher.BeginInvoke(() =>
+                            MessageWindow.ShowMessage("The image should be in the database, but it is not.", "Document not found", image: MessageWindow.WarningImage));
+                    }
+                    else
+                    {
+                        _value.Data = data;
+                        Dispatcher.BeginInvoke(() => ShowImage(data));
+                    }
                 }); 
             }
         }

+ 19 - 2
inabox.wpf/DigitalForms/Designer/DynamicEditFormWindow.xaml.cs

@@ -138,10 +138,27 @@ public partial class DynamicFormEditWindow : Window, IDynamicFormWindow
         if (Mode == FormMode.Editing || Mode == FormMode.Filling || Mode == FormMode.Preview)
         {
             SaveForm.IsEnabled = HasUnsavedChanges;
+            if(Mode == FormMode.Editing)
+            {
+                SaveForm.Content = "Save Form";
+            }
+            else
+            {
+                SaveForm.Content = "Save Progress";
+            }
         }
         else
         {
-            SaveForm.IsEnabled = false;
+            if (Security.IsAllowed<CanChangeDigitalFormCompletion>())
+            {
+                SaveForm.IsEnabled = HasUnsavedChanges;
+                SaveForm.Content = "Save Form";
+            }
+            else
+            {
+                SaveForm.IsEnabled = false;
+                SaveForm.Content = "Save Progress";
+            }
         }
 
         if (!completed.IsEmpty() && Security.IsAllowed<CanChangeDigitalFormCompletion>())
@@ -153,7 +170,7 @@ public partial class DynamicFormEditWindow : Window, IDynamicFormWindow
         else
         {
             CompleteForm.Content = "Complete form";
-            CompleteForm.IsEnabled = Mode == FormMode.Filling && DataModel?.Instance.FormCompleted == DateTime.MinValue;
+            CompleteForm.IsEnabled = (Mode == FormMode.Filling || Security.IsAllowed<CanChangeDigitalFormCompletion>()) && DataModel?.Instance.FormCompleted == DateTime.MinValue;
             IsReopening = false;
         }
     }