Пример #1
0
        public PermissionBase(Enums.PermissionLevel level, List <Enums.SPForms> onForms,
                              string forSPPrinciples, Enums.Operator bySPPrinciplesOperator)
        {
            this.Level = level;

            this.OnForms                = onForms;
            this.ForSPPrinciples        = forSPPrinciples;
            this.BySPPrinciplesOperator = bySPPrinciplesOperator;

            this.Conditions = new Conditions();
        }
Пример #2
0
 public TabPermission(bool isDefault, Enums.PermissionLevel level,
                      List <Enums.SPForms> onForms, string forSPPrinciples, Enums.Operator bySPPrinciplesOperator)
     : base(level, onForms, forSPPrinciples, bySPPrinciplesOperator)
 {
     this.IsDefault = isDefault;
 }
Пример #3
0
 public FieldPermission(Field OnField, Enums.PermissionLevel level, List <Enums.SPForms> onForms, string forSPPrinciples, Enums.Operator bySPPrinciplesOperator)
     : base(level, onForms, forSPPrinciples, bySPPrinciplesOperator)
 {
     this.OnField = OnField;
 }
        protected void createTabXML()
        {
            bool isDefault = false;
            Tabs allTabs   = new Tabs();

            DataTable tabsDataTable                = TabDataTable;
            DataTable permissionDataTable          = TabPermissionDataTable;
            DataTable permissionConditionDataTable = PermissionConditionDataTable;

            foreach (DataRow drTab in tabsDataTable.Rows)
            {
                ushort index        = Convert.ToUInt16(drTab[Constants.TabField.Index]);
                string title        = drTab[Constants.TabField.Title].ToString();
                string desc         = drTab[Constants.TabField.Description].ToString();
                bool   isTabDefault = Helper.ConvertToBool(drTab[Constants.TabField.IsDefault].ToString());
                int    tabID        = Convert.ToInt32(drTab[Constants.RowID]);

                Tab t1 = new Tab(index, title, desc);
                t1.CommaSeperatedFields = drTab[Constants.TabField.FieldToString].ToString();
                t1.IsSelected           = isTabDefault;

                DataTable permissionOfSelectedTab = Helper.GetViewFromDataTable(permissionDataTable, tabID, Constants.PermissionField.TabRowID).ToTable();

                if (permissionOfSelectedTab != null && permissionOfSelectedTab.Rows.Count > 0)
                {
                    foreach (DataRow drPermission in permissionOfSelectedTab.Rows)
                    {
                        bool IsDefault = Helper.ConvertToBool(drPermission[Constants.PermissionField.IsDefault].ToString());
                        Enums.PermissionLevel permissionLevel = (Enums.PermissionLevel)(Convert.ToInt32(drPermission[Constants.PermissionField.PermissionID].ToString()));
                        string         OnForms                = drPermission[Constants.PermissionField.OnFormIDs].ToString();
                        string         ForSPPrinciples        = drPermission[Constants.PermissionField.SPPrinciples].ToString();
                        Enums.Operator BySPPrinciplesOperator = (Enums.Operator)(Convert.ToInt32(drPermission[Constants.PermissionField.SPPrinciplesOperatorID].ToString()));
                        int            permissionID           = Convert.ToInt32(drPermission[Constants.RowID]);

                        TabPermission perm1 = new TabPermission(isDefault, permissionLevel, TabPermission.ParseForms(OnForms), ForSPPrinciples, BySPPrinciplesOperator);


                        DataTable conditionOfSelectedPermission = Helper.GetViewFromDataTable(permissionConditionDataTable, permissionID, Constants.ConditionField.PermissionRowID).ToTable();

                        if (conditionOfSelectedPermission != null && conditionOfSelectedPermission.Rows.Count > 0)
                        {
                            foreach (DataRow drCondition in conditionOfSelectedPermission.Rows)
                            {
                                string         OnField         = drCondition[Constants.ConditionField.SPFieldName].ToString();
                                Enums.Operator ByFieldOperator = (Enums.Operator)Convert.ToInt32(drCondition[Constants.ConditionField.SPFieldOperatorID].ToString());
                                object         Value           = drCondition[Constants.ConditionField.Value].ToString();

                                perm1.Conditions.Add(new Condition(new Field(OnField), ByFieldOperator, Value));
                            }
                        }

                        t1.Permissions.Add(perm1);
                    }
                }

                allTabs.Add(t1);
            }

            SPSecurity.RunWithElevatedPrivileges(delegate
            {
                using (SPSite objSite = new SPSite(SPContext.Current.Web.Url.ToString()))
                {
                    using (SPWeb objWeb = objSite.OpenWeb())
                    {
                        SPList list = objWeb.Lists[new Guid(Request.QueryString["List"])];

                        objWeb.AllowUnsafeUpdates = true;
                        string xml = allTabs.ToString();
                        if (allTabs.Count > 0 && Helper.IsValidXml(xml))
                        {
                            Helper.CreateConfigFile(list, Constants.ConfigFile.TabSettingFile, xml);
                        }
                        else
                        {
                            Helper.DeleteConfigFile(list, Constants.ConfigFile.TabSettingFile, xml);
                        }

                        objWeb.AllowUnsafeUpdates = false;
                    }
                }
            });
        }
