Beispiel #1
0
    /// <summary>
    /// Calculate the start page url.
    /// </summary>
    private string GetLastUrl()
    {
        string lastUrl = (string)PXContext.Session["LastUrl"];
        string screen  = Page.Request.QueryString["ScreenId"];
        string company = Page.Request.QueryString["CompanyID"];

        if (string.IsNullOrEmpty(lastUrl) || !string.IsNullOrEmpty(screen))
        {
            string url = lastUrl; int i;
            if (!string.IsNullOrEmpty(url) && (i = url.IndexOf('?')) > 0)
            {
                url = url.Substring(0, i);
            }

            if (string.IsNullOrEmpty(url) || !url.Replace(".aspx", "").ToUpper().EndsWith(screen.ToUpper()))
            {
                PXSiteMapNode node = (screen != null) ? PXSiteMap.Provider.FindSiteMapNodeByScreenID(screen) : null;

                string query = Page.Request.Url.Query
                               .Replace("ScreenId=" + screen, String.Empty).Replace("ScreenID=" + screen, String.Empty)
                               .Replace("CompanyID=" + company, String.Empty).Replace("?", String.Empty)
                               .Replace("Project=" + this.project, String.Empty);

                if (node != null && !string.IsNullOrEmpty(node.Url))
                {
                    lastUrl = this.ResolveUrl(node.Url);
                }
                if (lastUrl != null)
                {
                    lastUrl = PX.Common.PXUrl.CombineParameters(lastUrl, query);
                }
            }
        }
        return(lastUrl);
    }
Beispiel #2
0
    protected void Page_InitComplete(object sender, EventArgs e)
    {
        this.InitializeModules();
        if (!this.Page.IsCallback)
        {
            this.FillBrachesList();
        }
        this.InitAuditMenu();

        if (!this.Page.IsCallback || ControlHelper.IsReloadPage(tlbPath))
        {
            var           favBtn      = (PXToolBarButton)tlbPath.Items["favorites"];
            PXSiteMapNode currentNode = System.Web.SiteMap.CurrentNode as PXSiteMapNode;
            if (currentNode == null || String.IsNullOrEmpty(currentNode.ScreenID))
            {
                favBtn.Visible = false;
            }
            else
            {
                tlbPath.CallbackUpdatable = favBtn.DynamicText = true;
                var entryScreenId = GetEntryNodeId(PXSiteMap.CurrentNode.ScreenID);
                favBtn.Pushed  = this.IsInFavorites(entryScreenId);
                favBtn.Tooltip = favBtn.Pushed ? InfoMessages.RemoveFromFavorites : InfoMessages.AddToFavorites;
            }
        }

        // Force the customization controls creation !!!
        this.EnsureChildControls();
    }
Beispiel #3
0
    private string GetWikiUrl()
    {
        var screenId = Master.ScreenID;

        if (string.IsNullOrEmpty(screenId))
        {
            screenId = "00.00.00.00";
        }

        string        art = screenId.Replace(".", "_"), menu = screenId.Replace(".", "");
        PXSiteMapNode mn = PXSiteMap.Provider.FindSiteMapNodeByScreenID(menu);

        if (mn != null)
        {
            string nodeguid = mn.NodeID.ToString(), parGuid = mn.ParentID.ToString();;
            //Response.Redirect(
            return(string.Format("{0}?pageid={1}&PrevScreenID={2}&SiteMapGuid={3}&ParentGuid={4}&rootUrl={5}",
                                 ResolveUrl("~/Wiki/ShowWiki.aspx"), GetArticleID(art), screenId, nodeguid, parGuid, menu));//);
        }
        else
        {
            //Response.Redirect(
            return(string.Format("{0}?pageid={1}&PrevScreenID={2}&rootUrl={3}",
                                 ResolveUrl("~/Wiki/ShowWiki.aspx"), GetArticleID(art), screenId, menu));//);
        }
    }
        public virtual IEnumerable MarkAsCompleted(PXAdapter adapter)
        {
            WZTaskEntry graph        = PXGraph.CreateInstance <WZTaskEntry>();
            WZTask      selectedTask = Tasks.Current;

            if (selectedTask != null && selectedTask.Status != WizardTaskStatusesAttribute._PENDING &&
                selectedTask.Status != WizardTaskStatusesAttribute._DISABLED)
            {
                if (graph.CanTaskBeCompleted(selectedTask))
                {
                    selectedTask.Status = WizardTaskStatusesAttribute._COMPLETED;
                    graph.TaskInfo.Update(selectedTask);
                    graph.Save.Press();
                    if (graph.ScenarioTasksCompleted(selectedTask.ScenarioID))
                    {
                        PXSiteMap.Provider.Clear();
                        PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNodeByScreenID("WZ201505");


                        throw new PXRedirectToUrlException(node.Url + "?ScenarioID=" + selectedTask.ScenarioID, PXBaseRedirectException.WindowMode.Same, "Refresh SiteMap");
                    }
                }
                else
                {
                    throw new PXException(Messages.CannotBeCompletedWileOpenTasks);
                }
            }

            Tasks.Cache.ClearQueryCache();
            Scenario.Cache.ClearQueryCache();
            Scenario.Cache.Clear();
            Scenario.View.RequestRefresh();
            return(adapter.Get());
        }
            internal IEnumerable folders(
                [PXGuid]
                Guid?PageID
                )
            {
                bool needRoot = false;

                if (PageID == null)
                {
                    PageID   = Guid.Empty;
                    needRoot = true;
                }

                HttpContext ctx = HttpContext.Current;

                HttpContext.Current = null;                 // remove context to avoid rights check.
                PXSiteMapNode parent = PXSiteMap.WikiProvider.FindSiteMapNodeFromKey(PageID.Value);

                if (needRoot)
                {
                    yield return(this.CreateWikiPageSimple(parent));
                }
                else
                {
                    foreach (PXSiteMapNode node in parent.ChildNodes)
                    {
                        yield return(this.CreateWikiPageSimple(node));
                    }
                }
                HttpContext.Current = ctx;
            }
