Example #1
0
        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;
            }
        }
Example #3
0
        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;
        }
Example #4
0
        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()));
            }
        }