예제 #1
0
        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void Page_Load(object sender, EventArgs e)
        {
            // Put user code to initialize the page here
            if (Page.IsPostBack)
            {
                return;
            }

            try
            {
                IList <string> segments = Request.GetFriendlyUrlSegments();
                ProjectId = Int32.Parse(segments[0]);
            }
            catch
            {
                ProjectId = Request.QueryString.Get("pid", 0);
            }

            // BGN-1379
            if (ProjectId.Equals(0))
            {
                ErrorRedirector.TransferToNotFoundPage(Page);
            }

            BindProjectSummary();

            // SiteMap.SiteMapResolve += ExpandPaths;
        }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Literal1.Text = GetLocalResourceObject("Page.Title").ToString();

            if (!IsPostBack)
            {
                ProjectId   = Request.Get("pid", Globals.NEW_ID);
                MilestoneId = Request.Get("m", Globals.NEW_ID);

                // If don't know project or issue then redirect to something missing page
                if (ProjectId == 0 || MilestoneId == 0)
                {
                    ErrorRedirector.TransferToSomethingMissingPage(Page);
                    return;
                }

                var p = ProjectManager.GetById(ProjectId);

                if (p == null || p.Disabled)
                {
                    ErrorRedirector.TransferToSomethingMissingPage(Page);
                    return;
                }

                litMilestone.Text = MilestoneManager.GetById(MilestoneId).Name;
                litProject.Text   = ProjectManager.GetById(ProjectId).Name;
            }

            rptReleaseNotes.DataSource = IssueTypeManager.GetByProjectId(ProjectId);
            rptReleaseNotes.DataBind();

            Output.Text  = string.Format("<h1>{2} - {0} - {1}</h1>", litProject.Text, litMilestone.Text, GetLocalResourceObject("Page.Title"));
            Output.Text += RenderControl(rptReleaseNotes);
        }
예제 #3
0
        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!User.Identity.IsAuthenticated)
            {
                ErrorRedirector.TransferToLoginPage(this);
            }

            if (Page.IsPostBack)
            {
                return;
            }

            ctlDisplayIssues.PageSize         = UserManager.GetProfilePageSize();
            ctlDisplayIssues.CurrentPageIndex = 0;

            DisplayNameLabel.Text = string.Format(GetLocalResourceObject("MyIssuesPage_Title.Text").ToString(),
                                                  Security.GetDisplayName());

            ProjectListBoxFilter.DataSource     = ProjectManager.GetByMemberUserName(Context.User.Identity.Name);
            ProjectListBoxFilter.DataTextField  = "Name";
            ProjectListBoxFilter.DataValueField = "Id";
            ProjectListBoxFilter.DataBind();
            ProjectListBoxFilter.Items.Insert(0, new ListItem(GetLocalResourceObject("ProjectListBoxFilter_SelectAll.Text").ToString(), "0"));
            ProjectListBoxFilter.SelectedIndex = 0;

            BindMembers();

            ExcludeClosedIssuesFilter.Enabled = ViewIssuesDropDownFilter.SelectedValue != "Closed";
            BindIssues();
        }
예제 #4
0
        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                try
                {
                    IList <string> segments = Request.GetFriendlyUrlSegments();
                    ProjectId = Int32.Parse(segments[0]);
                }
                catch
                {
                    ProjectId = Request.QueryString.Get("pid", 0);
                }

                // If don't know project or issue then redirect to something missing page
                if (ProjectId == 0)
                {
                    ErrorRedirector.TransferToSomethingMissingPage(Page);
                }

                CurrentProject      = ProjectManager.GetById(ProjectId);
                litProject.Text     = CurrentProject.Name;
                litProjectCode.Text = CurrentProject.Code;

                if (CurrentProject == null)
                {
                    ErrorRedirector.TransferToNotFoundPage(Page);
                    return;
                }

                //security check: add issue
                if (!UserManager.HasPermission(ProjectId, Common.Permission.AddIssue.ToString()))
                {
                    ErrorRedirector.TransferToLoginPage(Page);
                }

                BindOptions();
                BindDefaultValues();

                //check users role permission for adding an attachment
                if (!Page.User.Identity.IsAuthenticated || !UserManager.HasPermission(ProjectId, Common.Permission.AddAttachment.ToString()))
                {
                    pnlAddAttachment.Visible = false;
                }
                else if (HostSettingManager.Get(HostSettingNames.AllowAttachments, false) && CurrentProject.AllowAttachments)
                {
                    pnlAddAttachment.Visible = true;
                }
            }

            //need to rebind these on every postback because of dynamic controls
            ctlCustomFields.DataSource = CustomFieldManager.GetByProjectId(ProjectId);
            ctlCustomFields.DataBind();

            // The ExpandIssuePaths method is called to handle
            // the SiteMapResolve event.
            SiteMap.SiteMapResolve += ExpandIssuePaths;
        }