Beispiel #6
0
        private IEnumerable <EntityItemSource> GraphTypeList()
        {
            if (this.AssigmentMap.Current == null)
            {
                yield break;
            }

            var aMap = AssigmentMap.Current;
            EPAssignmentRoute route = PXSelect <EPAssignmentRoute,
                                                Where <EPAssignmentRoute.assignmentMapID, Equal <Required <EPAssignmentRoute.assignmentMapID> > > >
                                      .Select(this, aMap.AssignmentMapID);

            if (route != null && aMap.EntityType != null)
            {
                Type graphType;

                if (aMap.GraphType != null)
                {
                    graphType = GraphHelper.GetType(aMap.GraphType);
                }
                else
                {
                    Type entityType = System.Web.Compilation.PXBuildManager.GetType(aMap.EntityType, false);
                    graphType      = EntityHelper.GetPrimaryGraphType(this, entityType);
                    aMap.GraphType = graphType.FullName;
                }

                if (graphType != null)
                {
                    PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNodeUnsecure(graphType);
                    if (node != null)
                    {
                        yield return(new EntityItemSource(node, aMap.GraphType));
                    }
                }
                else
                {
                    foreach (var e in EMailSourceHelper.TemplateScreens(this, null, null))
                    {
                        yield return(e);
                    }
                }
            }
            else
            {
                foreach (EntityItemSource e in EMailSourceHelper.TemplateScreensByCondition(this, null, null,
                                                                                            type => type.IsDefined(typeof(PXEMailSourceAttribute), true) && typeof(PX.Data.EP.IAssign).IsAssignableFrom(type)))
                {
                    if (!String.IsNullOrEmpty(e.ScreenID))
                    {
                        PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNodeByScreenID(e.ScreenID);
                        if (node != null && !String.IsNullOrEmpty(node.GraphType))
                        {
                            e.SubKey = node.GraphType;
                            yield return(e);
                        }
                    }
                }
            }
        }
Beispiel #7
0
            private static PXGraph CreateGraph(string screenID)
            {
                PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNodeByScreenID(screenID);

                if (node == null)
                {
                    return(null);
                }
                string graphName = node.GraphType;
                Type   gt        = System.Web.Compilation.PXBuildManager.GetType(graphName, false) ?? Type.GetType(graphName);

                if (gt == null)
                {
                    return(null);
                }

                gt = System.Web.Compilation.PXBuildManager.GetType(PX.Api.CustomizedTypeManager.GetCustomizedTypeFullName(gt), false) ?? gt;
                using (new PXPreserveScope())
                {
                    try
                    {
                        return((PXGraph)PXGraph.CreateInstance(gt));
                    }
                    catch (System.Reflection.TargetInvocationException ex)
                    {
                        throw PXException.ExtractInner(ex);
                    }
                }
            }
        private PXFieldState CreateFieldStateForEntity(object returnState, string entityType, string graphType)
        {
            List <string> allowedValues = new List <string>();
            List <string> allowedLabels = new List <string>();


            Type gType = null;

            if (graphType != null)
            {
                gType = GraphHelper.GetType(graphType);
            }
            else if (entityType != null)
            {
                Type eType = System.Web.Compilation.PXBuildManager.GetType(entityType, false);
                gType = (eType == null) ? null : EntityHelper.GetPrimaryGraphType(this, eType);
            }

            if (gType != null)
            {
                PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNodeUnsecure(gType);
                if (node != null)
                {
                    allowedValues.Add(entityType);
                    allowedLabels.Add(node.Title);
                }
            }

            return(PXStringState.CreateInstance(returnState, 60, null, "Entity", false, 1, null,
                                                allowedValues.ToArray(), allowedLabels.ToArray(), true, null));
        }
        protected List <PXSiteMapNode> GetGraphTypes(string key, MakeSiteMapCondition condition)
        {
            var list = new List <PXSiteMapNode>();

            foreach (EntityItemSource e in EMailSourceHelper.TemplateScreensByCondition(this, key, null, condition))
            {
                if (!String.IsNullOrEmpty(e.ScreenID))
                {
                    PXSiteMapNode node = (PXSiteMapNode)PXSiteMap.Provider.FindSiteMapNodeFromKey(e.Key);
                    if (node != null && !String.IsNullOrEmpty(node.GraphType))
                    {
                        e.SubKey = node.GraphType;
                        if (node.HasChildNodes)
                        {
                            list.AddRange(GetGraphTypes(e.Key, condition));
                        }
                        else
                        {
                            list.Add(node);
                        }
                    }
                }
                else
                {
                    list.AddRange(GetGraphTypes(e.Key, condition));
                }
            }
            return(list);
        }
