Beispiel #1
0
        private AnswerTypeData CreateXmlTypeFromForm()
        {
            AnswerTypeData answerTypeData = null;

            if (XmlFileNameTextbox.Text.Length == 0)
            {
                MessageLabel.Visible = true;
                ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("MissingXmlDataSourceMessage"));
            }
            else
            {
                answerTypeData = new AnswerTypeData();
                AnswerTypeData.AnswerTypesRow newAnswerType = answerTypeData.AnswerTypes.NewAnswerTypesRow();
                newAnswerType.Description = TitleTextBox.Text;
                newAnswerType.TypeMode    = (int)AnswerTypeMode.DataSource;
                newAnswerType.TypeMode   += (int)AnswerTypeMode.Publisher;
                newAnswerType.TypeMode   += (int)AnswerTypeMode.Mandatory;

                newAnswerType.XmlDataSource = XmlFileNameTextbox.Text;
                newAnswerType.TypeAssembly  = "Votations.NSurvey.WebControls";
                newAnswerType.TypeNameSpace = "Votations.NSurvey.WebControls.UI.AnswerXmlListItem";

                answerTypeData.AnswerTypes.AddAnswerTypesRow(newAnswerType);
            }

            return(answerTypeData);
        }
Beispiel #2
0
        private AnswerTypeData CreateTypeFromForm()
        {
            int            TypeMode       = 0;
            AnswerTypeData answerTypeData = new AnswerTypeData();

            AnswerTypeData.AnswerTypesRow newAnswerType = answerTypeData.AnswerTypes.NewAnswerTypesRow();

            newAnswerType.Description = TitleTextBox.Text;
            if (SelectionTypeCheckBox.Checked)
            {
                TypeMode += (int)AnswerTypeMode.Selection;
                newAnswerType.TypeAssembly  = "Votations.NSurvey.WebControls";
                newAnswerType.TypeNameSpace = "Votations.NSurvey.WebControls.UI.AnswerSelectionItem";
            }

            if (FieldTypeCheckBox.Checked)
            {
                if (!ValidateFieldOptions())
                {
                    return(null);
                }

                TypeMode += (int)AnswerTypeMode.Field;
                TypeMode += (int)AnswerTypeMode.Publisher;
                TypeMode += (int)AnswerTypeMode.RegExValidator;
                TypeMode += (int)AnswerTypeMode.Mandatory;
                if (SelectionTypeCheckBox.Checked)
                {
                    newAnswerType.TypeAssembly  = "Votations.NSurvey.WebControls";
                    newAnswerType.TypeNameSpace = "Votations.NSurvey.WebControls.UI.AnswerOtherFieldItem";
                }
                else if (RichFieldCheckBox.Checked)
                {
                    TypeMode += (int)AnswerTypeMode.ExtendedType;
                    newAnswerType.TypeAssembly  = "Votations.NSurvey.WebControls";
                    newAnswerType.TypeNameSpace = "Votations.NSurvey.WebControls.ThirdPartyItems.FreeTextBoxAnswerItem";
                }
                else
                {
                    newAnswerType.TypeAssembly  = "Votations.NSurvey.WebControls";
                    newAnswerType.TypeNameSpace = "Votations.NSurvey.WebControls.UI.AnswerFieldItem";
                }
            }

            newAnswerType.TypeMode               = TypeMode;
            newAnswerType.FieldHeight            = int.Parse(FieldHeightTextBox.Text);
            newAnswerType.FieldWidth             = int.Parse(FieldWidthTextBox.Text);
            newAnswerType.FieldLength            = int.Parse(FieldMaxLengthTextBox.Text);
            newAnswerType.PublicFieldResults     = FieldShownInResultsCheckBox.Checked;
            newAnswerType.JavascriptFunctionName = JavascriptFunctionNameTextBox.Text;
            newAnswerType.JavascriptErrorMessage = JavascriptErrorMessageTextBox.Text;
            newAnswerType.JavascriptCode         = JavascriptTextBox.Text;
            answerTypeData.AnswerTypes.AddAnswerTypesRow(newAnswerType);
            return(answerTypeData);
        }
Beispiel #3
0
        private AnswerTypeData CreateSqlTypeFromForm()
        {
            AnswerTypeData answerTypeData = null;

            if (SqlQueryTextbox.Text.Length == 0)
            {
                MessageLabel.Visible = true;
                ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("MissingQueryDataSourceMessage"));
            }
            else if (SqlQueryTextbox.Text.IndexOf("update") > -1 ||
                     SqlQueryTextbox.Text.IndexOf("delete") > -1 || SqlQueryTextbox.Text.IndexOf("create") > -1 ||
                     SqlQueryTextbox.Text.IndexOf("truncate") > -1 || SqlQueryTextbox.Text.IndexOf("fetch") > -1 ||
                     SqlQueryTextbox.Text.IndexOf("grant") > -1 || SqlQueryTextbox.Text.IndexOf("insert") > -1 ||
                     SqlQueryTextbox.Text.IndexOf("revoke") > -1 || SqlQueryTextbox.Text.IndexOf("open") > -1 ||
                     SqlQueryTextbox.Text.IndexOf("alter") > -1)
            {
                MessageLabel.Visible = true;
                ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("OnlySelectQueryAllowedMessage"));
            }
            else
            {
                answerTypeData = new AnswerTypeData();
                AnswerTypeData.AnswerTypesRow newAnswerType = answerTypeData.AnswerTypes.NewAnswerTypesRow();
                newAnswerType.Description = TitleTextBox.Text;
                newAnswerType.TypeMode    = (int)AnswerTypeMode.DataSource;
                newAnswerType.TypeMode   += (int)AnswerTypeMode.Publisher;
                newAnswerType.TypeMode   += (int)AnswerTypeMode.Mandatory;
                SqlQueryTextbox.Text.Replace("delete ", "");
                SqlQueryTextbox.Text.Replace("update ", "");
                SqlQueryTextbox.Text.Replace("truncate ", "");

                newAnswerType.DataSource    = SqlQueryTextbox.Text;
                newAnswerType.TypeAssembly  = "Votations.NSurvey.WebControls";
                newAnswerType.TypeNameSpace = "Votations.NSurvey.WebControls.UI.AnswerSqlListItem";

                answerTypeData.AnswerTypes.AddAnswerTypesRow(newAnswerType);
            }

            return(answerTypeData);
        }
