Пример #1
0
        private void LoadControls()
        {
            var advansedFilter = new Studio.Controls.Common.AdvansedFilter {
                BlockID = "AdvansedFilter"
            };

            contentPlaceHolder.Controls.Add(advansedFilter);

            var historyList = (HistoryList)LoadControl(PathProvider.GetControlVirtualPath("HistoryList.ascx"));

            activitiesListPlaceHolder.Controls.Add(historyList);

            var emptyScreenControlFilter = new Studio.Controls.Common.EmptyScreenControl
            {
                ImgSrc     = WebImageSupplier.GetAbsoluteWebPath("empty-filter.png", ProductEntryPoint.ID),
                Header     = ProjectResource.FilterNoActivities,
                Describe   = ProjectResource.DescrEmptyListActivitiesFilter,
                ButtonHTML = string.Format("<a href='javascript:void(0)' class='baseLinkAction clearFilterButton'>{0}</a>", ProjectsFilterResource.ClearFilter)
            };

            activitiesListPlaceHolder.Controls.Add(emptyScreenControlFilter);

            var emptyScreenControl = new Studio.Controls.Common.EmptyScreenControl
            {
                ImgSrc   = WebImageSupplier.GetAbsoluteWebPath("empty_screen_history.png", ProductEntryPoint.ID),
                Header   = ProjectResource.HistoryNotFound_Header,
                Describe = String.Format(ProjectResource.HistoryNotFound_Body)
            };

            activitiesListPlaceHolder.Controls.Add(emptyScreenControl);
        }
Пример #2
0
        private void InitTaskList()
        {
            var taskList = (TaskList)LoadControl(PathProvider.GetControlVirtualPath("TaskList.ascx"));

            _content.Controls.Add(taskList);

            _content.Controls.Add(Masters.BasicTemplate.RenderEmptyScreenForFilter(TaskResource.NoTasks, TaskResource.DescrEmptyListTaskFilter));

            var emptyScreenControl = new Studio.Controls.Common.EmptyScreenControl
            {
                ImgSrc   = WebImageSupplier.GetAbsoluteWebPath("empty_screen_tasks.png", ProductEntryPoint.ID),
                Header   = TaskResource.NoTasksCreated,
                Describe = String.Format(TaskResource.TasksHelpTheManage, TaskResource.DescrEmptyListTaskFilter),
                ID       = "emptyTaskListScreen"
            };

            if (RequestContext.CanCreateTask(true))
            {
                emptyScreenControl.ButtonHTML = String.Format("<span class='baseLinkAction addFirstElement'>{0}</span>", TaskResource.AddFirstTask);
            }

            _content.Controls.Add(emptyScreenControl);

            Title = HeaderStringHelper.GetPageTitle(TaskResource.Tasks);
        }
Пример #3
0
        private void LoadControls()
        {
            var advansedFilter = new Studio.Controls.Common.AdvansedFilter {
                BlockID = "AdvansedFilter"
            };

            contentPlaceHolder.Controls.Add(advansedFilter);

            var emptyScreenControlFilter = new Studio.Controls.Common.EmptyScreenControl
            {
                ImgSrc     = WebImageSupplier.GetAbsoluteWebPath("empty-filter.png", ProductEntryPoint.ID),
                Header     = MessageResource.FilterNoDiscussions,
                Describe   = MessageResource.DescrEmptyListMilFilter,
                ButtonHTML = String.Format("<a href='javascript:void(0)' class='baseLinkAction'>{0}</a>", ProjectsFilterResource.ClearFilter)
            };

            emptyScreenHolder.Controls.Add(emptyScreenControlFilter);

            var emptyScreenControl = new Studio.Controls.Common.EmptyScreenControl
            {
                ImgSrc   = WebImageSupplier.GetAbsoluteWebPath("empty_screen_discussions.png", ProductEntryPoint.ID),
                Header   = MessageResource.DiscussionNotFound_Header,
                Describe = MessageResource.DiscussionNotFound_Describe
            };

            if (CanCreateDiscussion())
            {
                emptyScreenControl.ButtonHTML = String.Format("<a class='baseLinkAction'>{0}</a>", MessageResource.StartFirstDiscussion);
            }

            emptyScreenHolder.Controls.Add(emptyScreenControl);
        }
Пример #4
0
        protected override void PageLoad()
        {
            CanLinkContact = ProjectSecurity.CanLinkContact(Project);

            var button = "";

            if(CanLinkContact)
            {
                button = "<a class='link-with-entity link dotline'>" + ProjectsCommonResource.EmptyScreenContactsButton + "</a>";
            }

            var escNoContacts = new Studio.Controls.Common.EmptyScreenControl
            {
                Header = ProjectsCommonResource.EmptyScreenContasctsHeader,
                ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_persons.png", ProductEntryPoint.ID),
                Describe = ProjectsCommonResource.EmptyScreenContactsDescribe,
                ID = "escNoContacts",
                ButtonHTML = button,
                CssClass = "display-none"
            };
            emptyScreen.Controls.Add(escNoContacts);

            Page.Title = HeaderStringHelper.GetPageTitle(ProjectsCommonResource.ModuleContacts);

            Master.RegisterCRMResources();
            Page.RegisterBodyScripts(PathProvider.GetFileStaticRelativePath("contacts.js"));
        }