Beispiel #10
0
    protected void Page_Init(object sender, EventArgs e)
    {
        this.usrCaption.CustomizationAvailable = false;
        this.ds.ReportCode = this.Request.QueryString["ID"];
        if (!String.IsNullOrEmpty(this.ds.ReportCode) && this.ds.ReportCode.Contains(".rpx"))
        {
            this.ds.ReportCode = this.ds.ReportCode.Replace(".rpx", "");
        }
        string screenID = null;
        object date     = PX.Common.PXContext.GetBusinessDate();

        PX.Common.PXContext.SetBusinessDate((DateTime?)date);
        if (PXSiteMap.CurrentNode != null)
        {
            this.Title = PXSiteMap.CurrentNode.Title;
            screenID   = PXSiteMap.CurrentNode.ScreenID;
        }
        else
        {
            string        url  = (Request.ApplicationPath != "/" ? Request.Path.Replace(Request.ApplicationPath, "~") : "~" + Request.Path) + "?id=" + this.ds.ReportCode + ".rpx";
            PXSiteMapNode node = SiteMap.Provider.FindSiteMapNode(url) as PXSiteMapNode;
            if (node != null)
            {
                this.Title = node.Title;
                this.usrCaption.ScreenTitle = node.Title;
                this.usrCaption.ScreenID    = PX.Common.Mask.Format("CC.CC.CC.CC", node.ScreenID);
                screenID = node.ScreenID;
            }
            else
            {
                using (PXDataRecord record = PXDatabase.SelectSingle <PX.SM.SiteMap>(
                           new PXDataField("ScreenID"),
                           new PXDataFieldValue("Url", PXDbType.VarChar, 512, url)
                           ))
                {
                    if (record != null)
                    {
                        screenID = record.GetString(0);
                        if (!String.IsNullOrEmpty(screenID) && !PXAccess.VerifyRights(screenID))
                        {
                            throw new PXSetPropertyException(ErrorMessages.NotEnoughRights, this.ds.ReportCode);
                        }
                    }
                }
            }
        }
        if (String.IsNullOrEmpty(PX.Common.PXContext.GetScreenID()) && !String.IsNullOrEmpty(screenID))
        {
            PX.Common.PXContext.SetScreenID(PX.Common.Mask.Format(">CC.CC.CC.CC", screenID));
        }
        if (_canSendEmail)
        {
            viewer.EmailSend += new PXReportViewer.EmailSendHandler(viewer_EmailSend);
        }
        else
        {
            viewer.AllowSendEmails = false;
        }
    }
Beispiel #11
0
    protected void viewer_ReportCreated(object sender, EventArgs e)
    {
        object passed = PXContext.Session.PageInfo[VirtualPathUtility.ToAbsolute(this.Page.Request.Path)];
        PXReportsRedirectList reports = passed as PXReportsRedirectList;

        sessionReportParams.Add(reports == null ? passed : reports[0].Value);

        PXSiteMapProvider provider = SiteMap.Provider as PXSiteMapProvider;

        if (provider != null && reports != null)
        {
            if (reports.SeparateWindows)
            {
                if (reports.Count > 1)
                {
                    KeyValuePair <String, Object> pair;
                    do
                    {
                        reports.RemoveAt(0);
                        pair = reports.First();
                    } while (reports.Count > 1 && String.IsNullOrEmpty(pair.Key));

                    string reportID = pair.Key;
                    if (String.IsNullOrEmpty(reportID))
                    {
                        return;
                    }
                    string url = PXBaseDataSource.getScreenUrl(reportID);
                    if (!String.IsNullOrEmpty(url))
                    {
                        url = PXUrl.ToAbsoluteUrl(url);

                        NextReport           = new KeyValuePair <String, Object>(url, reports);
                        viewer.NextReportUrl = url;
                    }
                }
            }
            else
            {
                foreach (KeyValuePair <string, object> t in reports)
                {
                    string reportID = t.Key;
                    if (string.IsNullOrEmpty(reportID))
                    {
                        continue;
                    }
                    PXSiteMapNode reportNode = provider.FindSiteMapNodeByScreenID(reportID);
                    string        reportName;
                    if (reportNode != null && !string.IsNullOrEmpty(reportName = PXUrl.GetParameter(reportNode.Url, "ID")))
                    {
                        Report report = new Report();
                        report.ReportName = reportName;
                        viewer.Report.SiblingReports.Add(report);
                        sessionReportParams.Add(t.Value);
                    }
                }
            }
        }
    }
