Exemplo n.º 1
0
        public override void RefreshData()
        {
            //lvPerms.MultiSelect = !Modal;

            this.Text = "Permissions - " + this.AdminProxy.Connection.ServerName + (Toolkit.IsProcessElevated() ? " - Administrator " : "");
            var tags = rememberSelectedTags(lvPerms);

            // this form has multiple uses, as does the underlying ListPermissions method.
            // it can:
            // List all permissions (0,[0])
            // List permission info for a single permission (37,[0])
            // List permissions that are NOT in a list (0, [2,3,4,5,6])

            // var ds = AdminProxy.ListPermissions(-1, AssignedIDs, AssignedIDs.Count > 0);
            var ds = AdminProxy.ListPermissions(-1, AssignedIDs, false);

            var dt = ds.Tables["list_permissions"];

            initHooksForMdiParent(dt, "display_member", "sys_permission_id");
            lvPerms.Items.Clear();
            foreach (DataRow dr in DataTable.Rows)
            {
                var lvi = new ListViewItem(dr["display_member"].ToString(), 0);


                string dv  = dr["dataview_name"].ToString();
                string tbl = dr["table_name"].ToString();
                if (String.IsNullOrEmpty(dv) && String.IsNullOrEmpty(tbl))
                {
                    lvi.SubItems.Add("-- any resource --");
                }
                else
                {
                    if (!String.IsNullOrEmpty(dv))
                    {
                        lvi.SubItems.Add(dv + " (dataview)");
                    }
                    else
                    {
                        lvi.SubItems.Add(tbl);
                    }
                }
                lvi.SubItems.Add(dr["is_enabled"].ToString());

                lvi.UseItemStyleForSubItems = false;

                addPermItem(lvi, dr["create_permission_text"].ToString());
                addPermItem(lvi, dr["read_permission_text"].ToString());
                addPermItem(lvi, dr["update_permission_text"].ToString());
                addPermItem(lvi, dr["delete_permission_text"].ToString());

                // get restriction info...
                var drFields = ds.Tables["list_permission_fields"].Select("sys_permission_id = " + dr["sys_permission_id"]);
                if (drFields == null || drFields.Length == 0)
                {
                    lvi.SubItems.Add("-");
                }
                else
                {
                    // pull perm field info into english-like display...
                    var sb = new StringBuilder();
                    foreach (var drField in drFields)
                    {
                        if (sb.Length > 0)
                        {
                            sb.Append(" and ");
                        }
                        if (drField["compare_mode"].ToString() == "parent")
                        {
                            sb.Append(drField["parent_table_name"] + "." + drField["parent_table_field_name"] + " " + drField["parent_compare_operator"] + " " + drField["parent_compare_value"] + " (for all children)");
                        }
                        else
                        {
                            if (Toolkit.ToInt32(drField["sys_dataview_field_id"], -1) > -1)
                            {
                                sb.Append(drField["dataview_name"] + "." + drField["dataview_field_name"] + " " + drField["compare_operator"] + " " + drField["compare_value"] + " (dataview)");
                            }
                            else if (Toolkit.ToInt32(drField["sys_table_field_id"], -1) > -1)
                            {
                                sb.Append(drField["table_name"] + "." + drField["table_field_name"] + " " + drField["compare_operator"] + " " + drField["compare_value"] + " ");
                            }
                            else
                            {
                                sb.Append("INVALID -- must map a field from either Data View or Table!!!");
                            }
                        }
                    }
                    lvi.SubItems.Add(sb.ToString());
                }


                lvi.ImageIndex = 0;
                lvi.Tag        = dr["sys_permission_id"];
                lvPerms.Items.Add(lvi);
            }

            selectRememberedTags(lvPerms, tags);

            MainFormUpdateStatus(getDisplayMember("RefreshData{done}", "Refreshed Permissions"), false);
        }