Пример #5
0
        private void LoadControls()
        {
            var advansedFilter = new Studio.Controls.Common.AdvansedFilter { BlockID = "AdvansedFilter" };
            contentPlaceHolder.Controls.Add(advansedFilter);

            var milestoneList = (Controls.Milestones.MilestoneList)LoadControl(PathProvider.GetControlVirtualPath("MilestoneList.ascx"));
            milestoneListPlaceHolder.Controls.Add(milestoneList);

            var milestoneAction = (Controls.Milestones.MilestoneAction)LoadControl(PathProvider.GetControlVirtualPath("MilestoneAction.ascx"));
            milestoneActionPlaceHolder.Controls.Add(milestoneAction);

            var taskAction = (Controls.Tasks.TaskAction)LoadControl(PathProvider.GetControlVirtualPath("TaskAction.ascx"));
            taskActionPlaceHolder.Controls.Add(taskAction);

            var emptyScreenControlFilter = new Studio.Controls.Common.EmptyScreenControl
            {
                ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty-filter.png", ProductEntryPoint.ID),
                Header = MilestoneResource.FilterNoMilestones,
                Describe = MilestoneResource.DescrEmptyListMilFilter,
                ButtonHTML = String.Format("<a href='javascript:void(0)' class='baseLinkAction'>{0}</a>", ProjectsFilterResource.ClearFilter)
            };
            milestoneListPlaceHolder.Controls.Add(emptyScreenControlFilter);

            var emptyScreenControl = new Studio.Controls.Common.EmptyScreenControl
            {
                ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_milestones.png", ProductEntryPoint.ID),
                Header = MilestoneResource.MilestoneNotFound_Header,
                Describe = String.Format(MilestoneResource.MilestonesMarkMajorTimestamps)
            };

            if (CanCreateMilestone())
                emptyScreenControl.ButtonHTML = String.Format("<a class='baseLinkAction'>{0}</a>", MilestoneResource.PlanFirstMilestone);

            milestoneListPlaceHolder.Controls.Add(emptyScreenControl);
        }
Пример #6
0
        private void LoadControls()
        {
            var advansedFilter = new Studio.Controls.Common.AdvansedFilter { BlockID = "AdvansedFilter" };
            contentPlaceHolder.Controls.Add(advansedFilter);

            var historyList = (HistoryList)LoadControl(PathProvider.GetControlVirtualPath("HistoryList.ascx"));
            activitiesListPlaceHolder.Controls.Add(historyList);

            var emptyScreenControlFilter = new Studio.Controls.Common.EmptyScreenControl
                                               {
                                                   ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty-filter.png", ProductEntryPoint.ID),
                                                   Header = ProjectResource.FilterNoActivities,
                                                   Describe = ProjectResource.DescrEmptyListActivitiesFilter,
                                                   ButtonHTML = string.Format( "<a href='javascript:void(0)' class='baseLinkAction clearFilterButton'>{0}</a>", ProjectsFilterResource.ClearFilter)
                                               };
            activitiesListPlaceHolder.Controls.Add(emptyScreenControlFilter);

            var emptyScreenControl = new Studio.Controls.Common.EmptyScreenControl
                                         {
                                             ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_history.png", ProductEntryPoint.ID),
                                             Header = ProjectResource.HistoryNotFound_Header,
                                             Describe = String.Format(ProjectResource.HistoryNotFound_Body)
                                         };

            activitiesListPlaceHolder.Controls.Add(emptyScreenControl);
        }
Пример #7
0
        private void LoadControls()
        {
            var advansedFilter = new Studio.Controls.Common.AdvansedFilter { BlockID = "AdvansedFilter" };
            contentPlaceHolder.Controls.Add(advansedFilter);

            var emptyScreenControlFilter = new Studio.Controls.Common.EmptyScreenControl
            {
                ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty-filter.png", ProductEntryPoint.ID),
                Header = MessageResource.FilterNoDiscussions,
                Describe = MessageResource.DescrEmptyListMilFilter,
                ButtonHTML = String.Format("<a href='javascript:void(0)' class='baseLinkAction'>{0}</a>", ProjectsFilterResource.ClearFilter)
            };
            emptyScreenHolder.Controls.Add(emptyScreenControlFilter);

            var emptyScreenControl = new Studio.Controls.Common.EmptyScreenControl
            {
                ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_discussions.png", ProductEntryPoint.ID),
                Header = MessageResource.DiscussionNotFound_Header,
                Describe = MessageResource.DiscussionNotFound_Describe
            };

            if (CanCreateDiscussion())
                emptyScreenControl.ButtonHTML = String.Format("<a class='baseLinkAction'>{0}</a>", MessageResource.StartFirstDiscussion);

            emptyScreenHolder.Controls.Add(emptyScreenControl);
        }