예제 #5
0
        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                try
                {
                    IList <string> segments = Request.GetFriendlyUrlSegments();
                    ProjectId = Int32.Parse(segments[0]);
                }
                catch
                {
                    ProjectId = Request.QueryString.Get("pid", 0);
                }

                // If don't know project or issue then redirect to something missing page
                if (ProjectId == 0)
                {
                    ErrorRedirector.TransferToSomethingMissingPage(Page);
                    return;
                }

                var p = ProjectManager.GetById(ProjectId);

                if (p == null || p.Disabled)
                {
                    ErrorRedirector.TransferToSomethingMissingPage(Page);
                    return;
                }

                ltProject.Text      = p.Name;
                litProjectCode.Text = p.Code;

                PreviousMilestones.ForeColor = Color.Black;
                PreviousMilestones.Enabled   = false;
                Linkbutton5.ForeColor        = ColorTranslator.FromHtml("#00489E");
                Linkbutton5.Enabled          = true;

                Linkbutton7.ForeColor = Color.Black;
                Linkbutton7.Enabled   = false;
                Linkbutton9.ForeColor = ColorTranslator.FromHtml("#00489E");
                Linkbutton9.Enabled   = true;

                ViewMode = 1;
                SortMilestonesAscending = false;
                SortHeader    = "Id";
                SortAscending = false;
                SortField     = "iv.[IssueId]";

                BindChangeLog();
            }

            // The ExpandIssuePaths method is called to handle
            // the SiteMapResolve event.
            // SiteMap.SiteMapResolve += ExpandProjectPaths;
        }
예제 #6
0
        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!UserManager.IsSuperUser())
            {
                ErrorRedirector.TransferToLoginPage(this);
            }

            if (Page.IsPostBack)
            {
                return;
            }

            SortField = "Date";
            BindData();
        }
예제 #7
0
        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                try
                {
                    IList <string> segments = Request.GetFriendlyUrlSegments();
                    ProjectId = Int32.Parse(segments[0]);
                }
                catch
                {
                    ProjectId = Request.QueryString.Get("pid", 0);
                }

                // If don't know project or issue then redirect to something missing page
                if (ProjectId == 0)
                {
                    ErrorRedirector.TransferToSomethingMissingPage(Page);
                    return;
                }

                var p = ProjectManager.GetById(ProjectId);

                if (p == null || p.Disabled)
                {
                    ErrorRedirector.TransferToSomethingMissingPage(Page);
                    return;
                }

                SortHeader    = "Id";
                SortAscending = false;
                SortField     = "iv.[IssueId]";

                ltProject.Text      = p.Name;
                litProjectCode.Text = p.Code;

                Page.Title = string.Format("{0} ({1}) - {2}", p.Name, p.Code, GetLocalResourceObject("Roadmap").ToString());


                BindRoadmap();
            }



            // The ExpandIssuePaths method is called to handle
            // the SiteMapResolve event.
            SiteMap.SiteMapResolve += ExpandProjectPaths;
        }
