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(); }
public TabPermission(bool isDefault, Enums.PermissionLevel level, List <Enums.SPForms> onForms, string forSPPrinciples, Enums.Operator bySPPrinciplesOperator) : base(level, onForms, forSPPrinciples, bySPPrinciplesOperator) { this.IsDefault = isDefault; }
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; } } }); }
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; } } }); }