Pārlūkot izejas kodu

Made it so import is only visible for IImportable things

Kenric Nugteren 1 gadu atpakaļ
vecāks
revīzija
dd34be942f

+ 1 - 1
InABox.Core/Security/AutoSecurityDescriptor.cs

@@ -37,7 +37,7 @@ namespace InABox.Core
 
         public string Postfix => "";
 
-        public bool Value => typeof(TEntity).GetCustomAttribute<AutoEntity>() == null;
+        public bool Value => typeof(TEntity).GetCustomAttribute<AutoEntity>() == null && typeof(TEntity).HasInterface<IImportable>();
     }
 
     public class CanExport<TEntity> : IAutoSecurityAction<TEntity>

+ 2 - 2
inabox.wpf/DynamicGrid/DynamicDataGrid.cs

@@ -105,9 +105,9 @@ namespace InABox.DynamicGrid
                 options.Add(DynamicGridOption.AddRows).Add(DynamicGridOption.EditRows);
             if (Security.CanDelete<TEntity>())
                 options.Add(DynamicGridOption.DeleteRows);
-            if (Security.CanImport<TEntity>())
+            if (Security.CanImport<TEntity>() && typeof(TEntity).HasInterface<IImportable>())
                 options.Add(DynamicGridOption.ImportData);
-            if (Security.CanExport<TEntity>())
+            if (Security.CanExport<TEntity>() && typeof(TEntity).HasInterface<IExportable>())
                 options.Add(DynamicGridOption.ExportData);
             if (Security.CanMerge<TEntity>())
                 options.Add(DynamicGridOption.MultiSelect);