예제 #8
0
        /// <summary>
        /// Builds the user interface for selecting query fields.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void Page_Load(object sender, EventArgs e)
        {
            Message1.Visible = false;

            _queryId  = Request.Get("id", Globals.NEW_ID);
            ProjectId = Request.Get("pid", Globals.NEW_ID);

            // If no project id or query id then redirect away
            if (ProjectId == 0)
            {
                ErrorRedirector.TransferToSomethingMissingPage(Page);
            }

            if (!Page.User.Identity.IsAuthenticated || (_queryId != 0 && !UserManager.HasPermission(ProjectId, Common.Permission.EditQuery.ToString())))
            {
                Response.Redirect("~/Errors/AccessDenied");
            }

            if (!Page.User.Identity.IsAuthenticated || !UserManager.HasPermission(ProjectId, Common.Permission.AddQuery.ToString()))
            {
                SaveQueryForm.Visible = false;
                pnlSaveQuery.Visible  = false;
            }

            DisplayClauses();

            if (!Page.IsPostBack)
            {
                lblProjectName.Text = ProjectManager.GetById(ProjectId).Name;

                Results.Visible = false;

                if (_queryId != 0)
                {
                    //edit query.
                    plhClauses.Controls.Clear();
                    var query = QueryManager.GetById(_queryId);
                    txtQueryName.Text      = query.Name;
                    chkGlobalQuery.Checked = query.IsPublic;
                    //ClauseCount = 0;

                    foreach (var qc in query.Clauses)
                    {
                        ClauseCount++;
                        AddClause(true, qc);
                    }
                }
                else
                {
                    ClauseCount = 3;
                    DisplayClauses();
                }


                BindQueryFieldTypes();
            }

            // The ExpandIssuePaths method is called to handle
            // the SiteMapResolve event.
            SiteMap.SiteMapResolve += ExpandIssuePaths;
        }
예제 #9
0
        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack)
            {
                return;
            }

            ctlDisplayIssues.PageSize         = UserManager.GetProfilePageSize();
            ctlDisplayIssues.CurrentPageIndex = 0;

            ProjectId = Request.Get("pid", -1);

            // BGN-1379
            if (ProjectId.Equals(-1))
            {
                ErrorRedirector.TransferToNotFoundPage(Page);
            }

            if (!User.Identity.IsAuthenticated)
            {
                dropView.Items.Remove(dropView.Items.FindByValue("Relevant"));
                dropView.Items.Remove(dropView.Items.FindByValue("Assigned"));
                dropView.Items.Remove(dropView.Items.FindByValue("Owned"));
                dropView.Items.Remove(dropView.Items.FindByValue("Created"));
                dropView.SelectedIndex = 1;
            }

            var state = (IssueListState)Session[ISSUELISTSTATE];

            if (state != null)
            {
                if (Request.QueryString.Count == 1 && state.ViewIssues == string.Empty)
                {
                    state.ViewIssues = "Open";
                }

                if ((ProjectId > 0) && (ProjectId != state.ProjectId))
                {
                    Session.Remove(ISSUELISTSTATE);
                }
                else
                {
                    if (Request.QueryString.Count > 1)
                    {
                        state.ViewIssues = string.Empty;
                    }

                    dropView.SelectedValue = state.ViewIssues;
                    ProjectId = state.ProjectId;
                    ctlDisplayIssues.CurrentPageIndex = state.IssueListPageIndex;
                    ctlDisplayIssues.SortField        = state.SortField;
                    ctlDisplayIssues.SortAscending    = state.SortAscending;
                    ctlDisplayIssues.PageSize         = state.PageSize;
                }
            }
            else
            {
                if (Request.QueryString.Count > 1)
                {
                    dropView.SelectedValue = string.Empty;
                }
            }

            BindIssues();
        }