Exemplo n.º 2
0
        public override void RefreshData()
        {
            this.Text = "Permission " + MainFormCurrentNodeText("") + " - " + this.AdminProxy.Connection.ServerName + (Toolkit.IsProcessElevated() ? " - Administrator " : "");

            initDropDowns();

            if (ID > -1)
            {
                var dt = AdminProxy.ListPermissions(ID, null, false).Tables["list_permissions"];
                if (dt.Rows.Count > 0)
                {
                    var dr = dt.Rows[0];
                    txtCode.Text              = dr["permission_tag"].ToString();
                    txtName.Text              = dr["title"].ToString();
                    txtDescription.Text       = dr["description"].ToString();
                    ddlDataView.SelectedIndex = ddlDataView.FindString(dr["dataview_name"].ToString());
                    ddlTable.SelectedIndex    = ddlTable.FindString(dr["table_name"].ToString());
                    ddlCreate.SelectedIndex   = ddlCreate.FindString(dr["create_permission_text"].ToString());
                    ddlRead.SelectedIndex     = ddlRead.FindString(dr["read_permission_text"].ToString());
                    ddlUpdate.SelectedIndex   = ddlUpdate.FindString(dr["update_permission_text"].ToString());
                    ddlDelete.SelectedIndex   = ddlDelete.FindString(dr["delete_permission_text"].ToString());
                    chkEnabled.Checked        = dr["is_enabled"].ToString().Trim().ToUpper() == "Y";

                    var dt2 = AdminProxy.ListPermissionFields(ID, -1).Tables["list_permission_fields"];
                    lvPermFields.Items.Clear();
                    foreach (DataRow dr2 in dt2.Rows)
                    {
                        var lvi = new ListViewItem();
                        lvi.Tag = dr2["sys_permission_field_id"];
                        lvi.UseItemStyleForSubItems = false;
                        var dv   = dr2["dataview_name"].ToString();
                        var tbl  = dr2["table_name"].ToString();
                        var mode = dr2["compare_mode"].ToString();
                        if (mode == "parent")
                        {
                            // restricting by parent...
                            lvi.Text = dr2["parent_table_name"].ToString() + " (for all children)";
                            lvi.SubItems.Add(dr2["parent_table_field_name"].ToString());
                            lvi.SubItems.Add(dr2["parent_compare_operator"].ToString());
                            string verbiage = getVerbiageForSpecialCommand(dr2["parent_compare_value"].ToString());
                            lvi.SubItems.Add(verbiage);
                            lvi.SubItems.Add(dr2["parent_table_name"].ToString() + "." + dr2["parent_Table_field_name"].ToString() + " " + dr2["parent_compare_operator"] + " " + verbiage + " (for all children)");

//                            lvi.Text = dr2["parent_table_name"].ToString() + "." + dr2["parent_Table_field_name"].ToString() + " " + dr2["parent_compare_operator"] + " " + dr2["parent_compare_value"] + " (for all children)";
                        }
                        else if (dv == "")
                        {
                            lvi.Text = tbl;
                            lvi.SubItems.Add(dr2["table_field_name"].ToString());
                            lvi.SubItems.Add(dr2["compare_operator"].ToString());
                            string verbiage = getVerbiageForSpecialCommand(dr2["compare_value"].ToString());
                            lvi.SubItems.Add(verbiage);
                            lvi.SubItems.Add(dr2["table_name"].ToString() + "." + dr2["Table_field_name"].ToString() + " " + dr2["compare_operator"] + " " + verbiage);

//                            lvi.Text = dr2["table_name"].ToString() + "." + dr2["Table_field_name"].ToString() + " " + dr2["compare_operator"] + " " + dr2["compare_value"];
                        }
                        else
                        {
                            lvi.Text = dv + " (dataview)";
                            lvi.SubItems.Add(dr2["dataview_field_name"].ToString());
                            lvi.SubItems.Add(dr2["compare_operator"].ToString());
                            string verbiage = getVerbiageForSpecialCommand(dr2["compare_value"].ToString());
                            lvi.SubItems.Add(verbiage);
                            lvi.SubItems.Add(dr2["dataview_field_name"].ToString() + "." + dr2["dataview_field_name"].ToString() + " " + dr2["compare_operator"] + " " + verbiage + " (dataview)");

//                            lvi.Text = dr2["dataview_field_name"].ToString() + "." + dr2["dataview_field_name"].ToString() + " " + dr2["compare_operator"] + " " + dr2["compare_value"] + " (dataview)";
                        }

                        lvPermFields.Items.Add(lvi);
                    }
                }
            }
            else
            {
                ddlDataView.SelectedIndex = 0;
                ddlTable.SelectedIndex    = 0;

                ddlCreate.SelectedIndex = 0;
                ddlRead.SelectedIndex   = 0;
                ddlUpdate.SelectedIndex = 0;
                ddlDelete.SelectedIndex = 0;
            }

            MarkClean();
        }