Ejemplo n.º 1
0
        protected override void AppsSecure(Domain.Security config)
        {
            base.AppsSecure(config);

            var full = new[] { Operations.Read, Operations.Write, Operations.Execute };

            config.GrantAdministrator(this.ObjectType, full);

            var openedState = new WorkEffortObjectStates(Session).NeedsAction;
            var cancelledState = new WorkEffortObjectStates(Session).Cancelled;
            var finishedState = new WorkEffortObjectStates(Session).Completed;

            config.Deny(this.ObjectType, openedState, WorkEfforts.Meta.Reopen);

            config.Deny(this.ObjectType, cancelledState, Operation.Execute, Operations.Write);
            config.Deny(this.ObjectType, finishedState, Operation.Execute, Operations.Read);
        }
Ejemplo n.º 2
0
        protected override void AppsSecure(Domain.Security config)
        {
            base.AppsSecure(config);

            var full = new[] { Operations.Read, Operations.Write, Operations.Execute };

            config.GrantAdministrator(this.ObjectType, full);

            config.GrantOperations(this.ObjectType, full);

            config.GrantCustomer(this.ObjectType, Meta.CurrentPickListStatus, Operations.Read);
            config.GrantCustomer(this.ObjectType, Meta.PickListStatuses, Operations.Read);

            var created = new PickListObjectStates(Session).Created;
            var onHold = new PickListObjectStates(Session).OnHold;
            var picked = new PickListObjectStates(Session).Picked;
            var cancelled = new PickListObjectStates(Session).Cancelled;

            config.Deny(this.ObjectType, created, Meta.Continue);
            config.Deny(this.ObjectType, onHold, Meta.Hold);

            config.Deny(this.ObjectType, picked, Operation.Execute, Operations.Write);
            config.Deny(this.ObjectType, cancelled, Operation.Execute, Operations.Write);
        }
Ejemplo n.º 3
0
        protected override void AppsSecure(Domain.Security config)
        {
            base.AppsSecure(config);

            var full = new[] { Operations.Read, Operations.Write, Operations.Execute };

            config.GrantAdministrator(this.ObjectType, full);

            config.GrantOperations(this.ObjectType, full);

            config.GrantCustomer(this.ObjectType, Meta.CurrentShipmentStatus, Operations.Read);
            config.GrantCustomer(this.ObjectType, Meta.ShipToParty, Operations.Read);
            config.GrantCustomer(this.ObjectType, Meta.ShipmentStatuses, Operations.Read);
            config.GrantCustomer(this.ObjectType, Meta.ShipmentPackages, Operations.Read);

            config.GrantSales(this.ObjectType, Meta.CurrentShipmentStatus, Operations.Read);
            config.GrantSales(this.ObjectType, Meta.ShipToParty, Operations.Read);
            config.GrantSales(this.ObjectType, Meta.ShipmentStatuses, Operations.Read);
            config.GrantSales(this.ObjectType, Meta.ShipmentPackages, Operations.Read);

            var created = new CustomerShipmentObjectStates(Session).Created;
            var picked = new CustomerShipmentObjectStates(Session).Picked;
            var packed = new CustomerShipmentObjectStates(Session).Packed;
            var shipped = new CustomerShipmentObjectStates(Session).Shipped;
            var delivered = new CustomerShipmentObjectStates(Session).Delivered;
            var cancelled = new CustomerShipmentObjectStates(Session).Cancelled;
            var onHold = new CustomerShipmentObjectStates(Session).OnHold;

            var hold = Meta.Hold;
            var @continue = Meta.Continue;
            var ship = Meta.Ship;

            config.Deny(this.ObjectType, shipped, hold, @continue);
            config.Deny(this.ObjectType, onHold, ship, hold, @continue);
            config.Deny(this.ObjectType, created, hold, @continue);
            config.Deny(this.ObjectType, picked, @continue);
            config.Deny(this.ObjectType, packed, @continue);

            config.Deny(this.ObjectType, cancelled, Operation.Execute, Operations.Write);
            config.Deny(this.ObjectType, shipped, Operation.Execute, Operations.Write);
            config.Deny(this.ObjectType, delivered, Operation.Execute, Operations.Write);
        }