Ejemplo n.º 1
0
        public static FormLink Secure <T>(this FormLink <T> formLink, UserSecurityContext userSecurityContext)
            where T : class
        {
            if (formLink.ContextId != null)
            {
                return(userSecurityContext.CanAccess <T>(formLink.ContextId.Value)
                                        ? formLink
                                        : formLink.AsText());
            }

            return(userSecurityContext.CanAccess <T>()
                                ? formLink
                                : formLink.AsText());
        }
Ejemplo n.º 2
0
        public ActionList GetActions(UserSecurityContext permissionManager)
        {
            var result = new ActionList();

            if (this.CanEdit)
            {
                if (permissionManager.CanAccess <EditMagic>())
                {
                    result.Actions.Add(EditMagic.Button(this.Id, UiFormConstants.EditLabel)
                                       .WithCustomUi(LinkStyle.DefaultSmall));
                }

                if (permissionManager.CanAccess <DeleteMagic>())
                {
                    result.Actions.Add(DeleteMagic.Button(this.Id, UiFormConstants.DeleteLabel)
                                       .WithCustomUi(LinkStyle.DangerSmall));
                }

                if (permissionManager.CanAccess <SubmitMagic>())
                {
                    result.Actions.Add(SubmitMagic.Button(this.Id)
                                       .WithCustomUi(LinkStyle.SuccessSmall));
                }
            }

            if (this.CanClose)
            {
                if (permissionManager.CanAccess <CloseMagic>())
                {
                    result.Actions.Add(CloseMagic.Button(this.Id)
                                       .WithCustomUi(LinkStyle.SuccessSmall));
                }
            }

            return(result);
        }