protected void cmdCreateNewRule_Click(object sender, EventArgs e) { DataTable validationDataTable = ValidationDataTable; DataTable validationConditionDataTable = ValidationConditionDataTable; if (cmdCreateNewRule.Text == "Add new Validation Rule") { DataRow drValidationRule = validationDataTable.NewRow(); drValidationRule[Constants.ValidationField.SPFieldName] = cboAllFields.SelectedValue; drValidationRule[Constants.ValidationField.SPFieldDisplayName] = cboAllFields.SelectedItem.Text; drValidationRule[Constants.ValidationField.SPFieldOperatorID] = cboRulesOperators.SelectedValue; drValidationRule[Constants.ValidationField.SPFieldOperatorName] = Enums.DisplayString((Enums.Operator)Convert.ToInt32(cboRulesOperators.SelectedValue)); drValidationRule[Constants.ValidationField.ValidationRuleID] = cboRule.SelectedValue; drValidationRule[Constants.ValidationField.ValidationRuleName] = Enums.DisplayString((Enums.ValidationRule)Convert.ToInt32(cboRule.SelectedValue)); drValidationRule[Constants.ValidationField.Value] = Helper.ReplaceInvalidChar(txtRulesValue.Text); drValidationRule[Constants.ValidationField.ErrorMessage] = Helper.ReplaceInvalidChar(string.IsNullOrEmpty(txtErrorMessage.Text) ? "Invalid Field" : txtErrorMessage.Text); drValidationRule[Constants.ValidationField.SPPrinciples] = (string.IsNullOrEmpty(peSelectUsers.CommaSeparatedAccounts) ? Constants.AllSPPrinciples : peSelectUsers.CommaSeparatedAccounts); drValidationRule[Constants.ValidationField.SPPrinciplesOperatorID] = (string.IsNullOrEmpty(peSelectUsers.CommaSeparatedAccounts) ? 0 : Convert.ToInt32(cboSPPrinciplesOperator.SelectedValue)); drValidationRule[Constants.ValidationField.SPPrinciplesOperatorName] = (string.IsNullOrEmpty(peSelectUsers.CommaSeparatedAccounts) ? Enums.DisplayString((Enums.Operator) 0) : Enums.DisplayString((Enums.Operator)Convert.ToInt32(cboSPPrinciplesOperator.SelectedValue)) + ":"); drValidationRule[Constants.ValidationField.HasCondition] = ""; validationDataTable.Rows.Add(drValidationRule); } else if (cmdCreateNewRule.Text == "Update Validation Rule") { DataRow drSelectedValidation = Helper.GetRowFromDataTable(validationDataTable, ValidationID); if (drSelectedValidation != null) { drSelectedValidation[Constants.ValidationField.SPFieldName] = cboAllFields.SelectedValue; drSelectedValidation[Constants.ValidationField.SPFieldDisplayName] = cboAllFields.SelectedItem.Text; drSelectedValidation[Constants.ValidationField.SPFieldOperatorID] = cboRulesOperators.SelectedValue; drSelectedValidation[Constants.ValidationField.SPFieldOperatorName] = Enums.DisplayString((Enums.Operator)Convert.ToInt32(cboRulesOperators.SelectedValue)); drSelectedValidation[Constants.ValidationField.ValidationRuleID] = cboRule.SelectedValue; drSelectedValidation[Constants.ValidationField.ValidationRuleName] = Enums.DisplayString((Enums.ValidationRule)Convert.ToInt32(cboRule.SelectedValue)); drSelectedValidation[Constants.ValidationField.Value] = Helper.ReplaceInvalidChar(txtRulesValue.Text); drSelectedValidation[Constants.ValidationField.ErrorMessage] = Helper.ReplaceInvalidChar(string.IsNullOrEmpty(txtErrorMessage.Text) ? "Invalid Field" : txtErrorMessage.Text); drSelectedValidation[Constants.ValidationField.SPPrinciples] = (string.IsNullOrEmpty(peSelectUsers.CommaSeparatedAccounts) ? Constants.AllSPPrinciples : peSelectUsers.CommaSeparatedAccounts); drSelectedValidation[Constants.ValidationField.SPPrinciplesOperatorID] = (string.IsNullOrEmpty(peSelectUsers.CommaSeparatedAccounts) ? 0 : Convert.ToInt32(cboSPPrinciplesOperator.SelectedValue)); drSelectedValidation[Constants.ValidationField.SPPrinciplesOperatorName] = (string.IsNullOrEmpty(peSelectUsers.CommaSeparatedAccounts) ? Enums.DisplayString((Enums.Operator) 0) : Enums.DisplayString((Enums.Operator)Convert.ToInt32(cboSPPrinciplesOperator.SelectedValue)) + ":"); drSelectedValidation[Constants.ValidationField.HasCondition] = Helper.ConditionsToString(validationConditionDataTable, ValidationID, Constants.ConditionField.ValidationRowID); } cmdCreateNewRule.Text = "Add new Validation Rule"; lnkAddCondition.Enabled = false; } ValidationDataTable = validationDataTable; gvResult.DataSource = validationDataTable; gvResult.DataBind(); gvCondition.DataSource = null; gvCondition.DataBind(); clearValidationField(); }
protected void lnkAddCondition_Click(object sender, EventArgs e) { if (TabPermissionID > 0) { DataTable permissionDataTable = TabPermissionDataTable; DataTable permissionConditionDataTable = PermissionConditionDataTable; if (lnkAddCondition.Text == "Add") { DataRow drCondition = permissionConditionDataTable.NewRow(); drCondition[Constants.ConditionField.PermissionRowID] = TabPermissionID; drCondition[Constants.ConditionField.SPFieldName] = cboAllFields.SelectedValue; drCondition[Constants.ConditionField.SPFieldDisplayName] = cboAllFields.SelectedItem.Text; drCondition[Constants.ConditionField.SPFieldOperatorName] = Enums.DisplayString((Enums.Operator)Convert.ToInt32(cboConditionOperator.SelectedValue)); drCondition[Constants.ConditionField.SPFieldOperatorID] = cboConditionOperator.SelectedValue; drCondition[Constants.ConditionField.Value] = Helper.ReplaceInvalidChar(txtValue.Text); permissionConditionDataTable.Rows.Add(drCondition); } else if (lnkAddCondition.Text == "Update") { DataRow drSelectedCondition = Helper.GetRowFromDataTable(PermissionConditionDataTable, TabPermissionConditionID); if (drSelectedCondition != null) { drSelectedCondition[Constants.ConditionField.SPFieldName] = cboAllFields.SelectedValue; drSelectedCondition[Constants.ConditionField.SPFieldDisplayName] = cboAllFields.SelectedItem.Text; drSelectedCondition[Constants.ConditionField.SPFieldOperatorName] = Enums.DisplayString((Enums.Operator)Convert.ToInt32(cboConditionOperator.SelectedValue)); drSelectedCondition[Constants.ConditionField.SPFieldOperatorID] = cboConditionOperator.SelectedValue; drSelectedCondition[Constants.ConditionField.Value] = Helper.ReplaceInvalidChar(txtValue.Text); } lnkAddCondition.Text = "Add"; } PermissionConditionDataTable = permissionConditionDataTable; gvCondition.DataSource = Helper.GetViewFromDataTable(permissionConditionDataTable, TabPermissionID, Constants.ConditionField.PermissionRowID); gvCondition.DataBind(); } else { lblErrorCondition.Text = "please select Permission to add condition"; } clearConditionFields(); }
protected void FillOperatorsFor(int ruleId) { cboRulesOperators.Items.Clear(); ListItem lst = new ListItem(); lst.Value = ((int)Enums.Operator.Equal).ToString(); lst.Text = Enums.DisplayString(Enums.Operator.Equal); cboRulesOperators.Items.Add(lst); if (ruleId == (int)Enums.ValidationRule.Column) { lst = new ListItem(); lst.Value = ((int)Enums.Operator.NotEqual).ToString(); lst.Text = Enums.DisplayString(Enums.Operator.NotEqual); cboRulesOperators.Items.Add(lst); lst = new ListItem(); lst.Value = ((int)Enums.Operator.Contains).ToString(); lst.Text = Enums.DisplayString(Enums.Operator.Contains); cboRulesOperators.Items.Add(lst); lst = new ListItem(); lst.Value = ((int)Enums.Operator.NotContains).ToString(); lst.Text = Enums.DisplayString(Enums.Operator.NotContains); cboRulesOperators.Items.Add(lst); } else if (ruleId == (int)Enums.ValidationRule.length) { lst = new ListItem(); lst.Value = ((int)Enums.Operator.NotEqual).ToString(); lst.Text = Enums.DisplayString(Enums.Operator.NotEqual); lst = new ListItem(); lst.Value = ((int)Enums.Operator.GreaterThan).ToString(); lst.Text = Enums.DisplayString(Enums.Operator.GreaterThan); cboRulesOperators.Items.Add(lst); lst = new ListItem(); lst.Value = ((int)Enums.Operator.LessThan).ToString(); lst.Text = Enums.DisplayString(Enums.Operator.LessThan); cboRulesOperators.Items.Add(lst); } }
protected void LoadTabSettings() { SPSecurity.RunWithElevatedPrivileges(delegate { using (SPSite objSite = new SPSite(SPContext.Current.Web.Url)) { using (SPWeb objWeb = objSite.OpenWeb()) { SPList list = objWeb.Lists[new Guid(Request.QueryString["List"])]; Tabs allTabs = Tabs.LoadTabs(Helper.GetConfigFile(list, Constants.ConfigFile.TabSettingFile)); if (allTabs != null) { DataTable tabsDataTable = createTabDataTable(); DataTable permissionDataTable = createPermissionDataTable(); DataTable permissionConditionDataTable = createConditionDataTable(); foreach (Tab tab in allTabs) { DataRow drTab = tabsDataTable.NewRow(); drTab[Constants.TabField.Index] = tab.Index; drTab[Constants.TabField.Title] = tab.Title; drTab[Constants.TabField.IsDefault] = tab.IsSelected; drTab[Constants.TabField.Description] = tab.Description; drTab[Constants.TabField.FieldToString] = tab.CommaSeperatedFields; drTab[Constants.TabField.FieldDisplayNameToString] = Helper.GetFieldDisplayNames(list, tab.CommaSeperatedFields); drTab[Constants.TabField.HasPermission] = (tab.Permissions.Count > 0); tabsDataTable.Rows.Add(drTab); foreach (TabPermission tabPermission in tab.Permissions) { DataRow drPermission = permissionDataTable.NewRow(); // Adding the tab row id for reference drPermission[Constants.PermissionField.TabRowID] = drTab[Constants.RowID]; drPermission[Constants.PermissionField.IsDefault] = tabPermission.IsDefault; drPermission[Constants.PermissionField.PermissionID] = (int)tabPermission.Level; drPermission[Constants.PermissionField.PermissionName] = Enums.DisplayString(tabPermission.Level); drPermission[Constants.PermissionField.SPPrinciples] = tabPermission.ForSPPrinciples; drPermission[Constants.PermissionField.SPPrinciplesOperatorID] = (int)tabPermission.BySPPrinciplesOperator; drPermission[Constants.PermissionField.SPPrinciplesOperatorName] = Enums.DisplayString(tabPermission.BySPPrinciplesOperator); drPermission[Constants.PermissionField.OnFormIDs] = tabPermission.FormsIdToString(); drPermission[Constants.PermissionField.OnFormNames] = tabPermission.FormsToString(); drPermission[Constants.PermissionField.HasCondition] = tabPermission.Conditions.ConditionsToString(list); permissionDataTable.Rows.Add(drPermission); foreach (Condition permCondition in tabPermission.Conditions) { if (!list.Fields.ContainsField(permCondition.OnField.SPName)) { continue; } DataRow drCondition = permissionConditionDataTable.NewRow(); drCondition[Constants.ConditionField.PermissionRowID] = drPermission[Constants.RowID]; drCondition[Constants.ConditionField.SPFieldName] = permCondition.OnField.SPName; drCondition[Constants.ConditionField.SPFieldDisplayName] = list.Fields.GetFieldByInternalName(permCondition.OnField.SPName).Title; drCondition[Constants.ConditionField.SPFieldOperatorID] = (int)permCondition.ByFieldOperator; drCondition[Constants.ConditionField.SPFieldOperatorName] = Enums.DisplayString(permCondition.ByFieldOperator); drCondition[Constants.ConditionField.Value] = permCondition.Value; permissionConditionDataTable.Rows.Add(drCondition); } PermissionConditionDataTable = permissionConditionDataTable; } TabPermissionDataTable = permissionDataTable; } TabDataTable = tabsDataTable; grdTabView.DataSource = tabsDataTable; grdTabView.DataBind(); } } } }); }
protected void cmdCreateNewRule_Click(object sender, EventArgs e) { if (TabID > 0) { DataTable permissionDataTable = TabPermissionDataTable; DataTable permissionConditionDataTable = PermissionConditionDataTable; if (cmdCreateNewRule.Text == "Add New Permission Rule") { DataRow drPermission = permissionDataTable.NewRow(); // Adding the tab row id for reference drPermission[Constants.PermissionField.TabRowID] = TabID; drPermission[Constants.PermissionField.IsDefault] = false;// for time being drPermission[Constants.PermissionField.PermissionID] = Convert.ToInt32(cdoPermissionLevel.SelectedValue); drPermission[Constants.PermissionField.PermissionName] = Enums.DisplayString((Enums.PermissionLevel)Convert.ToInt32(cdoPermissionLevel.SelectedValue)); drPermission[Constants.PermissionField.SPPrinciples] = (string.IsNullOrEmpty(peSelectUsers.CommaSeparatedAccounts) ? Constants.AllSPPrinciples : peSelectUsers.CommaSeparatedAccounts); drPermission[Constants.PermissionField.SPPrinciplesOperatorID] = (string.IsNullOrEmpty(peSelectUsers.CommaSeparatedAccounts) ? 0 : Convert.ToInt32(cboSPPrinciplesOperator.SelectedValue)); drPermission[Constants.PermissionField.SPPrinciplesOperatorName] = (string.IsNullOrEmpty(peSelectUsers.CommaSeparatedAccounts) ? Enums.DisplayString((Enums.Operator) 0) : Enums.DisplayString((Enums.Operator)Convert.ToInt32(cboSPPrinciplesOperator.SelectedValue)) + ":"); // this is a critical method: keep it in synch with Permission.FormsToString() and Permission.FormsIdToString() string strForms = "", strFormsID = ""; foreach (ListItem li in chkPages.Items) { if (li.Selected) { strForms += Enums.DisplayString(((Enums.SPForms)Convert.ToInt32(li.Value))) + Constants.EnumValueSeparator; strFormsID += li.Value + Constants.EnumValueSeparator; } } strFormsID = strFormsID.TrimEnd(Constants.EnumValueSeparator.ToCharArray()); strForms = strForms.TrimEnd(Constants.EnumValueSeparator.ToCharArray()); drPermission[Constants.PermissionField.OnFormIDs] = strFormsID; drPermission[Constants.PermissionField.OnFormNames] = strForms; drPermission[Constants.PermissionField.HasCondition] = ""; permissionDataTable.Rows.Add(drPermission); } else if (cmdCreateNewRule.Text == "Update Permission Rule") { DataRow drSelectedPermission = Helper.GetRowFromDataTable(permissionDataTable, TabPermissionID); if (drSelectedPermission != null) { drSelectedPermission[Constants.PermissionField.IsDefault] = false;// for time being drSelectedPermission[Constants.PermissionField.PermissionID] = Convert.ToInt32(cdoPermissionLevel.SelectedValue); drSelectedPermission[Constants.PermissionField.PermissionName] = Enums.DisplayString((Enums.PermissionLevel)Convert.ToInt32(cdoPermissionLevel.SelectedValue)); drSelectedPermission[Constants.PermissionField.SPPrinciples] = (string.IsNullOrEmpty(peSelectUsers.CommaSeparatedAccounts) ? Constants.AllSPPrinciples: peSelectUsers.CommaSeparatedAccounts); drSelectedPermission[Constants.PermissionField.SPPrinciplesOperatorID] = (string.IsNullOrEmpty(peSelectUsers.CommaSeparatedAccounts) ? 0 : Convert.ToInt32(cboSPPrinciplesOperator.SelectedValue)); drSelectedPermission[Constants.PermissionField.SPPrinciplesOperatorName] = (string.IsNullOrEmpty(peSelectUsers.CommaSeparatedAccounts) ? Enums.DisplayString((Enums.Operator) 0) : Enums.DisplayString((Enums.Operator)Convert.ToInt32(cboSPPrinciplesOperator.SelectedValue)) + ":"); // this is a critical method: keep it in synch with Permission.FormsToString() and Permission.FormsIdToString() string strForms = "", strFormsID = ""; foreach (ListItem li in chkPages.Items) { if (li.Selected) { strForms += Enums.DisplayString(((Enums.SPForms)Convert.ToInt32(li.Value))) + Constants.EnumValueSeparator; strFormsID += li.Value + Constants.EnumValueSeparator; } } strFormsID = strFormsID.TrimEnd(Constants.EnumValueSeparator.ToCharArray()); strForms = strForms.TrimEnd(Constants.EnumValueSeparator.ToCharArray()); drSelectedPermission[Constants.PermissionField.OnFormIDs] = strFormsID; drSelectedPermission[Constants.PermissionField.OnFormNames] = strForms; drSelectedPermission[Constants.PermissionField.HasCondition] = Helper.ConditionsToString(permissionConditionDataTable, TabPermissionID, Constants.ConditionField.PermissionRowID); } cmdCreateNewRule.Text = "Add New Permission Rule"; lnkAddCondition.Enabled = false; } TabPermissionDataTable = permissionDataTable; gvPermission.DataSource = Helper.GetViewFromDataTable(permissionDataTable, TabID, Constants.PermissionField.TabRowID);; gvPermission.DataBind(); gvCondition.DataSource = null; gvCondition.DataBind(); } else { lblError.Text = "Please Select Tab to add permissions"; } clearPermissionFields(); }
protected void LoadFieldSettings() { SPSecurity.RunWithElevatedPrivileges(delegate { using (SPSite objSite = new SPSite(SPContext.Current.Web.Url)) { using (SPWeb objWeb = objSite.OpenWeb()) { SPList list = objWeb.Lists[new Guid(Request.QueryString["List"])]; FieldPermissions allFieldPermissions = FieldPermissions.LoadFieldPermissions(Helper.GetConfigFile(list, Constants.ConfigFile.FieldPermissionFile)); if (allFieldPermissions != null) { DataTable permissionDataTable = createPermissionDataTable(); DataTable permissionConditionDataTable = createConditionDataTable(); foreach (FieldPermission fp in allFieldPermissions) { if (!list.Fields.ContainsField(fp.OnField.SPName)) { continue; } DataRow drPermission = permissionDataTable.NewRow(); // Adding the tab row id for reference drPermission[Constants.PermissionField.SPFieldName] = fp.OnField.SPName; drPermission[Constants.PermissionField.SPFieldDisplayName] = list.Fields.GetFieldByInternalName(fp.OnField.SPName).Title; drPermission[Constants.PermissionField.PermissionID] = (int)fp.Level; drPermission[Constants.PermissionField.PermissionName] = Enums.DisplayString(fp.Level); drPermission[Constants.PermissionField.SPPrinciples] = fp.ForSPPrinciples; drPermission[Constants.PermissionField.SPPrinciplesOperatorID] = (int)fp.BySPPrinciplesOperator; drPermission[Constants.PermissionField.SPPrinciplesOperatorName] = Enums.DisplayString(fp.BySPPrinciplesOperator); drPermission[Constants.PermissionField.OnFormIDs] = fp.FormsIdToString(); drPermission[Constants.PermissionField.OnFormNames] = fp.FormsToString(); drPermission[Constants.PermissionField.HasCondition] = fp.Conditions.ConditionsToString(list); permissionDataTable.Rows.Add(drPermission); foreach (Condition permCondition in fp.Conditions) { if (!list.Fields.ContainsField(permCondition.OnField.SPName)) { continue; } DataRow drCondition = permissionConditionDataTable.NewRow(); drCondition[Constants.ConditionField.PermissionRowID] = drPermission[Constants.RowID]; drCondition[Constants.ConditionField.SPFieldName] = permCondition.OnField.SPName; drCondition[Constants.ConditionField.SPFieldDisplayName] = list.Fields.GetFieldByInternalName(permCondition.OnField.SPName).Title; drCondition[Constants.ConditionField.SPFieldOperatorID] = (int)permCondition.ByFieldOperator; drCondition[Constants.ConditionField.SPFieldOperatorName] = Enums.DisplayString(permCondition.ByFieldOperator); drCondition[Constants.ConditionField.Value] = permCondition.Value; permissionConditionDataTable.Rows.Add(drCondition); } PermissionConditionDataTable = permissionConditionDataTable; } TabPermissionDataTable = permissionDataTable; gvPermission.DataSource = permissionDataTable; gvPermission.DataBind(); } } } }); }
private void LoadValidationSettings() { SPSecurity.RunWithElevatedPrivileges(delegate { using (SPSite objSite = new SPSite(SPContext.Current.Web.Url)) { using (SPWeb objWeb = objSite.OpenWeb()) { SPList list = objWeb.Lists[new Guid(Request.QueryString["List"])]; FieldValidations allFieldsValidation = FieldValidations.LoadFieldValidations(Helper.GetConfigFile(list, Constants.ConfigFile.FieldValidationFile)); if (allFieldsValidation != null) { DataTable validationDataTable = createValidationDataTable(); DataTable valConditionDataTable = createConditionDataTable(); foreach (FieldValidation fieldValidation in allFieldsValidation) { if (!list.Fields.ContainsField(fieldValidation.OnField.SPName)) { continue; } DataRow drValidation = validationDataTable.NewRow(); drValidation[Constants.ValidationField.SPFieldName] = fieldValidation.OnField.SPName; drValidation[Constants.ValidationField.SPFieldDisplayName] = list.Fields.GetFieldByInternalName(fieldValidation.OnField.SPName).Title; drValidation[Constants.ValidationField.ValidationRuleID] = (int)fieldValidation.Rule; drValidation[Constants.ValidationField.ValidationRuleName] = Enums.DisplayString(fieldValidation.Rule); drValidation[Constants.ValidationField.SPFieldOperatorID] = (int)fieldValidation.ByRuleOperator; drValidation[Constants.ValidationField.SPFieldOperatorName] = Enums.DisplayString(fieldValidation.ByRuleOperator); drValidation[Constants.ValidationField.Value] = fieldValidation.Value; drValidation[Constants.ValidationField.SPPrinciplesOperatorID] = (int)fieldValidation.BySPPrinciplesOperator; drValidation[Constants.ValidationField.SPPrinciplesOperatorName] = Enums.DisplayString(fieldValidation.BySPPrinciplesOperator); drValidation[Constants.ValidationField.ErrorMessage] = fieldValidation.ErrorMsg; drValidation[Constants.ValidationField.SPPrinciples] = fieldValidation.ForSPPrinciples; drValidation[Constants.ValidationField.HasCondition] = fieldValidation.Conditions.Count > 0 ? fieldValidation.Conditions.ConditionsToString(list) : ""; validationDataTable.Rows.Add(drValidation); foreach (Condition permCondition in fieldValidation.Conditions) { if (!list.Fields.ContainsField(permCondition.OnField.SPName)) { continue; } DataRow drCondition = valConditionDataTable.NewRow(); drCondition[Constants.ConditionField.ValidationRowID] = drValidation[Constants.RowID]; drCondition[Constants.ConditionField.SPFieldName] = permCondition.OnField.SPName; drCondition[Constants.ConditionField.SPFieldDisplayName] = list.Fields.GetFieldByInternalName(permCondition.OnField.SPName).Title; drCondition[Constants.ConditionField.SPFieldOperatorID] = (int)permCondition.ByFieldOperator; drCondition[Constants.ConditionField.SPFieldOperatorName] = Enums.DisplayString(permCondition.ByFieldOperator); drCondition[Constants.ConditionField.Value] = permCondition.Value; valConditionDataTable.Rows.Add(drCondition); } ValidationConditionDataTable = valConditionDataTable; } ValidationDataTable = validationDataTable; gvResult.DataSource = validationDataTable; gvResult.DataBind(); } } } }); }