private void HideControlsBasedOnAccess(ICaseAccessPermissionScopes permissionScopes) { var canCreate = permissionScopes.Self.Create || permissionScopes.Accounts.Any(permissions => permissions.Create); NoCaseAccessWarning.Visible = !canCreate; OpenNewSupportRequest.Visible = canCreate; }
protected void Page_Load(object sender, EventArgs e) { RedirectToLoginIfAnonymous(); if (IsPostBack) { return; } CaseAccessPermissionScopesProvider = new ContactCaseAccessPermissionScopesProvider(Contact.ToEntityReference(), new PortalContextDataAdapterDependencies(Portal, PortalName, Request.RequestContext)); CaseAccessPermissionScopes = CaseAccessPermissionScopesProvider.SelectPermissionScopes(); if (!CaseAccessPermissionScopes.Self.Create && !CaseAccessPermissionScopes.Accounts.Any(o => o.Create)) { CreateCaseForm.Visible = false; NoCaseAccessMessage.Visible = true; return; } var customerDropdown = (DropDownList)CreateCaseForm.FindControl("FormView").FindControl("CustomerDropdown"); if (customerDropdown == null) { return; } customerDropdown.Items.Clear(); if (CaseAccessPermissionScopes.Self.Create) { customerDropdown.Items.Add(new ListItem("Assigned to Me", Contact.Id.ToString())); customerDropdown.SelectedIndex = 0; } if (CaseAccessPermissionScopes.Accounts.Any(o => o.Create)) { foreach (var accountAccessPermission in CaseAccessPermissionScopes.Accounts) { customerDropdown.Items.Add(new ListItem(accountAccessPermission.Account.Name, accountAccessPermission.Account.Id.ToString())); customerDropdown.SelectedIndex = 0; } } if ((CaseAccessPermissionScopes.Self.Create && !CaseAccessPermissionScopes.Accounts.Any(o => o.Create)) | (!CaseAccessPermissionScopes.Self.Create && CaseAccessPermissionScopes.Accounts.Count() <= 1)) { customerDropdown.Enabled = false; } else { customerDropdown.Enabled = true; } }
private void HideControlsBasedOnAccess(ICaseAccessPermissionScopes permissionScopes) { var canRead = permissionScopes.Self.Read || permissionScopes.Accounts.Any(permissions => permissions.Read); CaseList.Visible = CaseControls.Visible = canRead; NoCaseAccessWarning.Visible = !canRead; var canCreate = permissionScopes.Self.Create || permissionScopes.Accounts.Any(permissions => permissions.Create); CreateCase.Visible = CreateCase.Visible && canCreate; }
private void PopulateCustomerFilter(ICaseAccessPermissionScopes permissionScopes) { if (!CustomerFilter.Visible) { return; } CustomerFilter.Items.Clear(); if (permissionScopes.Self.Read) { CustomerFilter.Items.Add(new ListItem("My Cases", Guid.Empty.ToString()) { Selected = true }); } foreach (var accountPermissions in permissionScopes.Accounts.Where(permissions => permissions.Read)) { CustomerFilter.Items.Add(new ListItem(accountPermissions.Account.Name, accountPermissions.Account.Id.ToString())); } }