public void InitPage(ProjectFat projectFat) { if (RequestContext.GetCurrentProject(false) != null) { Master.BreadCrumbs.Add(new BreadCrumb(ProjectResource.Projects, "projects.aspx")); if (projectFat != null) { Master.BreadCrumbs.Add(new BreadCrumb(projectFat.Project.HtmlTitle, "projects.aspx?prjID=" + projectFat.Project.ID)); } } if (TaskID > 0) { Master.BreadCrumbs.Add(new BreadCrumb(ProjectsCommonResource.TimeTracking, "timetracking.aspx?prjID=" + projectFat.Project.ID)); Master.BreadCrumbs.Add(new BreadCrumb(Global.EngineFactory.GetTaskEngine().GetByID(TaskID).Title)); } else { Master.BreadCrumbs.Add(new BreadCrumb(ProjectsCommonResource.TimeTracking)); } Title = HeaderStringHelper.GetPageTitle(ProjectsCommonResource.TimeTracking, Master.BreadCrumbs); }
protected string GetGrammaticalHelperParticipantCount() { var count = ProjectFat.GetActiveTeam().Count; return(count == 0 ? string.Empty : count + " " + GrammaticalHelper.ChooseNumeralCase(count, GrammaticalResource.ParticipantNominative, GrammaticalResource.ParticipantGenitiveSingular, GrammaticalResource.ParticipantGenitivePlural)); }
protected void Page_Load(object sender, EventArgs e) { if (Page.Participant.IsVisitor) { Response.Redirect(PathProvider.BaseVirtualPath, true); } IsProjectCreatedFromCrm = (Request.Params["opportunityID"] != null || Request.Params["contactID"] != null); Bootstrap(); LoadProjectManagerSelector(); Page.RegisterBodyScripts(PathProvider.GetFileStaticRelativePath("projectaction.js")); if (Project != null) { RenderScript(); ProjectFat = new ProjectFat(Project); return; } Page.Master.RegisterCRMResources(); LoadProjectTeamSelector(); }
protected override void PageLoad() { Bootstrap(); LoadProjectManagerSelector(); SetSecurityEnable(); if (Project != null) { ProjectFat = new ProjectFat(Project); return; } LoadProjectTeamSelector(); }
protected override void PageLoad() { RequestContext.EnsureCurrentProduct(); ((IStudioMaster)Master).DisabledSidePanel = true; _hintPopup.Options.IsPopup = true; ProjectFat = RequestContext.GetCurrentProjectFat(); Title = string.Format("{0} - {1}", ProjectFat.Project.Title, ProjectResource.Projects); if (string.Compare(UrlParameters.ActionType, "edit", StringComparison.OrdinalIgnoreCase) == 0) { Server.Transfer("projectAction.aspx", true); } var projectManager = new EmployeeUserCard { EmployeeInfo = ProjectFat.Responsible, EmployeeUrl = ProjectFat.Responsible.GetUserProfilePageURL(), EmployeeDepartmentUrl = CommonLinkUtility.GetUserDepartment(ProjectFat.Responsible.ID) }; projectManagerPlaceHolder.Controls.Add(projectManager); var teamManagenent = (Studio.UserControls.Users.UserSelector)LoadControl(Studio.UserControls.Users.UserSelector.Location); teamManagenent.BehaviorID = "UserSelector"; teamManagenent.DisabledUsers.Add(new Guid()); teamManagenent.Title = ProjectResource.ManagmentTeam; teamManagenent.SelectedUserListTitle = ProjectResource.Team; teamManagenent.SelectedUsers = ProjectEngine.GetTeam(ProjectId).Select(participant => participant.ID).ToList(); teamManagementPlaceHolder.Controls.Add(teamManagenent); milestones = ProjectFat.GetMilestones(); tasks = ProjectFat.GetTasks(); }
protected override void PageLoad() { ((IStudioMaster)Master).DisabledSidePanel = true; if (!Global.ModuleManager.IsVisible(ModuleType.TimeTracking)) { Response.Redirect(ProjectsCommonResource.StartURL); } var project = RequestContext.GetCurrentProject(false); if (RequestContext.IsInConcreteProject() && project == null) { Response.Redirect("default.aspx", true); } ProjectFat = new ProjectFat(project); if (!IsTimer) { if (TaskID <= 0) { var advansedFilter = new Studio.Controls.Common.AdvansedFilter { BlockID = "AdvansedFilter" }; _filter.Controls.Add(advansedFilter); var emptyScreenControlFilter = new Studio.Controls.Common.EmptyScreenControl { ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty-filter.png", ProductEntryPoint.ID), Header = TimeTrackingResource.NoTimersFilter, Describe = TimeTrackingResource.DescrEmptyListTimersFilter, ButtonHTML = String.Format("<span class='baseLinkAction clearFilterButton'>{0}</span>", ProjectsFilterResource.ClearFilter) }; emptyScreenFilter.Controls.Add(emptyScreenControlFilter); } InitPage(ProjectFat); var emptyScreenControl = new Studio.Controls.Common.EmptyScreenControl { ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_time_tracking.png", ProductEntryPoint.ID), Header = TimeTrackingResource.NoTtimers, Describe = String.Format(TimeTrackingResource.NoTimersNote) }; if (CanCreateTime()) { emptyScreenControl.ButtonHTML = String.Format("<span class='baseLinkAction addFirstElement'>{0}</span>", TimeTrackingResource.StartTimer); } emptyScreen.Controls.Add(emptyScreenControl); var apiServer = new Api.ApiServer(); if (TaskID > 0) { var timesForFirstRequest = apiServer.GetApiResponse(String.Format("api/1.0/project/task/{0}/time.json", TaskID), "GET"); JsonPublisher(timesForFirstRequest, "timesForFirstRequest"); } if (RequestContext.IsInConcreteProject()) { var projectTeam = apiServer.GetApiResponse(string.Format("api/1.0/project/{0}/team.json?fields={1}", RequestContext.GetCurrentProjectId(), "id,displayName"), "GET"); JsonPublisher(projectTeam, "projectTeam"); } TotalTime = TaskID > 0 ? Global.EngineFactory.GetTimeTrackingEngine().GetByTask(TaskID).Sum(r => r.Hours) : Global.EngineFactory.GetTimeTrackingEngine().GetByProject(ProjectFat.Project.ID).Sum(r => r.Hours); } else { var taskId = TaskID; if (taskId > 0) { var t = Global.EngineFactory.GetTaskEngine().GetByID(taskId); if (t == null || t.Status == TaskStatus.Closed) { taskId = -1; } } Master.DisabledSidePanel = true; var cntrlTimer = (TimeSpendActionTimer)LoadControl(PathProvider.GetControlVirtualPath("TimeSpendActionTimer.ascx")); if (ProjectFat != null) { cntrlTimer.Project = ProjectFat.Project; } cntrlTimer.Target = taskId; _phTimeSpendTimer.Controls.Add(cntrlTimer); Title = HeaderStringHelper.GetPageTitle(ProjectsCommonResource.AutoTimer, Master.BreadCrumbs); } }
public bool CanCreateTime() { return(ProjectFat.GetTasks().Count(t => t.Status == TaskStatus.Open) > 0 && ProjectSecurity.CanCreateTimeSpend(ProjectFat.Project)); }