Explorar o código

Improved Security Token classes API

Kenric Nugteren hai 2 semanas
pai
achega
ee9b04e8a8

+ 3 - 3
prs.classes/Entities/Overtime/OvertimeInterval.cs

@@ -12,9 +12,9 @@ namespace Comal.Classes
     }
 
     [EntitySecurity(
-        CanView = typeof(AutoSecurityDescriptor<Overtime, CanView<Overtime>>),
-        CanEdit = typeof(AutoSecurityDescriptor<Overtime, CanEdit<Overtime>>),
-        CanDelete = typeof(AutoSecurityDescriptor<Overtime, CanEdit<Overtime>>)
+        CanView = typeof(CanView<Overtime>),
+        CanEdit = typeof(CanEdit<Overtime>),
+        CanDelete = typeof(CanEdit<Overtime>)
         )]
     public class OvertimeInterval : Entity, IRemotable, IPersistent, IOneToMany<Overtime>, ILicense<TimeManagementLicense>, ISequenceable
     {

+ 1 - 0
prs.classes/Entities/Requisition/Requisition.cs

@@ -34,6 +34,7 @@ namespace Comal.Classes
     // }
 
     [UserTracking(typeof(StockMovement))]
+    [Caption("Picking List")]
     public class Requisition : Entity, IRequisition, IPersistent, IRemotable, INumericAutoIncrement<Requisition>, ILicense<ProjectManagementLicense>, IJobScopedItem
     {
         

+ 0 - 16
prs.classes/SecurityDescriptors/Logistics_Descriptors.cs

@@ -3,11 +3,6 @@ using InABox.Core;
 
 namespace Comal.Classes
 {
-    public class CanViewRackList : AutoSecurityDescriptor<Shipment, CanImport<Shipment>>
-    {
-        public override string Code => GetType().EntityName().Split('.').Last();
-    }
-
     [Caption("Can Close Requisitions without Photos")]
     public class CanSkipRequisitionPhotos : DisabledSecurityDescriptor<LogisticsLicense, Requisition>
     {
@@ -23,11 +18,6 @@ namespace Comal.Classes
     {
     }
 
-    public class CanDeleteStoresRequisitions : AutoSecurityDescriptor<Requisition, CanDelete<Requisition>>
-    {
-        public override string Code => GetType().EntityName().Split('.').Last();
-    }
-
     [Caption("Can Complete Deliveries")]
     public class CanCompleteDeliveries : DisabledSecurityDescriptor<LogisticsLicense, Delivery>
     {
@@ -58,12 +48,6 @@ namespace Comal.Classes
     {
     }
 
-    [Caption("View Incoming Consignments Module")]
-    public class CanViewConsignmentModule : AutoSecurityDescriptor<Consignment, CanView<Consignment>>
-    {
-        public override string Code => GetType().EntityName().Split('.').Last();
-    }
-
     [Caption("View Consignments Dock")]
     public class CanViewConsignmentDock : EnabledSecurityDescriptor<LogisticsLicense, Consignment>
     {

+ 0 - 6
prs.classes/SecurityDescriptors/Product_Descriptors.cs

@@ -12,12 +12,6 @@ namespace Comal.Classes
     {
     }
 
-    [Caption("Modify Stock Movements")]
-    public class CanEditStockMovements : AutoSecurityDescriptor<StockMovement, CanEdit<StockMovement>>
-    {
-        public override bool Value => false;
-    }
-
     [Caption("View Product Lookup Dock")]
     public class CanViewProductDock : EnabledSecurityDescriptor<ProductManagementLicense, Product>
     {

+ 1 - 1
prs.classes/SecurityDescriptors/System_Descriptors.cs

@@ -49,7 +49,7 @@ namespace Comal.Classes
 
     [Caption("Administer Digital Forms Library")]
     public class CanAdministerDigitalFormsLibrary : EnabledSecurityDescriptor<DigitalFormsLicense, DigitalForm>,
-        IDependentSecurityDescriptor<AutoSecurityDescriptor<DigitalForm, CanView<DigitalForm>>>
+        IDependentSecurityDescriptor<CanView<DigitalForm>>
     {
     }
 

+ 0 - 10
prs.classes/SecurityDescriptors/Task_Descriptors.cs

@@ -8,16 +8,6 @@ namespace Comal.Classes
     {
     }
 
-    public class CanViewTasks : AutoSecurityDescriptor<Kanban, CanView<Kanban>>
-    {
-        public override string Code => GetType().EntityName().Split('.').Last();
-    }
-
-    public class CanViewTaskTypes : AutoSecurityDescriptor<KanbanType, CanView<KanbanType>>
-    {
-        public override string Code => GetType().EntityName().Split('.').Last();
-    }
-
     [Caption("View Tasks for Other Employees")]
     public class CanViewOthersTasks : EnabledSecurityDescriptor<TaskManagementLicense, Kanban>
     {

+ 1 - 1
prs.desktop/Dashboards/DashboardSecurity.cs

@@ -8,7 +8,7 @@ namespace PRSDesktop
 {
     public interface IRequiresSecurity<TSecurityToken> where TSecurityToken : ISecurityDescriptor, new() { }
 
-    public interface IRequiresCanView<TEntity> : IRequiresSecurity<AutoSecurityDescriptor<TEntity, CanView<TEntity>>>
+    public interface IRequiresCanView<TEntity> : IRequiresSecurity<CanView<TEntity>>
         where TEntity : Entity
     {
     }

+ 1 - 1
prs.desktop/MainWindow.xaml.cs

@@ -1130,7 +1130,7 @@ public partial class MainWindow : IPanelHostControl
             .NewGroup(x => x
                 .Add<UtilityDashboard>("Dashboards", SvgImages.kpi, Security.IsAllowed<CanViewUserDefinedDashboards>())
                 .Add<NotificationPanel>("Notification Centre", PRSDesktop.Resources.email, Security.CanView<Notification>())
-                .Add<TaskPanel>("Task List", SvgImages.kanban, Security.IsAllowed<CanViewTasks>())
+                .Add<TaskPanel>("Task List", SvgImages.kanban, Security.CanView<Kanban>())
                 .Add<AttendancePanel>("In/Out Board", PRSDesktop.Resources.attendance, Security.IsAllowed<CanViewInOutBoard>())
                 .Add<LiveMapsPanel>("Live Maps", PRSDesktop.Resources.map, CanViewMaps)
                 .Add<DailyReport>("Daily Report", PRSDesktop.Resources.report, Security.IsAllowed<CanViewDailyReports>())

+ 1 - 1
prs.desktop/Panels/PurchaseOrders/SupplierPurchaseOrderItemOneToMany.cs

@@ -130,7 +130,7 @@ public class SupplierPurchaseOrderItemOneToMany : DynamicOneToManyGrid<PurchaseO
         
         catalog = AddEditButton("Catalog", PRSDesktop.Resources.product.AsBitmapImage(), SearchProducts);
 
-        if (Security.IsAllowed<CanViewConsignmentModule>())
+        if (Security.CanView<Consignment>())
         {
             createConsignment = AddEditButton("Add to Consignment", null, AddToConsignment);
             createConsignment.IsEnabled = false;

+ 1 - 1
prs.desktop/Panels/Requisitions/RequisitionGrid.cs

@@ -116,7 +116,7 @@ namespace PRSDesktop
             options.AddRows = true;
             options.EditRows = true;
             options.FilterRows = true;
-            if (Security.IsAllowed<CanDeleteStoresRequisitions>())
+            if (Security.CanDelete<Requisition>())
                 options.DeleteRows = true;
         }