예제 #10
0
        /// <summary>
        /// Page Load Event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                var s = GetLocalResourceObject("DeleteIssueQuestion").ToString().Trim().JsEncode();
                lnkDelete.Attributes.Add("onclick", string.Format("return confirm('{0}');", s));

                IssueId = Request.QueryString.Get("id", 0);

                // If don't know issue id then redirect to something missing page
                if (IssueId == 0)
                {
                    ErrorRedirector.TransferToSomethingMissingPage(Page);
                }

                //set up global properties
                _currentIssue = IssueManager.GetById(IssueId);

                if (_currentIssue == null || _currentIssue.Disabled)
                {
                    ErrorRedirector.TransferToNotFoundPage(Page);
                    return;
                }

                //private issue check
                var issueVisible = IssueManager.CanViewIssue(_currentIssue, Security.GetUserName());

                //private issue check
                if (!issueVisible)
                {
                    ErrorRedirector.TransferToLoginPage(Page);
                }

                _currentProject = ProjectManager.GetById(_currentIssue.ProjectId);

                if (_currentProject == null)
                {
                    ErrorRedirector.TransferToNotFoundPage(Page);
                    return;
                }

                ProjectId = _currentProject.Id;

                if (_currentProject.AccessType == ProjectAccessType.Private && !User.Identity.IsAuthenticated)
                {
                    ErrorRedirector.TransferToLoginPage(Page);
                }
                else if (User.Identity.IsAuthenticated && _currentProject.AccessType == ProjectAccessType.Private &&
                         !ProjectManager.IsUserProjectMember(User.Identity.Name, ProjectId))
                {
                    ErrorRedirector.TransferToLoginPage(Page);
                }

                BindValues(_currentIssue);

                // Page.Title = string.Concat(_currentIssue.FullId, ": ", Server.HtmlDecode(_currentIssue.Title));
                lblIssueNumber.Text  = string.Format("{0}-{1}", _currentProject.Code, IssueId);
                ctlIssueTabs.Visible = true;

                SetFieldSecurity();

                if (!_currentProject.AllowIssueVoting)
                {
                    VoteBox.Visible = false;
                }

                //set the referrer url
                if (Request.UrlReferrer != null)
                {
                    if (Request.UrlReferrer.ToString() != Request.Url.ToString())
                    {
                        Session["ReferrerUrl"] = Request.UrlReferrer.ToString();
                    }
                }
                else
                {
                    Session["ReferrerUrl"] = string.Format("~/Issues/IssueList.aspx?pid={0}", ProjectId);
                }
            }

            Page.Title = string.Concat(lblIssueNumber.Text, ": ", Server.HtmlDecode(TitleTextBox.Text));

            //need to rebind these on every postback because of dynamic controls
            ctlCustomFields.DataSource = CustomFieldManager.GetByIssueId(IssueId);
            ctlCustomFields.DataBind();

            // The ExpandIssuePaths method is called to handle
            // the SiteMapResolve event.
            SiteMap.SiteMapResolve += ExpandIssuePaths;

            ctlIssueTabs.IssueId   = IssueId;
            ctlIssueTabs.ProjectId = ProjectId;
        }
예제 #11
0
        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                IList <string> segments = Request.GetFriendlyUrlSegments();
                ProjectId = Int32.Parse(segments[0]);
            }
            catch
            {
                ProjectId = Request.QueryString.Get("pid", 0);
            }


            if (Page.IsPostBack)
            {
                return;
            }

            // If don't know project or issue then redirect to something missing page
            if (ProjectId == 0)
            {
                ErrorRedirector.TransferToSomethingMissingPage(Page);
            }

            ConfirmDeleteText.Value = GetLocalResourceObject("ConfirmDelete").ToString().JsEncode();
            Project p = ProjectManager.GetById(ProjectId);

            if (p != null)
            {
                ltProject.Text      = p.Name;
                litProjectCode.Text = p.Code;
            }
            btnDeleteQuery.OnClientClick = "return confirmDelete();";
            lbDeleteQuery.OnClientClick  = "return confirmDelete();";

            ctlDisplayIssues.PageSize         = UserManager.GetProfilePageSize();
            ctlDisplayIssues.CurrentPageIndex = 0;
            Results.Visible = false;

            var state = (QueryListState)Session[QUERY_LIST_STATE];

            BindQueries();

            if (state == null)
            {
                return;
            }

            if ((ProjectId > 0) && (ProjectId != state.ProjectId))
            {
                Session.Remove(QUERY_LIST_STATE);
            }
            else
            {
                if (state.QueryId != 0)
                {
                    dropQueries.SelectedValue = state.QueryId;
                }
                ProjectId = state.ProjectId;
                ctlDisplayIssues.CurrentPageIndex = state.IssueListPageIndex;
                ctlDisplayIssues.SortField        = state.SortField;
                ctlDisplayIssues.SortAscending    = state.SortAscending;
                ctlDisplayIssues.PageSize         = state.PageSize;
            }

            ExecuteQuery();
        }