Пример #8
0
        protected override void PageLoad()
        {
            CanLinkContact = ProjectSecurity.CanLinkContact(Project);

            var button = "";

            if (CanLinkContact)
            {
                button = "<a class='link-with-entity link dotline'>" + ProjectsCommonResource.EmptyScreenContactsButton + "</a>";
            }

            var escNoContacts = new Studio.Controls.Common.EmptyScreenControl
            {
                Header     = ProjectsCommonResource.EmptyScreenContasctsHeader,
                ImgSrc     = WebImageSupplier.GetAbsoluteWebPath("empty_screen_persons.png", ProductEntryPoint.ID),
                Describe   = ProjectsCommonResource.EmptyScreenContactsDescribe,
                ID         = "escNoContacts",
                ButtonHTML = button,
                CssClass   = "display-none"
            };

            emptyScreen.Controls.Add(escNoContacts);

            Page.Title = HeaderStringHelper.GetPageTitle(ProjectsCommonResource.ModuleContacts);

            Master.RegisterCRMResources();
            Page.RegisterBodyScripts(PathProvider.GetFileStaticRelativePath, "contacts.js");
        }
        protected override void PageLoad()
        {
            if (!Participant.IsAdmin || Participant.IsVisitor)
            {
                Response.Redirect(PathProvider.BaseVirtualPath, true);
            }

            if (!String.IsNullOrEmpty(UrlParameters.EntityID))
            {
                if (string.Compare(UrlParameters.ActionType, "add", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    var projectAction = (Controls.Templates.CreateProject)LoadControl(PathProvider.GetControlVirtualPath("CreateProject.ascx"));
                    _content.Controls.Add(projectAction);
                    return;
                }

                if (string.Compare(UrlParameters.ActionType, "edit", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    var projectAction = (Controls.Templates.EditTemplate)LoadControl(PathProvider.GetControlVirtualPath("EditTemplate.ascx"));
                    _content.Controls.Add(projectAction);
                    return;
                }
            }
            else
            {
                if (string.Compare(UrlParameters.ActionType, "add", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    var projectAction = (Controls.Templates.EditTemplate)LoadControl(PathProvider.GetControlVirtualPath("EditTemplate.ascx"));
                    _content.Controls.Add(projectAction);
                    return;
                }
            }



            var templates = Global.EngineFactory.GetTemplateEngine().GetAll();

            EmptyListTemplates = templates.Count <= 0;

            if (!EmptyListTemplates)
            {
                Master.JsonPublisher(templates, "templates");
                _hintPopup.Options.IsPopup = true;
            }

            var escNoTmpl = new Studio.Controls.Common.EmptyScreenControl
            {
                Header     = ProjectTemplatesResource.EmptyListTemplateHeader,
                ImgSrc     = WebImageSupplier.GetAbsoluteWebPath("project-templates_logo.png", ProductEntryPoint.ID),
                Describe   = ProjectTemplatesResource.EmptyListTemplateDescr,
                ID         = "escNoTmpl",
                ButtonHTML = string.Format("<a href='projectTemplates.aspx?action=add' class='projectsEmpty baseLinkAction addFirstElement'>{0}<a>", ProjectTemplatesResource.EmptyListTemplateButton)
            };

            _escNoTmpl.Controls.Add(escNoTmpl);

            Title = HeaderStringHelper.GetPageTitle(ProjectTemplatesResource.AllProjectTmpl);
        }
        protected override void PageLoad()
        {
            if (!Participant.IsAdmin || Participant.IsVisitor)
                Response.Redirect(PathProvider.BaseVirtualPath, true);

            if (!String.IsNullOrEmpty(UrlParameters.EntityID))
            {
                if (string.Compare(UrlParameters.ActionType, "add", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    var projectAction = (Controls.Templates.CreateProject)LoadControl(PathProvider.GetControlVirtualPath("CreateProject.ascx"));
                    _content.Controls.Add(projectAction);
                    return;
                }

                if (string.Compare(UrlParameters.ActionType, "edit", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    var projectAction = (Controls.Templates.EditTemplate)LoadControl(PathProvider.GetControlVirtualPath("EditTemplate.ascx"));
                    _content.Controls.Add(projectAction);
                    return;
                }
            }
            else
            {
                if (string.Compare(UrlParameters.ActionType, "add", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    var projectAction = (Controls.Templates.EditTemplate)LoadControl(PathProvider.GetControlVirtualPath("EditTemplate.ascx"));
                    _content.Controls.Add(projectAction);
                    return;
                }
            }



            var templates = Global.EngineFactory.GetTemplateEngine().GetAll();
            EmptyListTemplates = templates.Count <= 0;

            if (!EmptyListTemplates)
            {
                Master.JsonPublisher(templates, "templates");
                _hintPopup.Options.IsPopup = true;
            }

            var escNoTmpl = new Studio.Controls.Common.EmptyScreenControl
                {
                    Header = ProjectTemplatesResource.EmptyListTemplateHeader,
                    ImgSrc = WebImageSupplier.GetAbsoluteWebPath("project-templates_logo.png", ProductEntryPoint.ID),
                    Describe = ProjectTemplatesResource.EmptyListTemplateDescr,
                    ID = "escNoTmpl",
                    ButtonHTML = string.Format("<a href='projectTemplates.aspx?action=add' class='projectsEmpty baseLinkAction addFirstElement'>{0}<a>", ProjectTemplatesResource.EmptyListTemplateButton)
                };
            _escNoTmpl.Controls.Add(escNoTmpl);

            Title = HeaderStringHelper.GetPageTitle(ProjectTemplatesResource.AllProjectTmpl);
        }
 public void InitEmptyCommentsPanel()
 {
     var emptyParticipantScreenControl = new Studio.Controls.Common.EmptyScreenControl
                                             {
                                                 Header = ProjectResource.Comments,
                                                 HeaderDescribe = ProjectResource.CommentsEmptyList,
                                                 ImgSrc = VirtualPathUtility.ToAbsolute("~/products/projects/App_Themes/Default/Images/massages-logo.png"),
                                                 Describe = ProjectResource.CommentsDescriptionEmptyList,
                                                 ButtonHTML = string.Format("<span class='commentsEmpty baseLinkAction'>{0}<span>", ProjectResource.AddFirstComment)
                                             };
     _phEmptyCommentsPanel.Controls.Add(emptyParticipantScreenControl);
 }
 public void InitEmptySubtasksPanel()
 {
     var emptyParticipantScreenControl = new Studio.Controls.Common.EmptyScreenControl
                                             {
                                                 Header = TaskResource.Subtasks,
                                                 HeaderDescribe = TaskResource.EmptyListSubtasks,
                                                 ImgSrc = VirtualPathUtility.ToAbsolute("~/products/projects/App_Themes/Default/Images/subtasks-logo.png"),
                                                 Describe = TaskResource.SubtasksDescriptionForEmptyList,
                                                 ButtonHTML = string.Format("<span class='subtasksEmpty baseLinkAction'>{0}<span>", TaskResource.CreateFirstSubtask)
                                             };
     _phEmptySubtasksPanel.Controls.Add(emptyParticipantScreenControl);
 }
Пример #13
0
        public void InitEmptyCommentsPanel()
        {
            var emptyParticipantScreenControl = new Studio.Controls.Common.EmptyScreenControl
            {
                Header         = ProjectResource.Comments,
                HeaderDescribe = ProjectResource.CommentsEmptyList,
                ImgSrc         = VirtualPathUtility.ToAbsolute("~/products/projects/App_Themes/Default/Images/massages-logo.png"),
                Describe       = ProjectResource.CommentsDescriptionEmptyList,
                ButtonHTML     = string.Format("<span class='commentsEmpty baseLinkAction'>{0}<span>", ProjectResource.AddFirstComment)
            };

            _phEmptyCommentsPanel.Controls.Add(emptyParticipantScreenControl);
        }
Пример #14
0
        public void InitEmptySubtasksPanel()
        {
            var emptyParticipantScreenControl = new Studio.Controls.Common.EmptyScreenControl
            {
                Header         = TaskResource.Subtasks,
                HeaderDescribe = TaskResource.EmptyListSubtasks,
                ImgSrc         = VirtualPathUtility.ToAbsolute("~/products/projects/App_Themes/Default/Images/subtasks-logo.png"),
                Describe       = TaskResource.SubtasksDescriptionForEmptyList,
                ButtonHTML     = string.Format("<span class='subtasksEmpty baseLinkAction'>{0}<span>", TaskResource.CreateFirstSubtask)
            };

            _phEmptySubtasksPanel.Controls.Add(emptyParticipantScreenControl);
        }
        private void LoadEmptyCommentsControl()
        {
            var emptyCommentsControl = new Studio.Controls.Common.EmptyScreenControl
            {
                Header         = ProjectResource.Comments,
                HeaderDescribe = ProjectResource.CommentsEmptyList,
                ImgSrc         = VirtualPathUtility.ToAbsolute("~/products/projects/App_Themes/Default/Images/massages-logo.png"),
                Describe       = MessageResource.CommentsEmptyListDescription,
                ButtonHTML     = string.Format("<span id='addFirstCommentButton' class='baseLinkAction'>{0}<span>", ProjectResource.AddFirstComment)
            };

            emptyCommentsPlaceHolder.Controls.Add(emptyCommentsControl);
        }
Пример #16
0
        private void LoadControls()
        {
            var advansedFilter = new Studio.Controls.Common.AdvansedFilter {
                BlockID = "AdvansedFilter"
            };

            contentPlaceHolder.Controls.Add(advansedFilter);

            var milestoneList = (Controls.Milestones.MilestoneList)LoadControl(PathProvider.GetControlVirtualPath("MilestoneList.ascx"));

            milestoneListPlaceHolder.Controls.Add(milestoneList);

            var milestoneAction = (Controls.Milestones.MilestoneAction)LoadControl(PathProvider.GetControlVirtualPath("MilestoneAction.ascx"));

            milestoneActionPlaceHolder.Controls.Add(milestoneAction);

            var taskAction = (Controls.Tasks.TaskAction)LoadControl(PathProvider.GetControlVirtualPath("TaskAction.ascx"));

            taskActionPlaceHolder.Controls.Add(taskAction);

            var emptyScreenControlFilter = new Studio.Controls.Common.EmptyScreenControl
            {
                ImgSrc     = WebImageSupplier.GetAbsoluteWebPath("empty-filter.png", ProductEntryPoint.ID),
                Header     = MilestoneResource.FilterNoMilestones,
                Describe   = MilestoneResource.DescrEmptyListMilFilter,
                ButtonHTML = String.Format("<a href='javascript:void(0)' class='baseLinkAction'>{0}</a>", ProjectsFilterResource.ClearFilter)
            };

            milestoneListPlaceHolder.Controls.Add(emptyScreenControlFilter);

            var emptyScreenControl = new Studio.Controls.Common.EmptyScreenControl
            {
                ImgSrc   = WebImageSupplier.GetAbsoluteWebPath("empty_screen_milestones.png", ProductEntryPoint.ID),
                Header   = MilestoneResource.MilestoneNotFound_Header,
                Describe = String.Format(MilestoneResource.MilestonesMarkMajorTimestamps)
            };

            if (CanCreateMilestone())
            {
                emptyScreenControl.ButtonHTML = String.Format("<a class='baseLinkAction'>{0}</a>", MilestoneResource.PlanFirstMilestone);
            }

            milestoneListPlaceHolder.Controls.Add(emptyScreenControl);
        }
Пример #17
0
        protected override void PageLoad()
        {
            _popupTimerRemove.Options.IsPopup = true;

            ShowMultiActionPanel = Participant.IsAdmin;

            if (Project != null && !ShowMultiActionPanel)
            {
                ShowMultiActionPanel = Guid.Equals(SecurityContext.CurrentAccount.ID, Project.Responsible);
            }

            if (Participant.IsVisitor)
            {
                Response.Redirect(PathProvider.BaseVirtualPath, true);
            }

            CanCreate = RequestContext.CanCreateTime();

            if (TaskID <= 0)
            {
                _emptyScreens.Controls.Add(Masters.BasicTemplate.RenderEmptyScreenForFilter(TimeTrackingResource.NoTimersFilter, TimeTrackingResource.DescrEmptyListTimersFilter));
            }

            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),
                ID       = "emptyScreenForTimers"
            };

            if (CanCreate)
            {
                emptyScreenControl.ButtonHTML = String.Format("<span class='baseLinkAction addFirstElement'>{0}</span>", TimeTrackingResource.StartTimer);
            }

            _emptyScreens.Controls.Add(emptyScreenControl);

            Page.RegisterInlineScript(@"
                                       ASC.Projects.TimeTrakingEdit.init();" +
                                      "ASC.Projects.TimeSpendActionPage.init();", true);

            Title = HeaderStringHelper.GetPageTitle(ProjectsCommonResource.TimeTracking);
        }
Пример #18
0
        protected override void PageLoad()
        {
            if (!ProjectSecurity.IsAdministrator(SecurityContext.CurrentAccount.ID))
            {
                HttpContext.Current.Response.Redirect(ProjectsCommonResource.StartURL, true);
            }

            Utility.RegisterTypeForAjax(GetType(), Page);
            ((IStudioMaster)Master).DisabledSidePanel = true;

            ListTemplates = Global.EngineFactory.GetTemplateEngine().GetTemplates();
            if (ListTemplates.Count != 0)
            {
                EmptyListTemplates = false;
                JsonPublisher(ListTemplates, "templates");
                _hintPopup.Options.IsPopup = true;
            }
            else
            {
                EmptyListTemplates = true;
            }

            var escNoTmpl = new Studio.Controls.Common.EmptyScreenControl
            {
                Header     = ProjectTemplatesResource.EmptyListTemplateHeader,
                ImgSrc     = WebImageSupplier.GetAbsoluteWebPath("project-templates_logo.png", ProductEntryPoint.ID),
                Describe   = ProjectTemplatesResource.EmptyListTemplateDescr,
                ID         = "escNoTmpl",
                ButtonHTML = string.Format("<a href='editprojecttemplate.aspx' class='projectsEmpty baseLinkAction'>{0}<a>", ProjectTemplatesResource.EmptyListTemplateButton)
            };

            _escNoTmpl.Controls.Add(escNoTmpl);

            Master.BreadCrumbs.Add(new BreadCrumb
            {
                Caption = ProjectTemplatesResource.AllProjectTmpl
            });

            Title = HeaderStringHelper.GetPageTitle(ProjectTemplatesResource.AllProjectTmpl, Master.BreadCrumbs);
        }
Пример #19
0
        protected override void PageLoad()
        {
            if (!ProjectSecurity.CanReadContacts(Project))
            {
                Response.Redirect("projects.aspx?prjID=" + Project.ID, true);
            }

            var crmEnabled = WebItemManager.Instance[new Guid("6743007C-6F95-4d20-8C88-A8601CE5E76D")];

            if (crmEnabled == null || crmEnabled.IsDisabled())
            {
                Response.Redirect(String.Concat(PathProvider.BaseAbsolutePath, "tasks.aspx?prjID=" + RequestContext.GetCurrentProjectId()));
            }

            CanLinkContact = ProjectSecurity.CanLinkContact(Project);

            var button = "";

            if (CanLinkContact)
            {
                button = "<a class='link-with-entity baseLinkAction'>" + ProjectsCommonResource.EmptyScreenContactsButton + "</a>";
            }

            var escNoContacts = new Studio.Controls.Common.EmptyScreenControl
            {
                Header     = ProjectsCommonResource.EmptyScreenContasctsHeader,
                ImgSrc     = WebImageSupplier.GetAbsoluteWebPath("empty_screen_persons.png", ProductEntryPoint.ID),
                Describe   = ProjectsCommonResource.EmptyScreenContactsDescribe,
                ID         = "escNoContacts",
                ButtonHTML = button,
                CssClass   = "display-none"
            };

            emptyScreen.Controls.Add(escNoContacts);

            Page.Title = HeaderStringHelper.GetPageTitle(ProjectsCommonResource.ModuleContacts);

            Master.RegisterCRMResources();
            Page.RegisterBodyScripts(PathProvider.GetFileStaticRelativePath("contacts.js"));
        }
Пример #20
0
        protected override void PageLoad()
        {
            if (!ProjectSecurity.CanReadContacts(Project))
            {
                Response.Redirect("projects.aspx?prjID=" + Project.ID, true);
            }

            var crmEnabled = WebItemManager.Instance[new Guid("6743007C-6F95-4d20-8C88-A8601CE5E76D")];

            if (crmEnabled == null || crmEnabled.IsDisabled())
            {
                Response.Redirect(String.Concat(PathProvider.BaseAbsolutePath, "tasks.aspx?prjID=" + RequestContext.GetCurrentProjectId()));
            }

            CanLinkContact = ProjectSecurity.CanLinkContact(Project);

            var button = "";

            if(CanLinkContact)
            {
                button = "<a class='link-with-entity baseLinkAction'>" + ProjectsCommonResource.EmptyScreenContactsButton + "</a>";
            }

            var escNoContacts = new Studio.Controls.Common.EmptyScreenControl
            {
                Header = ProjectsCommonResource.EmptyScreenContasctsHeader,
                ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_persons.png", ProductEntryPoint.ID),
                Describe = ProjectsCommonResource.EmptyScreenContactsDescribe,
                ID = "escNoContacts",
                ButtonHTML = button,
                CssClass = "display-none"
            };
            emptyScreen.Controls.Add(escNoContacts);

            Page.Title = HeaderStringHelper.GetPageTitle(ProjectsCommonResource.ModuleContacts);

            Master.RegisterCRMResources();
            Page.RegisterBodyScripts(PathProvider.GetFileStaticRelativePath("contacts.js"));
        }
Пример #21
0
        protected override void PageLoad()
        {
            if (!ProjectSecurity.IsAdministrator(SecurityContext.CurrentAccount.ID))
                HttpContext.Current.Response.Redirect(ProjectsCommonResource.StartURL, true);

            Utility.RegisterTypeForAjax(GetType(), Page);
            ((IStudioMaster)Master).DisabledSidePanel = true;

            ListTemplates = Global.EngineFactory.GetTemplateEngine().GetTemplates();
            if (ListTemplates.Count != 0)
            {
                EmptyListTemplates = false;
                JsonPublisher(ListTemplates, "templates");
                _hintPopup.Options.IsPopup = true;
            }
            else
            {
                EmptyListTemplates = true;
            }

            var escNoTmpl = new Studio.Controls.Common.EmptyScreenControl
            {
                Header = ProjectTemplatesResource.EmptyListTemplateHeader,
                ImgSrc = WebImageSupplier.GetAbsoluteWebPath("project-templates_logo.png", ProductEntryPoint.ID),
                Describe = ProjectTemplatesResource.EmptyListTemplateDescr,
                ID = "escNoTmpl",
                ButtonHTML = string.Format("<a href='editprojecttemplate.aspx' class='projectsEmpty baseLinkAction'>{0}<a>", ProjectTemplatesResource.EmptyListTemplateButton)
            };
            _escNoTmpl.Controls.Add(escNoTmpl);

            Master.BreadCrumbs.Add(new BreadCrumb
            {
                Caption = ProjectTemplatesResource.AllProjectTmpl
            });

            Title = HeaderStringHelper.GetPageTitle(ProjectTemplatesResource.AllProjectTmpl, Master.BreadCrumbs);
        }
Пример #22
0
        protected override void PageLoad()
        {
            InitScripts();

            var messageEngine = Global.EngineFactory.GetMessageEngine();

            if (RequestContext.IsInConcreteProject && !ProjectSecurity.CanReadMessages(Project))
            {
                Response.Redirect("projects.aspx?prjID=" + Project.ID, true);
            }

            CanCreate = RequestContext.CanCreateDiscussion(true);

            int discussionId;
            if (int.TryParse(UrlParameters.EntityID, out discussionId))
            {
                if (Project == null) return;

                Discussion = messageEngine.GetByID(discussionId);

                if (string.Compare(UrlParameters.ActionType, "edit", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    if (ProjectSecurity.CanEdit(Discussion))
                    {
                        LoadDiscussionActionControl(Project, Discussion);
                    }
                    else
                    {
                        Response.Redirect("messages.aspx", true);
                    }

                    Title = HeaderStringHelper.GetPageTitle(Discussion.Title);
                }
                else if (Discussion != null && ProjectSecurity.CanRead(Discussion.Project) && Discussion.Project.ID == Project.ID)
                {
                    LoadDiscussionDetailsControl(Project, Discussion);

                    Master.EssenceTitle = Discussion.Title;

                    Title = HeaderStringHelper.GetPageTitle(Discussion.Title);

                    Master.IsSubcribed = messageEngine.IsSubscribed(Discussion);
                }
                else
                {
                    LoadElementNotFoundControl(Project.ID);

                    Title = HeaderStringHelper.GetPageTitle(MessageResource.MessageNotFound_Header);
                }

            }
            else
            {
                if (string.Compare(UrlParameters.ActionType, "add", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    if (CanCreate)
                    {
                        LoadDiscussionActionControl(Project, null);

                        Title = HeaderStringHelper.GetPageTitle(MessageResource.CreateMessage);
                    }
                    else
                    {
                        Response.Redirect("messages.aspx", true);
                    }
                }
                else
                {
                    var filter = new TaskFilter();

                    if (RequestContext.IsInConcreteProject)
                        filter.ProjectIds.Add(RequestContext.GetCurrentProjectId());

                    var allDiscCount = messageEngine.GetByFilterCount(filter);

                    if (allDiscCount > 0)
                    {
                        LoadDiscussionsListControl(Project == null ? -1 : Project.ID, allDiscCount);
                    }

                    var emptyScreenControl = new Studio.Controls.Common.EmptyScreenControl
                    {
                        ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_discussions.png", ProductEntryPoint.ID),
                        Header = MessageResource.DiscussionNotFound_Header,
                        Describe = MessageResource.DiscussionNotFound_Describe,
                        ID = "emptyListDiscussion"
                    };

                    if (CanCreate)
                    {
                        emptyScreenControl.ButtonHTML = RequestContext.IsInConcreteProject
                            ? String.Format("<a href='messages.aspx?prjID={0}&action=add' class='baseLinkAction addFirstElement'>{1}</a>", Project.ID, MessageResource.StartFirstDiscussion)
                            : String.Format("<a href='messages.aspx?action=add' class='baseLinkAction addFirstElement'>{0}</a>", MessageResource.StartFirstDiscussion);
                    }

                    contentHolder.Controls.Add(emptyScreenControl);

                    Title = HeaderStringHelper.GetPageTitle(MessageResource.Messages);
                }
            }
        }
Пример #23
0
        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);
            }     
        }
Пример #24
0
        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);
            }
        }