Beispiel #12
0
        public override void Initialize()
        {
            base.Initialize();

            PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNodeByGraphType(PX.Api.CustomizedTypeManager.GetTypeNotCustomized(typeof(TGraph).FullName));

            PrimaryScreenID = node?.ScreenID ?? "CR306015";
        }
 protected override void AddNode(PXSiteMapNode node, Guid parentID)
 {
     base.AddNode(node, parentID);
     if (!nodesByID.ContainsKey(((PXSiteMapNode)node).NodeID))
     {
         nodesByID.Add(((PXSiteMapNode)node).NodeID, (PXSiteMapNode)node);
     }
 }
Beispiel #14
0
            private WikiPageSimple CreateWikiPageSimple(PXSiteMapNode node)
            {
                WikiPageSimple result = new WikiPageSimple();

                result.PageID    = node.NodeID;
                result.Name      = (node as PXWikiMapNode)?.Name;
                result.ParentUID = node.ParentID;
                result.Title     = string.IsNullOrEmpty(node.Title) ? ((PXWikiMapNode)node).Name : node.Title;
                return(result);
            }
Beispiel #15
0
    protected void Page_Init(object sender, EventArgs e)
    {
        if (PX.Translation.ResourceCollectingManager.IsStringCollecting)
        {
            return;
        }

        AddFileControls();

        PX.Data.PXCacheRights rights;
        List <string>         invisible = null;
        List <string>         disabled  = null;

        if (!PXAccess.FeatureInstalled <PX.Objects.CS.FeaturesSet.outlookIntegration>())
        {
            this.RedirectToError(Messages.OutlookFeatureNotInstalled, true);
        }

        var node = PX.Data.PXSiteMap.Provider.FindSiteMapNode(this.Request.RawUrl) as PX.Data.PXSiteMapNode;

        if (node == null)
        {
            this.RedirectToError(Messages.AccessToAddInHasBeenDenied, true);
        }

        PXSiteMapNode nodeForAddInGraph = PXSiteMap.Provider.FindSiteMapNodeByGraphType(CustomizedTypeManager.GetTypeNotCustomized(typeof(OUSearchMaint).FullName));

        if (nodeForAddInGraph == null)
        {
            this.RedirectToError(Messages.AccessToAddInHasBeenDenied, true);
        }

        Page.Header.Controls.Add(
            new System.Web.UI.LiteralControl("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + ResolveUrl("~/Content/fabric.min.css") + "\" />"));
        Page.Header.Controls.Add(
            new System.Web.UI.LiteralControl("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + ResolveUrl("~/Content/fabric.components.min.css") + "\" />"));

        this.Master.FindControl("usrCaption").Visible = false;
        this.ClientScript.RegisterClientScriptInclude(this.GetType(), "msd", "/Scripts/modernizr-2.8.3.js");
        this.ClientScript.RegisterClientScriptInclude(this.GetType(), "ms", "//appsforoffice.microsoft.com/lib/1.1/hosted/office.js");
        //this.ClientScript.RegisterClientScriptInclude(this.GetType(), "ms", VirtualPathUtility.ToAbsolute("~/Scripts/Office/1/office.debug.js"));
        this.ClientScript.RegisterHiddenField(_outlookEmail, null);
        this.ClientScript.RegisterHiddenField(_outlookDisplayName, null);
        this.ClientScript.RegisterHiddenField(_outlookFirstName, null);
        this.ClientScript.RegisterHiddenField(_outlookLastName, null);
        this.ClientScript.RegisterHiddenField(_outlookIsIncome, null);

        this.ClientScript.RegisterHiddenField(_outlookEwsUrl, null);
        this.ClientScript.RegisterHiddenField(_outlookAttachemntInfo, null);
        this.ClientScript.RegisterHiddenField(_outlookAttachmentToken, null);

        _messageFields.ForEach(f => this.ClientScript.RegisterHiddenField(oums + f, null));
        this.ClientScript.RegisterHiddenField("suppressReloadPage", 1.ToString());
    }
        public virtual IEnumerable GoToScreen(PXAdapter adapter)
        {
            WZTask task = PXSelect <WZTask, Where <WZTask.taskID, Equal <Current <WZTask.taskID> > > > .Select(this);

            if (task == null)
            {
                return(adapter.Get());
            }

            if (task.ScreenID != null)
            {
                PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNodeByScreenID(task.ScreenID);
                if (task.ImportScenarioID != null)
                {
                    SYMappingActive importScenario =
                        PXSelect
                        <SYMappingActive, Where <SYMappingActive.mappingID, Equal <Required <SYMapping.mappingID> > >
                        >
                        .Select(this, task.ImportScenarioID);

                    if (importScenario != null)
                    {
                        SYImportProcessSingle importGraph = CreateInstance <SYImportProcessSingle>();

                        importGraph.MappingsSingle.Current = (SYMappingActive)importScenario;
                        throw new PXRedirectRequiredException(importGraph, true, task.Name);
                    }
                }
                else
                {
                    if (node.GraphType != null)
                    {
                        Type t = GraphHelper.GetType(node.GraphType);
                        if (t == typeof(FeaturesMaint))
                        {
                            FeaturesMaint featuresMaint = PXGraph.CreateInstance <FeaturesMaint>();
                            featuresMaint.Features.Current = featuresMaint.Features.Select();
                            featuresMaint.ActivationBehaviour.Cache.SetValueExt <AfterActivation.refresh>(featuresMaint.ActivationBehaviour.Current, false);

                            PXRedirectHelper.TryRedirect(featuresMaint, PXRedirectHelper.WindowMode.InlineWindow);
                        }
                        PXGraph tgraph = CreateInstance(t);
                        throw new PXRedirectRequiredException(tgraph, true, task.Name)
                              {
                                  Mode = PXBaseRedirectException.WindowMode.NewWindow
                              };
                    }

                    throw new PXRedirectToUrlException(node.Url, PXBaseRedirectException.WindowMode.NewWindow, task.Name);
                }
            }
            return(adapter.Get());
        }
        public virtual IEnumerable ViewSubTask(PXAdapter adapter)
        {
            WZTask task = SubTasks.Current;

            if (task == null)
            {
                return(adapter.Get());
            }

            PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNode(typeof(WizardArticleMaint));

            throw new PXRedirectToUrlException(node.Url + "?TaskID=" + task.TaskID, PXBaseRedirectException.WindowMode.InlineWindow, task.Name);
        }
