Exemple #1
0
        private void CreateSummaryContentItem(string queryName, string contentType, string title, bool isDefaultPortlet)
        {
            // project discussions Summary
            var query = this.GetQuery(queryName);

            if (query != null)
            {
                var summaryContentItem = this.services.ContentManager.Create(contentType, VersionOptions.Draft);
                var projection         = summaryContentItem.As <ProjectionWithDynamicSortPart>();
                projection.Record.QueryPartRecord = query.Record;
                projection.Record.ItemsPerPage    = 5;
                projection.Record.Items           = 5;
                var layout = this.layoutRepository.Table.FirstOrDefault(c => c.QueryPartRecord.Id == query.Id && c.Category == "Html" && c.Type == "Shape");
                if (layout != null)
                {
                    projection.Record.LayoutRecord = layout;
                }

                TitlePart titlePart = summaryContentItem.As <TitlePart>();

                if (titlePart != null && !string.IsNullOrEmpty(title))
                {
                    titlePart.Title = title;
                }

                InfosetPart infosetPart = summaryContentItem.As <InfosetPart>();
                infosetPart.Store <bool>(FieldNames.IsDefaultPortletFieldName, isDefaultPortlet);

                this.services.ContentManager.Publish(summaryContentItem);
            }
        }
Exemple #2
0
        public void Create()
        {
            var contentManager = this.services.ContentManager;

            // project tickets group by status
            this.CreateReportPortlet(
                QueryNames.ProjectTicketGroupByStatusDataReportName,
                ContentTypes.ProjectDashboardReportViewerPortletTemplateContentType,
                T("Tickets group by status").Text,
                true);

            // project not closed tickets group by priority
            this.CreateReportPortlet(
                QueryNames.ProjectNotClosedTicketsGroupByPriorityDataReportName,
                ContentTypes.ProjectDashboardReportViewerPortletTemplateContentType,
                T("Active Tickets group by priority").Text,
                false);

            // over due project tickets group by status
            this.CreateReportPortlet(
                QueryNames.ProjectOverdueTicketGroupByTicketTypeChartDataReportName,
                ContentTypes.ProjectDashboardReportViewerPortletTemplateContentType,
                T("Over due Tickets group by Type (Chart)").Text,
                false);

            // over due project tickets group by status list
            this.CreateReportPortlet(
                QueryNames.ProjectOverdueTicketGroupByTicketTypeDataReportName,
                ContentTypes.ProjectDashboardReportViewerPortletTemplateContentType,
                T("Over due Tickets group by Type (list)").Text,
                false);

            this.CreateSummaryContentItem(QueryNames.ProjectDiscussionsSummaryQueryName, ContentTypes.ProjectDashboardProjectionPortletTemplateContentType, T("Latest Discussions").Text, true);
            this.CreateSummaryContentItem(QueryNames.ProjectWikiesSummaryQueryName, ContentTypes.ProjectDashboardProjectionPortletTemplateContentType, T("Latest Wiki pages").Text, false);
            this.CreateSummaryContentItem(QueryNames.ProjectUnassignedTicketsQueryName, ContentTypes.ProjectDashboardProjectionPortletTemplateContentType, T("Unassigned Tickets").Text, true);
            this.CreateSummaryContentItem(QueryNames.ProjectCriticalNoneClosedTicketsQueryName, ContentTypes.ProjectDashboardProjectionPortletTemplateContentType, T("Active Critical Tickets").Text, false);
            this.CreateSummaryContentItem(QueryNames.ProjectOverdueTicketsQueryName, ContentTypes.ProjectDashboardProjectionPortletTemplateContentType, T("Latest Over Due Tickets").Text, false);

            // create activity stream summary
            var activityStreamQuery = this.GetProjectActivityStreamQueryPart();
            var projectActivityStreamSummaryItem = contentManager.New(ContentTypes.ProjectLastActivityStreamTemplateContentType);

            contentManager.Create(projectActivityStreamSummaryItem);
            projectActivityStreamSummaryItem.As <TitlePart>().Title = T("Project Latest Activities").Text;
            var activityStreamPart = projectActivityStreamSummaryItem.As <ActivityStreamPart>();

            if (activityStreamQuery != null)
            {
                activityStreamPart.QueryId = activityStreamQuery.Record.Id;
            }

            InfosetPart infosetPart = projectActivityStreamSummaryItem.As <InfosetPart>();

            infosetPart.Store <bool>(FieldNames.IsDefaultPortletFieldName, true);

            contentManager.Publish(projectActivityStreamSummaryItem);
        }
Exemple #3
0
        public static void Store <TProperty>(this InfosetPart infosetPart, string partName, string name, TProperty value, bool versioned = false)
        {
            var infoset     = (versioned ? infosetPart.VersionInfoset : infosetPart.Infoset);
            var partElement = infoset.Element.Element(partName);

            if (partElement == null)
            {
                partElement = new XElement(partName);
                infoset.Element.Add(partElement);
            }
            partElement.Attr(name, value);
        }
Exemple #4
0
        private void CreateReportPortlet(string reportName, string contentType, string title, bool isDefaultPortlet)
        {
            var contentManager = this.services.ContentManager;

            // project tickets group by status
            var report = this.reportRepository.Table.FirstOrDefault(c => c.Name == reportName);

            if (report != null)
            {
                var projectTicketsGroupByStats = contentManager.New(contentType);
                contentManager.Create(projectTicketsGroupByStats);

                TitlePart titlePart = projectTicketsGroupByStats.As <TitlePart>();
                titlePart.Title = title;
                var reportViewerPart = projectTicketsGroupByStats.As <DataReportViewerPart>();
                reportViewerPart.Record.Report = report;

                InfosetPart infosetPart = projectTicketsGroupByStats.As <InfosetPart>();
                infosetPart.Store <bool>(FieldNames.IsDefaultPortletFieldName, isDefaultPortlet);

                contentManager.Publish(projectTicketsGroupByStats);
            }
        }