Пример #25
0
        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);
            }
        }
Пример #26
0
        protected override void PageLoad()
        {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(TaskDescriptionView), Page);
            ((IStudioMaster)Master).DisabledSidePanel = true;

            Project = RequestContext.GetCurrentProject(false);

            if (RequestContext.IsInConcreteProject() && Project == null)
            {
                Response.Redirect("tasks.aspx", true);
            }
           
            InitBreadCrumbs();

            int taskID;

            if (Int32.TryParse(UrlParameters.EntityID, out taskID))
            {
                if (Project == null) return;

                var apiServer = new Api.ApiServer();
                var task = apiServer.GetApiResponse(String.Format("api/1.0/project/task/{0}.json", taskID), "GET");
                JsonPublisher(task, "taskDescription");

                var jTask = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(task)));

                if (jTask["count"].ToObject<int>() > 0)
                {
                    var taskDescriptionView = (TaskDescriptionView)LoadControl(PathProvider.GetControlVirtualPath("TaskDescriptionView.ascx"));

                    var taskDescription = new Task
                                              {
                                                  ID = jTask["response"]["id"].ToObject<int>(),
                                                  Title = jTask["response"]["title"].ToString(),
                                                  Status = jTask["response"]["status"].ToObject<TaskStatus>(),
                                                  Project = Project
                                              };

                    taskDescriptionView.Task = taskDescription;
                    taskDescriptionView.CanEditTask = (bool)jTask["response"]["canEdit"];
                    taskDescriptionView.CanDeleteTask = (int)jTask["response"]["canWork"] == 3;

                    _content.Controls.Add(taskDescriptionView);
                    Master.BreadCrumbs.Add(new BreadCrumb());
                }
                else
                {
                    TaskNotFoundControlView(Project.ID);
                    Master.BreadCrumbs.Clear();
                }
            }
            else
            {
               var advansedFilter = new Studio.Controls.Common.AdvansedFilter { BlockID = "AdvansedFilter" };
                _filter.Controls.Add(advansedFilter);

                var taskList = (TaskList) LoadControl(PathProvider.GetControlVirtualPath("TaskList.ascx"));
                _content.Controls.Add(taskList);

                var emptyScreenControlFilter = new Studio.Controls.Common.EmptyScreenControl
                {
                    ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty-filter.png", ProductEntryPoint.ID),
                    Header = TaskResource.NoTasks,
                    Describe = TaskResource.DescrEmptyListTaskFilter,
                    ButtonHTML = String.Format("<span class='baseLinkAction clearFilterButton'>{0}</span>", ProjectsFilterResource.ClearFilter)
                };
                _content.Controls.Add(emptyScreenControlFilter);

                var emptyScreenControl = new Studio.Controls.Common.EmptyScreenControl
                                             {
                                                 ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_tasks.png", ProductEntryPoint.ID),
                                                 Header = TaskResource.NoTasksCreated,
                                                 Describe = String.Format(TaskResource.TasksHelpTheManage)
                                             };

                if (CanCreateTask())
                    emptyScreenControl.ButtonHTML = String.Format("<span class='baseLinkAction addFirstElement'>{0}</span>", TaskResource.AddFirstTask);

                _content.Controls.Add(emptyScreenControl);
            }

            GetApiData();

            Title = HeaderStringHelper.GetPageTitle(TaskResource.Tasks, Master.BreadCrumbs);    
        }