Beispiel #18
0
        private IEnumerable GetEntityItems(String parent)
        {
            string screenID = IsStockItemFlag ? "IN202500" : "IN202000";

            PXSiteMapNode siteMap = PXSiteMap.Provider.FindSiteMapNodeByScreenID(screenID);

            if (siteMap != null)
            {
                foreach (var entry in EMailSourceHelper.TemplateEntity(this, parent, null, siteMap.GraphType, true))
                {
                    yield return(entry);
                }
            }
        }
        private BoxUtils.FileFolderInfo CreateBoxFolder(Guid?refNoteID, UserTokenHandler tokenHandler)
        {
            EntityHelper entityHelper     = new EntityHelper(this);
            object       entityRow        = entityHelper.GetEntityRow(refNoteID, true);
            Type         primaryGraphType = entityHelper.GetPrimaryGraphType(entityRow, false);

            if (primaryGraphType == null)
            {
                ScreenUtils.TraceAndThrowException(Messages.PrimaryGraphForNoteIDNotFound, refNoteID);
            }
            if (entityRow == null)
            {
                ScreenUtils.TraceAndThrowException(Messages.EntityRowForNoteIDNotFound, refNoteID);
            }

            object activityRefNoteID = entityRow.GetType().GetProperty("RefNoteID")?.GetValue(entityRow);

            if (activityRefNoteID != null && Type.GetType("PX.Objects.CR.CRActivity, PX.Objects").IsAssignableFrom(entityRow.GetType()))
            {
                return(GetOrCreateActivityFolder(refNoteID, tokenHandler, entityRow, activityRefNoteID));
            }
            else
            {
                // Create folder from screenID, for example "Customers (AR303000)"
                PXSiteMapNode siteMapNode = PXSiteMap.Provider.FindSiteMapNode(primaryGraphType);
                if (siteMapNode == null)
                {
                    throw new PXException(Messages.SiteMapNodeForGraphNotFound, primaryGraphType.FullName);
                }

                var bfcParent = (BoxFolderCache)FoldersByScreen.Select(siteMapNode.ScreenID);
                if (bfcParent == null)
                {
                    throw new PXException(Messages.ScreenMainFolderDoesNotExist, siteMapNode.ScreenID);
                }

                string parentFolderID = string.Empty;
                if (FieldsGroupingByScreenID.Select(siteMapNode.ScreenID).Any())
                {
                    parentFolderID = GetOrCreateSublevelFolder(tokenHandler, siteMapNode.ScreenID, bfcParent.FolderID, refNoteID, true);
                }
                else
                {
                    parentFolderID = bfcParent.FolderID;
                }

                return(GetOrCreateFolderForEntity(tokenHandler, parentFolderID, entityRow, refNoteID));
            }
        }
