Example #1
0
    private void AddCapabilityToTable(ENTCapabilityBO capability, string text)
    {
        var tr = new TableRow();

        //Name
        var tc = new TableCell();
        var lc = new LiteralControl();

        lc.Text = text;
        tc.Controls.Add(lc);
        tr.Cells.Add(tc);

        //access flag
        var tc1 = new TableCell();

        var radioButtons = new RadioButtonList();

        radioButtons.ID = capability.ID.ToString();

        switch (capability.AccessType)
        {
        case ENTCapabilityBO.AccessTypeEnum.ReadOnlyEdit:
            radioButtons.Items.Add(new ListItem("None", ENTRoleCapabilityEO.CapabiiltyAccessFlagEnum.None.ToString()));
            radioButtons.Items.Add(new ListItem("Read Only", ENTRoleCapabilityEO.CapabiiltyAccessFlagEnum.ReadOnly.ToString()));
            radioButtons.Items.Add(new ListItem("Edit", ENTRoleCapabilityEO.CapabiiltyAccessFlagEnum.Edit.ToString()));
            radioButtons.RepeatDirection = RepeatDirection.Horizontal;
            radioButtons.RepeatLayout    = RepeatLayout.Table;
            break;

        case ENTCapabilityBO.AccessTypeEnum.ReadOnly:
            radioButtons.Items.Add(new ListItem("None", ENTRoleCapabilityEO.CapabiiltyAccessFlagEnum.None.ToString()));
            radioButtons.Items.Add(new ListItem("Read Only", ENTRoleCapabilityEO.CapabiiltyAccessFlagEnum.ReadOnly.ToString()));
            radioButtons.RepeatDirection = RepeatDirection.Horizontal;
            radioButtons.RepeatLayout    = RepeatLayout.Table;
            break;

        case ENTCapabilityBO.AccessTypeEnum.Edit:
            radioButtons.Items.Add(new ListItem("None", ENTRoleCapabilityEO.CapabiiltyAccessFlagEnum.None.ToString()));
            radioButtons.Items.Add(new ListItem("Edit", ENTRoleCapabilityEO.CapabiiltyAccessFlagEnum.Edit.ToString()));
            radioButtons.RepeatDirection = RepeatDirection.Horizontal;
            radioButtons.RepeatLayout    = RepeatLayout.Table;
            break;
        }
        tc1.Controls.Add(radioButtons);
        tr.Cells.Add(tc1);
        tblCapabilities.Rows.Add(tr);
    }
Example #2
0
        public virtual void CheckCapabilities()
        {
            if (IgnoreCapabilityCheck == false)
            {
                foreach (var capabilityName in CapabilityNames())
                {
                    // Check if user has the capability to view this screen
                    ENTCapabilityBO capability = Globals.GetCapabilities(this.Cache).GetByName(capabilityName);
                    if (capability == null)
                    {
                        throw new Exception("Security is not enabled for this page. " + this.ToString());
                    }
                    else
                    {
                        switch (CurrentUser.GetCapabilityAccess(capability.ID,
                                                                Globals.GetRoles(this.Cache)))
                        {
                        case ENTRoleCapabilityEO.CapabilityAccessFlagEnum.None:
                            NoAccessToPage(capabilityName);
                            break;

                        case ENTRoleCapabilityEO.CapabilityAccessFlagEnum.ReadOnly:
                            MakeFormReadOnly(capabilityName, this.Controls);
                            break;

                        case ENTRoleCapabilityEO.CapabilityAccessFlagEnum.Edit:
                            break;

                        default:
                            throw new Exception("Unknown access for this screen. " + capability.CapabilityName);
                        }
                    }

                    capability = null;
                }
            }
        }