Пример #27
0
        protected override void PageLoad()
        {
            InitScripts();

            var messageEngine = Global.EngineFactory.GetMessageEngine();

            if (RequestContext.IsInConcreteProject && !ProjectSecurity.CanReadMessages(Project))
            {
                Response.Redirect("projects.aspx?prjID=" + Project.ID, true);
            }

            CanCreate = RequestContext.CanCreateDiscussion(true);

            int discussionId;

            if (int.TryParse(UrlParameters.EntityID, out discussionId))
            {
                if (Project == null)
                {
                    return;
                }

                Discussion = messageEngine.GetByID(discussionId);

                if (string.Compare(UrlParameters.ActionType, "edit", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    if (ProjectSecurity.CanEdit(Discussion))
                    {
                        LoadDiscussionActionControl(Project, Discussion);
                    }
                    else
                    {
                        Response.Redirect("messages.aspx", true);
                    }

                    Title = HeaderStringHelper.GetPageTitle(Discussion.Title);
                }
                else if (Discussion != null && ProjectSecurity.CanRead(Discussion.Project) && Discussion.Project.ID == Project.ID)
                {
                    LoadDiscussionDetailsControl(Project, Discussion);

                    Master.EssenceTitle = Discussion.Title;

                    Title = HeaderStringHelper.GetPageTitle(Discussion.Title);

                    Master.IsSubcribed = messageEngine.IsSubscribed(Discussion);
                }
                else
                {
                    LoadElementNotFoundControl(Project.ID);

                    Title = HeaderStringHelper.GetPageTitle(MessageResource.MessageNotFound_Header);
                }
            }
            else
            {
                if (string.Compare(UrlParameters.ActionType, "add", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    if (CanCreate)
                    {
                        LoadDiscussionActionControl(Project, null);

                        Title = HeaderStringHelper.GetPageTitle(MessageResource.CreateMessage);
                    }
                    else
                    {
                        Response.Redirect("messages.aspx", true);
                    }
                }
                else
                {
                    var filter = new TaskFilter();

                    if (RequestContext.IsInConcreteProject)
                    {
                        filter.ProjectIds.Add(RequestContext.GetCurrentProjectId());
                    }

                    var allDiscCount = messageEngine.GetByFilterCount(filter);

                    if (allDiscCount > 0)
                    {
                        LoadDiscussionsListControl(Project == null ? -1 : Project.ID, allDiscCount);
                    }

                    var emptyScreenControl = new Studio.Controls.Common.EmptyScreenControl
                    {
                        ImgSrc   = WebImageSupplier.GetAbsoluteWebPath("empty_screen_discussions.png", ProductEntryPoint.ID),
                        Header   = MessageResource.DiscussionNotFound_Header,
                        Describe = MessageResource.DiscussionNotFound_Describe,
                        ID       = "emptyListDiscussion"
                    };

                    if (CanCreate)
                    {
                        emptyScreenControl.ButtonHTML = RequestContext.IsInConcreteProject
                            ? String.Format("<a href='messages.aspx?prjID={0}&action=add' class='baseLinkAction addFirstElement'>{1}</a>", Project.ID, MessageResource.StartFirstDiscussion)
                            : String.Format("<a href='messages.aspx?action=add' class='baseLinkAction addFirstElement'>{0}</a>", MessageResource.StartFirstDiscussion);
                    }

                    contentHolder.Controls.Add(emptyScreenControl);

                    Title = HeaderStringHelper.GetPageTitle(MessageResource.Messages);
                }
            }
        }
Пример #28
0
        private void InitTaskList()
        {
            var taskList = (TaskList)LoadControl(PathProvider.GetControlVirtualPath("TaskList.ascx"));
            _content.Controls.Add(taskList);

            _content.Controls.Add(Masters.BasicTemplate.RenderEmptyScreenForFilter(TaskResource.NoTasks, TaskResource.DescrEmptyListTaskFilter));

            var emptyScreenControl = new Studio.Controls.Common.EmptyScreenControl
                {
                    ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_tasks.png", ProductEntryPoint.ID),
                    Header = TaskResource.NoTasksCreated,
                    Describe = String.Format(TaskResource.TasksHelpTheManage, TaskResource.DescrEmptyListTaskFilter),
                    ID = "emptyTaskListScreen"
                };

            if (RequestContext.CanCreateTask(true))
                emptyScreenControl.ButtonHTML = String.Format("<span class='baseLinkAction addFirstElement'>{0}</span>", TaskResource.AddFirstTask);

            _content.Controls.Add(emptyScreenControl);

            Title = HeaderStringHelper.GetPageTitle(TaskResource.Tasks);
        }
Пример #29
0
        protected override void PageLoad()
        {
            _popupTimerRemove.Options.IsPopup = true;

            ShowMultiActionPanel = Participant.IsAdmin;

            if (Project != null && !ShowMultiActionPanel)
            {
                ShowMultiActionPanel = Guid.Equals(SecurityContext.CurrentAccount.ID, Project.Responsible);
            }

            if (Participant.IsVisitor)
            {
                Response.Redirect(PathProvider.BaseVirtualPath, true);
            }

            CanCreate = RequestContext.CanCreateTime();

            if (TaskID <= 0)
            {
                _emptyScreens.Controls.Add(Masters.BasicTemplate.RenderEmptyScreenForFilter(TimeTrackingResource.NoTimersFilter, TimeTrackingResource.DescrEmptyListTimersFilter));
            }

            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),
                    ID = "emptyScreenForTimers"
                };

            if (CanCreate)
                emptyScreenControl.ButtonHTML = String.Format("<span class='baseLinkAction addFirstElement'>{0}</span>", TimeTrackingResource.StartTimer);

            _emptyScreens.Controls.Add(emptyScreenControl);

            Page.RegisterInlineScript(@"
                                       ASC.Projects.TimeTrakingEdit.init();" +
                                      "ASC.Projects.TimeSpendActionPage.init();", true);

            Title = HeaderStringHelper.GetPageTitle(ProjectsCommonResource.TimeTracking);
        }