Beispiel #20
0
        public virtual IEnumerable CompleteScenario(PXAdapter adapter)
        {
            WZTaskEntry graph    = PXGraph.CreateInstance <WZTaskEntry>();
            WZScenario  scenario = Scenario.Current;

            if (scenario != null && scenario.Status == WizardScenarioStatusesAttribute._ACTIVE)
            {
                graph.Scenario.Current = scenario;
                graph.completeScenarioWithoutRefresh.Press();
                PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNode(typeof(WizardNotActiveScenario));
                throw new PXRedirectByScreenIDException(node.ScreenID, PXBaseRedirectException.WindowMode.Same, PXRedirectByScreenIDException.FramesetBehavior.Refresh, new { ScenarioID = scenario.ScenarioID });
            }

            return(adapter.Get());
        }
        public virtual IEnumerable CompleteScenario(PXAdapter adapter)
        {
            WZTaskEntry graph    = PXGraph.CreateInstance <WZTaskEntry>();
            WZScenario  scenario = Scenario.Current;

            if (scenario != null && scenario.Status == WizardScenarioStatusesAttribute._ACTIVE)
            {
                graph.Scenario.Current = scenario;
                graph.completeScenarioWithoutRefresh.Press();
                PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNode(typeof(WizardNotActiveScenario));
                throw new PXRedirectToUrlException(@"~\Main.aspx?ScreenId=" + node.ScreenID + "&ScenarioID=" + scenario.ScenarioID + "$target=_top", PXBaseRedirectException.WindowMode.Same, node.Title);
            }

            return(adapter.Get());
        }
            private WikiPageSimple CreateWikiPageSimple(PXSiteMapNode node)
            {
                WikiPageSimple result = new WikiPageSimple();

                result.PageID = node.NodeID;
                WikiPage currentrow = PXSelect <WikiPage,
                                                Where <WikiPage.pageID, Equal <Required <WikiPage.pageID> > > > .SelectWindowed(new PXGraph(), 0, 1, result.PageID);

                if (currentrow != null)
                {
                    result.Name = currentrow.Name;
                }
                result.ParentUID = node.ParentID;
                result.Title     = string.IsNullOrEmpty(node.Title) ? ((PXWikiMapNode)node).Name : node.Title;
                return(result);
            }
        public virtual IEnumerable ViewTask(PXAdapter adapter)
        {
            WZTask task = PXSelect <WZTask, Where <WZTask.taskID, Equal <Current <WZTask.taskID> > > > .Select(this);

            if (task == null)
            {
                return(adapter.Get());
            }

            PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNode(typeof(WizardArticleMaint));

            if (node == null)
            {
                throw new PXException(Messages.NoAccessRightsToWizardArticle);
            }
            throw new PXRedirectToUrlException(node.Url + "?TaskID=" + task.TaskID, PXBaseRedirectException.WindowMode.InlineWindow, task.Name);
        }
Beispiel #24
0
    protected void Page_Init(object sender, EventArgs e)
    {
        if (!this.IsCallback && !string.IsNullOrEmpty(Page.Request.QueryString["ScreenId"]) && Page.Request.Path.IndexOf("/Pages/", StringComparison.InvariantCultureIgnoreCase) >= 0)
        {
            KeyValuePair <string, string>[] arr = new KeyValuePair <string, string> [Page.Request.QueryString.Count - 1];
            int i = 0;
            foreach (string key in Page.Request.QueryString.Keys)
            {
                if (key == null)
                {
                    continue;
                }
                if (string.Compare(key, "ScreenId", true) == 0)
                {
                    continue;
                }
                arr[i++] = new KeyValuePair <string, string>(key, Page.Request.QueryString[key]);
            }
            PX.Data.Handlers.PXEntityOpener.Open(Page.Request.QueryString["ScreenId"], true, arr);
        }

        var screenId = Master.ScreenID;

        if (string.IsNullOrEmpty(screenId))
        {
            screenId = "00.00.00.00";
        }
        if (DashboardContainer.DashboardsCount == 0)
        {
            string        art  = screenId.Replace(".", "_");
            string        menu = screenId.Replace(".", "");
            PXSiteMapNode mn   = PXSiteMap.Provider.FindSiteMapNodeByScreenID(menu);
            if (mn != null)
            {
                string nodeguid = mn.NodeID.ToString(), parGuid = mn.ParentID.ToString();;
                Response.Redirect(string.Format("{0}?pageid={1}&PrevScreenID={2}&SiteMapGuid={3}&ParentGuid={4}&rootUrl={5}",
                                                ResolveUrl("~/Wiki/ShowWiki.aspx"), GetArticleID(art), screenId, nodeguid, parGuid, menu));
            }
            else
            {
                Response.Redirect(string.Format("{0}?pageid={1}&PrevScreenID={2}&rootUrl={3}",
                                                ResolveUrl("~/Wiki/ShowWiki.aspx"), GetArticleID(art), screenId, menu));
            }
        }
    }