Beispiel #4
0
        /// <summary>
        /// Get the current DB data and fill
        /// the fields with them
        /// </summary>
        public void BindFields()
        {
            // Retrieve the answer type data
            AnswerTypeData answerTypeData = new AnswerTypes().GetAnswerTypeById(AnswerTypeId);

            AnswerTypeData.AnswerTypesRow answerType = answerTypeData.AnswerTypes[0];

            if (answerType.BuiltIn)
            {
                DeleteTypeButton.Attributes.Add("onClick",
                                                "javascript:if(confirm('" + ((PageBase)Page).GetPageResource("DeleteBuiltInTypeConfirmationMessage") + "')== false) return false;");
                ApplyChangesButton.Attributes.Add("onClick",
                                                  "javascript:if(confirm('" + ((PageBase)Page).GetPageResource("ApplyBuiltInChangesConfirmationMessage") + "')== false) return false;");
            }
            else
            {
                DeleteTypeButton.Attributes.Remove("onClick");
                ApplyChangesButton.Attributes.Remove("onClick");
                MakeBuiltInButton.Attributes.Add("onClick",
                                                 "javascript:if(confirm('" + ((PageBase)Page).GetPageResource("MakeBuiltInConfirmationMessage") + "')== false) return false;");
            }


            // Assigns the retrieved data to the correct fields
            TitleTextBox.Text = answerType.Description;
            if (answerType.XmlDataSource !=
                null && answerType.XmlDataSource.Length != 0)
            {
                XmlFileNameTextbox.Text = answerType.XmlDataSource;
                DataSourceDropDownList.SelectedValue = "2";
            }
            else if (answerType.DataSource !=
                     null && answerType.DataSource.Length != 0)
            {
                SqlQueryTextbox.Text = answerType.DataSource;
                DataSourceDropDownList.SelectedValue = "3";
            }
            else
            {
                DataSourceDropDownList.SelectedValue = "1";
                SelectionTypeCheckBox.Checked        =
                    (((AnswerTypeMode)answerType.TypeMode & AnswerTypeMode.Selection) > 0);
                FieldTypeCheckBox.Checked =
                    (((AnswerTypeMode)answerType.TypeMode & AnswerTypeMode.Field) > 0);

                FieldShownInResultsCheckBox.Checked = answerType.PublicFieldResults;
                FieldHeightTextBox.Text             = answerType.FieldHeight.ToString();
                FieldWidthTextBox.Text             = answerType.FieldWidth.ToString();
                FieldMaxLengthTextBox.Text         = answerType.FieldLength.ToString();
                JavascriptFunctionNameTextBox.Text = answerType.JavascriptFunctionName;
                JavascriptTextBox.Text             = answerType.JavascriptCode;
                JavascriptErrorMessageTextBox.Text = answerType.JavascriptErrorMessage;

                RichFieldLabel.Visible    = !SelectionTypeCheckBox.Checked;
                RichFieldCheckBox.Visible = !SelectionTypeCheckBox.Checked;
                if (SelectionTypeCheckBox.Checked)
                {
                    RichFieldCheckBox.Checked = false;
                }
                else
                {
                    RichFieldCheckBox.Checked =
                        answerType.TypeNameSpace == "Votations.NSurvey.WebControls.ThirdPartyItems.FreeTextBoxAnswerItem";
                }
            }

            if ((answerType.BuiltIn && !((PageBase)Page).NSurveyUser.Identity.IsAdmin) ||
                (DataSourceDropDownList.SelectedValue == "3" &&
                 (!GlobalConfig.SqlBasedAnswerTypesAllowed ||
                  !((PageBase)Page).CheckRight(NSurveyRights.SqlAnswerTypesEdition, false))))
            {
                ApplyChangesButton.Visible = false;
                DeleteTypeButton.Visible   = false;
                MakeBuiltInButton.Visible  = false;
                if (DataSourceDropDownList.SelectedValue == "3" &&
                    !((PageBase)Page).CheckRight(NSurveyRights.SqlAnswerTypesEdition, false))
                {
                    DataSourceDropDownList.Enabled = false;
                }
                else
                {
                    DataSourceDropDownList.Enabled = true;
                }
            }
            else if (answerType.BuiltIn && ((PageBase)Page).NSurveyUser.Identity.IsAdmin)
            {
                ApplyChangesButton.Visible     = true;
                DeleteTypeButton.Visible       = true;
                MakeBuiltInButton.Visible      = false;
                DataSourceDropDownList.Enabled = true;
            }
            else
            {
                ApplyChangesButton.Visible     = true;
                DeleteTypeButton.Visible       = true;
                MakeBuiltInButton.Visible      = ((PageBase)Page).NSurveyUser.Identity.IsAdmin;
                DataSourceDropDownList.Enabled = true;
            }

            InitUserInterface();
        }