Пример #30
0
        protected override void PageLoad()
        {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(TaskDescriptionView), Page);
            ((IStudioMaster)Master).DisabledSidePanel = true;

            Project = RequestContext.GetCurrentProject(false);

            if (RequestContext.IsInConcreteProject() && Project == null)
            {
                Response.Redirect("tasks.aspx", true);
            }

            InitBreadCrumbs();

            int taskID;

            if (Int32.TryParse(UrlParameters.EntityID, out taskID))
            {
                if (Project == null)
                {
                    return;
                }

                var apiServer = new Api.ApiServer();
                var task      = apiServer.GetApiResponse(String.Format("api/1.0/project/task/{0}.json", taskID), "GET");
                JsonPublisher(task, "taskDescription");

                var jTask = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(task)));

                if (jTask["count"].ToObject <int>() > 0)
                {
                    var taskDescriptionView = (TaskDescriptionView)LoadControl(PathProvider.GetControlVirtualPath("TaskDescriptionView.ascx"));

                    var taskDescription = new Task
                    {
                        ID      = jTask["response"]["id"].ToObject <int>(),
                        Title   = jTask["response"]["title"].ToString(),
                        Status  = jTask["response"]["status"].ToObject <TaskStatus>(),
                        Project = Project
                    };

                    taskDescriptionView.Task          = taskDescription;
                    taskDescriptionView.CanEditTask   = (bool)jTask["response"]["canEdit"];
                    taskDescriptionView.CanDeleteTask = (int)jTask["response"]["canWork"] == 3;

                    _content.Controls.Add(taskDescriptionView);
                    Master.BreadCrumbs.Add(new BreadCrumb());
                }
                else
                {
                    TaskNotFoundControlView(Project.ID);
                    Master.BreadCrumbs.Clear();
                }
            }
            else
            {
                var advansedFilter = new Studio.Controls.Common.AdvansedFilter {
                    BlockID = "AdvansedFilter"
                };
                _filter.Controls.Add(advansedFilter);

                var taskList = (TaskList)LoadControl(PathProvider.GetControlVirtualPath("TaskList.ascx"));
                _content.Controls.Add(taskList);

                var emptyScreenControlFilter = new Studio.Controls.Common.EmptyScreenControl
                {
                    ImgSrc     = WebImageSupplier.GetAbsoluteWebPath("empty-filter.png", ProductEntryPoint.ID),
                    Header     = TaskResource.NoTasks,
                    Describe   = TaskResource.DescrEmptyListTaskFilter,
                    ButtonHTML = String.Format("<span class='baseLinkAction clearFilterButton'>{0}</span>", ProjectsFilterResource.ClearFilter)
                };
                _content.Controls.Add(emptyScreenControlFilter);

                var emptyScreenControl = new Studio.Controls.Common.EmptyScreenControl
                {
                    ImgSrc   = WebImageSupplier.GetAbsoluteWebPath("empty_screen_tasks.png", ProductEntryPoint.ID),
                    Header   = TaskResource.NoTasksCreated,
                    Describe = String.Format(TaskResource.TasksHelpTheManage)
                };

                if (CanCreateTask())
                {
                    emptyScreenControl.ButtonHTML = String.Format("<span class='baseLinkAction addFirstElement'>{0}</span>", TaskResource.AddFirstTask);
                }

                _content.Controls.Add(emptyScreenControl);
            }

            GetApiData();

            Title = HeaderStringHelper.GetPageTitle(TaskResource.Tasks, Master.BreadCrumbs);
        }