Beispiel #25
0
        public string GetUrl(Func <string> del)
        {
            string rmType = Base.Report.Current.Type;

            if (rmType == ARmReport.PM)
            {
                PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNodeByScreenID("CS600010");
                if (node != null)
                {
                    return(PX.Common.PXUrl.TrimUrl(node.Url));
                }
                throw new PXException(ErrorMessages.NotEnoughRightsToAccessObject, "CS600010");
            }
            else
            {
                return(del());
            }
        }
Beispiel #26
0
    /// <summary>
    /// Fill the specified tree control by means of parent screen id.
    /// </summary>
    private List <string> FillTreeFromSiteMap(PXTreeView tree, string screenID)
    {
        PXSiteMapNode node     = PXSiteMap.Provider.FindSiteMapNodeByScreenID(screenID);
        var           children = new List <string>();

        if (node != null)
        {
            foreach (PXSiteMapNode n in node.ChildNodes)
            {
                tree.Nodes.Add(new PXTreeNode(n.Title)
                {
                    NavigateUrl = n.Url
                });
                children.Add(n.ScreenID);
            }
        }
        return(children);
    }
        public virtual IEnumerable ViewPredecessorTask(PXAdapter adapter)
        {
            WZTaskPredecessorRelation relation = Predecessors.Current;

            if (relation == null)
            {
                return(adapter.Get());
            }

            WZTask task = PXSelect <WZTask, Where <WZTask.taskID, Equal <Required <WZTask.taskID> > > > .Select(this, relation.PredecessorID);

            if (task == null)
            {
                return(adapter.Get());
            }

            PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNode(typeof(WizardArticleMaint));

            throw new PXRedirectToUrlException(node.Url + "?TaskID=" + task.TaskID, PXBaseRedirectException.WindowMode.InlineWindow, task.Name);
        }
Beispiel #28
0
        private void RedirectToBatch(GLVoucherBatch batch, GLVoucher voucher = null)
        {
            if (batch != null)
            {
                GLWorkBook wb = PXSelect <GLWorkBook, Where <GLWorkBook.workBookID, Equal <Required <GLWorkBook.workBookID> > > > .Select(this, batch.WorkBookID);

                if (wb == null || wb.VoucherEditScreen == null)
                {
                    throw new PXException(Messages.GLWorkBookIsInvalidOrVoucherEditScreenIsNotConfiguredForIt, batch.WorkBookID);
                }

                PXGraph       target = null;
                PXSiteMapNode sm     = PXSiteMap.Provider.FindSiteMapNodeFromKey((Guid)wb.VoucherEditScreen);
                if (sm == null)
                {
                    throw new PXException(Messages.CannotFindSitemapNode);
                }
                Type graphType       = System.Web.Compilation.BuildManager.GetType(sm.GraphType, true);
                Type parentGraphType = GLWorkBookMaint.GetGraphByDocType(batch.Module, wb.DocType);
                if (parentGraphType != null && parentGraphType.IsAssignableFrom(graphType))
                {
                    target = PXGraph.CreateInstance(graphType);
                }
                else
                {
                    throw new PXException(Messages.GLVoucherEditGraphMayNotBeAssignedToTheBasedDocumentGraph, graphType, parentGraphType);
                }
                if (voucher == null)
                {
                    voucher = PXSelect <GLVoucher, Where <GLVoucher.workBookID, Equal <Required <GLVoucher.workBookID> >,
                                                          And <GLVoucher.voucherBatchNbr, Equal <Required <GLVoucher.voucherBatchNbr> > > >, OrderBy <Desc <GLVoucher.refNbr> > > .Select(this, batch.WorkBookID, batch.VoucherBatchNbr);
                }
                else
                {
                    voucher = PXSelect <GLVoucher, Where <GLVoucher.workBookID, Equal <Required <GLVoucher.workBookID> >,
                                                          And <GLVoucher.voucherBatchNbr, Equal <Required <GLVoucher.voucherBatchNbr> >, And <GLVoucher.refNbr, Equal <Required <GLVoucher.refNbr> > > > >, OrderBy <Desc <GLVoucher.refNbr> > > .Select(this, batch.WorkBookID, batch.VoucherBatchNbr, voucher.RefNbr);
                }
                SetVoucherAsCurrent(target, voucher);
                throw new PXRedirectWithinContextException(this, target, Messages.VoucherEdit, typeof(GLVoucherBatch.workBookID), typeof(GLVoucherBatch.voucherBatchNbr));
            }
        }
