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()); }
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); }