Пример #5
0
        protected void createTabXML()
        {
            FieldPermissions allFieldPermissions = new FieldPermissions();

            DataTable permissionDataTable          = TabPermissionDataTable;
            DataTable permissionConditionDataTable = PermissionConditionDataTable;

            foreach (DataRow drPermission in permissionDataTable.Rows)
            {
                string OnField   = drPermission[Constants.PermissionField.SPFieldName].ToString();
                bool   IsDefault = Helper.ConvertToBool(drPermission[Constants.PermissionField.IsDefault].ToString());
                Enums.PermissionLevel permissionLevel = (Enums.PermissionLevel)(Convert.ToInt32(drPermission[Constants.PermissionField.PermissionID].ToString()));
                string         OnForms                = drPermission[Constants.PermissionField.OnFormIDs].ToString();
                string         ForSPPrinciples        = drPermission[Constants.PermissionField.SPPrinciples].ToString();
                Enums.Operator BySPPrinciplesOperator = (Enums.Operator)(Convert.ToInt32(drPermission[Constants.PermissionField.SPPrinciplesOperatorID].ToString()));
                int            permissionID           = Convert.ToInt32(drPermission[Constants.RowID]);

                FieldPermission perm1 = new FieldPermission(new Field(OnField), permissionLevel, FieldPermission.ParseForms(OnForms), ForSPPrinciples, BySPPrinciplesOperator);


                DataTable conditionOfSelectedPermission = Helper.GetViewFromDataTable(permissionConditionDataTable, permissionID, Constants.ConditionField.PermissionRowID).ToTable();

                if (conditionOfSelectedPermission != null && conditionOfSelectedPermission.Rows.Count > 0)
                {
                    foreach (DataRow drCondition in conditionOfSelectedPermission.Rows)
                    {
                        string         OnField2        = drCondition[Constants.ConditionField.SPFieldName].ToString();
                        Enums.Operator ByFieldOperator = (Enums.Operator)Convert.ToInt32(drCondition[Constants.ConditionField.SPFieldOperatorID].ToString());
                        object         Value           = drCondition[Constants.ConditionField.Value].ToString();

                        perm1.Conditions.Add(new Condition(new Field(OnField2), ByFieldOperator, Value));
                    }
                }

                allFieldPermissions.Add(perm1);
            }


            SPSecurity.RunWithElevatedPrivileges(delegate
            {
                using (SPSite objSite = new SPSite(SPContext.Current.Web.Url.ToString()))
                {
                    using (SPWeb objWeb = objSite.OpenWeb())
                    {
                        SPList list = objWeb.Lists[new Guid(Request.QueryString["List"])];

                        objWeb.AllowUnsafeUpdates = true;

                        string xml = allFieldPermissions.ToString();
                        if (allFieldPermissions.Count > 0 && Helper.IsValidXml(xml))
                        {
                            Helper.CreateConfigFile(list, Constants.ConfigFile.FieldPermissionFile, xml);
                        }
                        else
                        {
                            Helper.DeleteConfigFile(list, Constants.ConfigFile.FieldPermissionFile, xml);
                        }

                        objWeb.AllowUnsafeUpdates = false;
                    }
                }
            });
        }