Beispiel #29
0
    protected void btnHistory_Click(object sender, EventArgs e)
    {
        string ScenarioID = Request.Params["ScenarioID"];

        if (!String.IsNullOrEmpty(ScenarioID))
        {
            WizardScenarioMaint graph = PXGraph.CreateInstance <WizardScenarioMaint>();
            Guid       id             = Guid.Parse(ScenarioID);
            WZScenario scenario       = PXSelect <WZScenario, Where <WZScenario.scenarioID, Equal <Required <WZScenario.scenarioID> > > > .Select(graph, id);

            if (scenario != null && !String.IsNullOrEmpty(scenario.Name))
            {
                PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNodeFromKey(id);
                if (node != null)
                {
                    string url = ResolveUrl(@"~\Main.aspx?ScreenId=WZ201501&ScenarioID=" + scenario.ScenarioID);
                    Controls.Add(new LiteralControl(@"<script  type='text/javascript'>try { window.top.location.href='" + url + "'; } catch (ex) {}</script>\n"));
                }
            }
        }
    }
Beispiel #30
0
        protected override void T_SitemapTitle_FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e)
        {
            if (e.Row != null)
            {
                string title = (string)sender.GetValue(e.Row, TitleField);

                PXSiteMapNode   existingNode = FindNodes((WZScenario)e.Row).FirstOrDefault();
                SiteMapInternal record       = null;
                if (existingNode != null)
                {
                    record = (SiteMapInternal)SiteMap.SelectSingle(existingNode.NodeID);
                }

                string url = existingNode != null && existingNode.Url != null ? existingNode.Url : BuildUrl((WZScenario)e.Row);
                foreach (SiteMapInternal inserted in SiteMapCache.Inserted)
                {
                    if (string.Equals(inserted.Url, url, StringComparison.OrdinalIgnoreCase))
                    {
                        SiteMapCache.Delete(inserted);
                    }
                }

                if (record == null)
                {
                    record = (SiteMapInternal)SiteMapCache.Insert();
                }
                if (record != null)
                {
                    record.Url      = url;
                    record.ParentID = PXSiteMap.RootNode.NodeID;
                    record.Title    = (string)sender.GetValue(e.Row, TitleField);
                    record          = (SiteMapInternal)SiteMapCache.Update(record);
                    if (ScreenIDField != null)
                    {
                        sender.SetValue(e.Row, ScreenIDField, IsScreenFieldGuid ? (object)record.NodeID : record.ScreenID);
                    }
                }
            }
        }
Beispiel #31
0
	/// <summary>
	/// Create default Wiki tree control with specified name and data source.
	/// </summary>
	private PXWikiTree CreateWikiTree(PXSiteMapNode node, string treeId)
	{
		PXWikiTree tree = new PXWikiTree();
		string url = node.Url;
		Guid wikiId = PXSiteMap.WikiProvider.GetWikiIDFromUrl(node.Url);
		WikiReader reader = PXGraph.CreateInstance<WikiReader>();
		WikiDescriptor wiki = reader.wikis.SelectWindowed(0, 1, wikiId);
		tree.Provider = PX.Data.PXSiteMap.WikiProvider;
		url = Wiki.Url(wikiId);

		tree.TreeSkin = "Help";
		tree.ID = treeId;
		tree.WikiID = wikiId;
		tree.ShowDefaultImages = tree.ShowRootNode = false;
		tree.Target = "main";
		tree.StartingNodeUrl = this.ResolveUrl(url);
		tree.SearchUrl = this.ResolveUrl("~/Search/Wiki.aspx") + "?globalsearchcaption=0&isWiki=1" + "&query=";
		if (PXSiteMap.IsPortal)
			tree.SearchUrl = this.ResolveUrl("~/Search/WikiSP.aspx") + "?adv=1&query=";
		tree.NewArticleUrl = (wiki == null ||
			string.IsNullOrEmpty(wiki.UrlEdit)) ? "" : this.ResolveUrl(wiki.UrlEdit) + "?wiki=" + wikiId;
		tree.CssClass = "menuTreeHlp";

		tree.ClientEvents.NodeClick = "MainFrame.treeClick";
		tree.Synchronize += new PXTreeSyncEventHandler(wikiTree_Synchronize);
		return tree;
	}