private void RenderControls() { if (!RequestContext.HasAnyProjects()) { var button = ""; if (ProjectSecurity.CanCreateProject()) { _content.Controls.Add(LoadControl(PathProvider.GetControlVirtualPath("DashboardEmptyScreen.ascx"))); button = string.Format("<a href='projects.aspx?action=add' class='projectsEmpty baseLinkAction addFirstElement'>{0}<a>", ProjectResource.CreateFirstProject); } _content.Controls.Add(new EmptyScreenControl { Header = ProjectResource.EmptyListProjHeader, ImgSrc = WebImageSupplier.GetAbsoluteWebPath("projects_logo.png", ProductEntryPoint.ID), Describe = ProjectResource.EmptyListProjDescribe, ButtonHTML = button }); } else { _listProjects.Controls.Add(LoadControl(PathProvider.GetControlVirtualPath("ProjectsList.ascx"))); _listProjects.Controls.Add(Masters.BasicTemplate.RenderEmptyScreenForFilter(ProjectsCommonResource.Filter_NoProjects, ProjectResource.DescrEmptyListProjFilter)); Page.RegisterInlineScript(@" if (!jq.getURLParam('action') && location.href.indexOf('projects.aspx') > 0) { ASC.Projects.AllProject.init(false, " + EntryCountOnPage + ",'" + CookieKeyForPagination + "', " + Global.VisiblePageCount + ");}", true); } }
protected override string GetCacheHash() { return(SecurityContext.CurrentAccount.ID.ToString() + CoreContext.UserManager.GetMaxUsersLastModified().Ticks.ToString(CultureInfo.InvariantCulture) + CoreContext.UserManager.GetMaxGroupsLastModified().Ticks.ToString(CultureInfo.InvariantCulture) + ProjectSecurity.CanCreateProject() + ProjectsCommonSettings.LoadForCurrentUser().StartModuleType); }
private void RenderControls() { _content.Controls.Add(LoadControl(CommonList.Location)); if (RequestContext.AllProjectsCount <= 0 && ProjectSecurity.CanCreateProject()) { _content.Controls.Add(LoadControl(PathProvider.GetFileStaticRelativePath("Dashboard/DashboardEmptyScreen.ascx"))); } }
private void RenderControls() { _content.Controls.Add(LoadControl(CommonList.Location)); loaderHolder.Controls.Add(LoadControl(LoaderPage.Location)); if (ProjectSecurity.CanCreateProject() && EngineFactory.ProjectEngine.Count() <= 0) { var emptyScreen = (ProjectsDashboardEmptyScreen)Page.LoadControl(ProjectsDashboardEmptyScreen.Location); emptyScreen.IsAdmin = Participant.IsAdmin; _content.Controls.Add(emptyScreen); } }
private void RenderControls() { _content.Controls.Add(LoadControl(CommonList.Location)); loaderHolder.Controls.Add(LoadControl(LoaderPage.Location)); if (RequestContext.AllProjectsCount <= 0 && ProjectSecurity.CanCreateProject()) { var emptyScreen = (ProjectsDashboardEmptyScreen)Page.LoadControl(ProjectsDashboardEmptyScreen.Location); emptyScreen.IsAdmin = Participant.IsAdmin; _content.Controls.Add(emptyScreen); } }
protected override IEnumerable <KeyValuePair <string, object> > GetClientVariables(HttpContext context) { return(new List <KeyValuePair <string, object> >(1) { RegisterObject( new { CanCreateProject = ProjectSecurity.CanCreateProject(), IsModuleAdmin = ProjectSecurity.CurrentUserAdministrator, StartModule.GetInstance(ProjectsCommonSettings.LoadForCurrentUser().StartModuleType).StartModuleType }) }); }
public string CreateProject(Project newProject, Guid[] team, string milestones, string noAssignTasks, bool notifyManager, bool notifyResponsibles) { if (ProjectSecurity.CanCreateProject()) { if (newProject != null) { Global.EngineFactory.GetProjectEngine().SaveOrUpdate(newProject, notifyManager); Global.EngineFactory.GetProjectEngine().AddToTeam(newProject, Global.EngineFactory.GetParticipantEngine().GetByID(newProject.Responsible), true); //add team foreach (var participant in team.Where(participant => participant != Guid.Empty)) { Global.EngineFactory.GetProjectEngine().AddToTeam(newProject, Global.EngineFactory.GetParticipantEngine().GetByID(participant), true); } // add milestone var listMilestones = MilestoneParser(milestones); foreach (var milestone in listMilestones) { var milestoneTasks = TaskParser(milestone.Description); milestone.Description = string.Empty; milestone.Project = newProject; Global.EngineFactory.GetMilestoneEngine().SaveOrUpdate(milestone, notifyResponsibles); foreach (var task in milestoneTasks) { task.Status = TaskStatus.Open; task.Milestone = milestone.ID; task.Project = newProject; Global.EngineFactory.GetTaskEngine().SaveOrUpdate(task, null, notifyResponsibles); } } //add no assign tasks var listTasks = TaskParser(noAssignTasks); foreach (var task in listTasks) { task.Project = newProject; task.Status = TaskStatus.Open; Global.EngineFactory.GetTaskEngine().SaveOrUpdate(task, null, notifyResponsibles); } return("?prjID=" + newProject.ID); } } return(string.Empty); }
public CommonSecurityInfo() { CanCreateProject = ProjectSecurity.CanCreateProject(); }
public int Create() { var newProject = Parser <Project>(Request["project"]); var team = new List <Guid>(); var listMilestones = new List <Milestone>(); var listTasks = new List <Task>(); var notifyManager = Convert.ToBoolean(Request["notifyManager"]); var notifyResponsibles = Convert.ToBoolean(Request["notifyResponsibles"]); var projectEngine = Global.EngineFactory.GetProjectEngine(); var participantEngine = Global.EngineFactory.GetParticipantEngine(); var taskEngine = Global.EngineFactory.GetTaskEngine(); var milestoneEngine = Global.EngineFactory.GetMilestoneEngine(); if (Request["team"] != null) { team = Parser <List <Guid> >(Request["team"]); } if (Request["milestones"] != null) { listMilestones = Parser <List <Milestone> >(Request["milestones"]); } if (Request["noAssignTasks"] != null) { listTasks = Parser <List <Task> >(Request["noAssignTasks"]); } if (ProjectSecurity.CanCreateProject()) { if (newProject != null) { projectEngine.SaveOrUpdate(newProject, notifyManager); projectEngine.AddToTeam(newProject, participantEngine.GetByID(newProject.Responsible), true); //add team foreach (var participant in team.Where(participant => participant != Guid.Empty)) { projectEngine.AddToTeam(newProject, participantEngine.GetByID(participant), true); } foreach (var milestone in listMilestones) { var milestoneTasks = milestone.Tasks; milestone.Description = string.Empty; milestone.Project = newProject; milestoneEngine.SaveOrUpdate(milestone, notifyResponsibles); foreach (var task in milestoneTasks) { task.Status = TaskStatus.Open; task.Milestone = milestone.ID; task.Project = newProject; taskEngine.SaveOrUpdate(task, null, notifyResponsibles); } } //add no assign tasks foreach (var task in listTasks) { task.Project = newProject; task.Status = TaskStatus.Open; taskEngine.SaveOrUpdate(task, null, notifyResponsibles); } return(newProject.ID); } } return(0); }
private void InitEmptyScreens() { emptyScreenPlaceHolders.Controls.Add(RenderEmptyScreenForFilter(MessageResource.FilterNoDiscussions, MessageResource.DescrEmptyListMilFilter, "discEmptyScreenForFilter")); emptyScreenPlaceHolders.Controls.Add(RenderEmptyScreenForFilter(TaskResource.NoTasks, TaskResource.DescrEmptyListTaskFilter, "tasksEmptyScreenForFilter")); emptyScreenPlaceHolders.Controls.Add(RenderEmptyScreenForFilter(MilestoneResource.FilterNoMilestones, MilestoneResource.DescrEmptyListMilFilter, "mileEmptyScreenForFilter")); emptyScreenPlaceHolders.Controls.Add(RenderEmptyScreenForFilter(ProjectsCommonResource.Filter_NoProjects, ProjectResource.DescrEmptyListProjFilter, "prjEmptyScreenForFilter")); emptyScreenPlaceHolders.Controls.Add(RenderEmptyScreenForFilter(TimeTrackingResource.NoTimersFilter, TimeTrackingResource.DescrEmptyListTimersFilter, "timeEmptyScreenForFilter")); emptyScreenPlaceHolders.Controls.Add(new EmptyScreenControl { ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_tasks.png", ProductEntryPoint.ID), Header = TaskResource.NoTasksCreated, Describe = String.Format(TaskResource.TasksHelpTheManage, TaskResource.DescrEmptyListTaskFilter), ID = "emptyListTask", ButtonHTML = RequestContext.CanCreateTask(true) ? String.Format("<span class='link dotline addFirstElement'>{0}</span>", TaskResource.AddFirstTask) : string.Empty }); emptyScreenPlaceHolders.Controls.Add(new EmptyScreenControl { ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_discussions.png", ProductEntryPoint.ID), Header = MessageResource.DiscussionNotFound_Header, Describe = MessageResource.DiscussionNotFound_Describe, ID = "emptyListDiscussion", ButtonHTML = RequestContext.CanCreateDiscussion(true) ? (RequestContext.IsInConcreteProject ? String.Format("<a href='messages.aspx?prjID={0}&action=add' class='link dotline addFirstElement'>{1}</a>", RequestContext.GetCurrentProjectId(), MessageResource.StartFirstDiscussion) : String.Format("<a href='messages.aspx?action=add' class='link dotline addFirstElement'>{0}</a>", MessageResource.StartFirstDiscussion)) : string.Empty }); emptyScreenPlaceHolders.Controls.Add(new EmptyScreenControl { ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_milestones.png", ProductEntryPoint.ID), Header = MilestoneResource.MilestoneNotFound_Header, Describe = String.Format(MilestoneResource.MilestonesMarkMajorTimestamps), ID = "emptyListMilestone", ButtonHTML = RequestContext.CanCreateMilestone(true) ? String.Format("<a class='link dotline addFirstElement'>{0}</a>", MilestoneResource.PlanFirstMilestone) : string.Empty }); emptyScreenPlaceHolders.Controls.Add(new EmptyScreenControl { Header = ProjectResource.EmptyListProjHeader, ImgSrc = WebImageSupplier.GetAbsoluteWebPath("projects_logo.png", ProductEntryPoint.ID), Describe = ProjectResource.EmptyListProjDescribe, ID = "emptyListProjects", ButtonHTML = ProjectSecurity.CanCreateProject() ? string.Format("<a href='projects.aspx?action=add' class='projectsEmpty link dotline addFirstElement'>{0}<a>", ProjectResource.CreateFirstProject) : string.Empty }); emptyScreenPlaceHolders.Controls.Add(new EmptyScreenControl { ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_time_tracking.png", ProductEntryPoint.ID), Header = TimeTrackingResource.NoTtimers, Describe = String.Format(TimeTrackingResource.NoTimersNote), ID = "emptyListTimers", ButtonHTML = String.Format("<span class='link dotline addFirstElement {1}'>{0}</span>", TimeTrackingResource.StartTimer, RequestContext.CanCreateTime(true) ? string.Empty : "display-none") }); emptyScreenPlaceHolders.Controls.Add(new EmptyScreenControl { Header = ProjectTemplatesResource.EmptyListTemplateHeader, ImgSrc = WebImageSupplier.GetAbsoluteWebPath("project-templates_logo.png", ProductEntryPoint.ID), Describe = ProjectTemplatesResource.EmptyListTemplateDescr, ID = "emptyListTemplates", ButtonHTML = string.Format("<a href='projectTemplates.aspx?action=add' class='projectsEmpty link dotline addFirstElement'>{0}<a>", ProjectTemplatesResource.EmptyListTemplateButton) }); }
protected override void PageLoad() { if (RequestContext.IsInConcreteProject()) { Server.Transfer(String.Concat(PathProvider.BaseAbsolutePath, "ProjectOverview.aspx")); } else { if (String.Compare(UrlParameters.ActionType, "add", StringComparison.OrdinalIgnoreCase) == 0) { if (ProjectSecurity.IsAdministrator(SecurityContext.CurrentAccount.ID)) { Server.Transfer(String.Concat(PathProvider.BaseAbsolutePath, "ProjectAction.aspx")); } else { Response.Redirect("projects.aspx"); } } } ((IStudioMaster)Master).DisabledSidePanel = true; Master.BreadCrumbs.Add(new BreadCrumb { Caption = ProjectResource.Projects, NavigationUrl = "projects.aspx" }); Title = HeaderStringHelper.GetPageTitle(ProjectResource.Projects, Master.BreadCrumbs); IsEmptyListProjects = !RequestContext.HasAnyProjects(); if (IsEmptyListProjects) { var button = ""; if (ProjectSecurity.CanCreateProject()) { button = string.Format("<a href='projects.aspx?action=add' class='projectsEmpty baseLinkAction'>{0}<a>", ProjectResource.CreateFirstProject); } var escNoProj = new Studio.Controls.Common.EmptyScreenControl { Header = ProjectResource.EmptyListProjHeader, ImgSrc = WebImageSupplier.GetAbsoluteWebPath("projects_logo.png", ProductEntryPoint.ID), Describe = ProjectResource.EmptyListProjDescribe, ID = "escNoProj", ButtonHTML = button }; _escNoProj.Controls.Add(escNoProj); } else { var list = (Controls.Projects.ProjectsList)LoadControl(PathProvider.GetControlVirtualPath("ProjectsList.ascx")); __listProjects.Controls.Add(list); var advansedFilter = new Studio.Controls.Common.AdvansedFilter { BlockID = "AdvansedFilter" }; _content.Controls.Add(advansedFilter); var emptyScreenControlFilter = new Studio.Controls.Common.EmptyScreenControl { ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty-filter.png", ProductEntryPoint.ID), Header = ProjectsCommonResource.Filter_NoProjects, Describe = ProjectResource.DescrEmptyListProjFilter, ID = "emptyFilter", ButtonHTML = String.Format("<a href='javascript:void(0)' class='baseLinkAction'>{0}</a>", ProjectsFilterResource.ClearFilter) }; projectListEmptyScreen.Controls.Add(emptyScreenControlFilter); } }
public int Create() { var newProject = Parser <Project>(Request["project"]); var team = new List <Guid>(); var listMilestones = new List <Milestone>(); var listTasks = new List <Task>(); var notifyManager = Convert.ToBoolean(Request["notifyManager"]); var notifyResponsibles = Convert.ToBoolean(Request["notifyResponsibles"]); var projectEngine = Global.EngineFactory.GetProjectEngine(); var participantEngine = Global.EngineFactory.GetParticipantEngine(); var taskEngine = Global.EngineFactory.GetTaskEngine(); var milestoneEngine = Global.EngineFactory.GetMilestoneEngine(); if (Request["team"] != null) { team = Parser <List <Guid> >(Request["team"]); } if (Request["milestones"] != null) { listMilestones = Parser <List <Milestone> >(Request["milestones"]); } if (Request["noAssignTasks"] != null) { listTasks = Parser <List <Task> >(Request["noAssignTasks"]); } if (ProjectSecurity.CanCreateProject()) { if (newProject != null) { projectEngine.SaveOrUpdate(newProject, notifyManager); projectEngine.AddToTeam(newProject, participantEngine.GetByID(newProject.Responsible), true); //add team foreach (var participant in team.Where(participant => participant != Guid.Empty)) { projectEngine.AddToTeam(newProject, participantEngine.GetByID(participant), true); } foreach (var milestone in listMilestones) { var milestoneTasks = milestone.Tasks; milestone.Description = string.Empty; milestone.Project = newProject; milestoneEngine.SaveOrUpdate(milestone, notifyResponsibles); foreach (var task in milestoneTasks) { task.Description = string.Empty; task.Status = TaskStatus.Open; task.Milestone = milestone.ID; task.Project = newProject; taskEngine.SaveOrUpdate(task, null, notifyResponsibles); } } //add no assign tasks foreach (var task in listTasks) { task.Description = string.Empty; task.Project = newProject; task.Status = TaskStatus.Open; taskEngine.SaveOrUpdate(task, null, notifyResponsibles); } var templateId = Request.QueryString["id"]; if (string.IsNullOrEmpty(templateId)) { throw new ApplicationException("must be a template id in the page query string"); } var id = Convert.ToInt32(templateId); var template = Global.EngineFactory.GetTemplateEngine().GetByID(id); MessageService.Send(HttpContext.Current.Request, MessageAction.ProjectCreatedFromTemplate, template.Title, newProject.Title); return(newProject.ID); } } return(0); }