public IndexGridSpec(Person currentPerson, bool hasDeletePermissions) { var userViewFeature = new UserViewFeature(); if (hasDeletePermissions) { Add(string.Empty, x => DhtmlxGridHtmlHelpers.MakeDeleteIconAndLinkBootstrap(x.GetDeleteUrl(), true, !x.HasDependentObjects()), 30, DhtmlxGridColumnFilterType.None); } Add(FieldDefinitionType.Organization.ToGridHeaderString(), a => UrlTemplate.MakeHrefString(a.GetDetailUrl(), a.OrganizationName), 400, DhtmlxGridColumnFilterType.Html); Add("Short Name", a => a.OrganizationShortName, 100); Add(FieldDefinitionType.OrganizationType.ToGridHeaderString(), a => a.OrganizationType?.OrganizationTypeName, 100, DhtmlxGridColumnFilterType.SelectFilterStrict); Add(FieldDefinitionType.PrimaryContact.ToGridHeaderString(), a => userViewFeature.HasPermission(currentPerson, a.PrimaryContactPerson).HasPermission ? a.GetPrimaryContactPersonAsUrl() : new HtmlString(a.GetPrimaryContactPersonAsString()), 120); Add("# of Users", a => a.People.Count, 90); Add("Is Active", a => a.IsActive.ToYesNo(), 80, DhtmlxGridColumnFilterType.SelectFilterStrict); Add("Is in Keystone", a => a.IsInKeystone().ToYesNo(), 80, DhtmlxGridColumnFilterType.SelectFilterStrict); }
public IndexGridSpec(Person currentPerson) { var userViewFeature = new UserViewFeature(); Add(Models.FieldDefinition.Organization.ToGridHeaderString(), a => UrlTemplate.MakeHrefString(a.GetDetailUrl(), a.OrganizationName), 400, DhtmlxGridColumnFilterType.Html); Add("Short Name", a => a.OrganizationShortName, 100); Add(Models.FieldDefinition.OrganizationPrimaryContact.ToGridHeaderString(), a => userViewFeature.HasPermission(currentPerson, a.PrimaryContactPerson).HasPermission ? a.PrimaryContactPersonAsUrl : new HtmlString(a.PrimaryContactPersonAsString), 120); Add($"# of {Models.FieldDefinition.Project.GetFieldDefinitionLabelPluralized()}", a => a.GetAllActiveProjectsAndProposals(currentPerson).Count, 90); Add($"# of {Models.FieldDefinition.GrantAllocation.GetFieldDefinitionLabelPluralized()}", a => a.GrantAllocations.Count, 150); Add("# of Users", a => a.People.Count, 90); }