/// <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; }