Esempio n. 1
0
        private void InitializeLogoLink()
        {
            IPxUrl url = RouteInstance.PxUrlProvider.Create(null);

            if (!string.IsNullOrEmpty(url.Database))
            {
                try
                {
                    IHomepageSettings homepage = PXWeb.Settings.Current.Database[url.Database].Homepages.GetHomepage(url.Language);

                    if (string.IsNullOrWhiteSpace(homepage.Url))
                    {
                        return;
                    }

                    if (homepage.IsExternal)
                    {
                        LogoLink.NavigateUrl = homepage.Url;
                    }
                    else
                    {
                        LogoLink.NavigateUrl = LinkManager.CreateLink(homepage.Url);
                    }
                }
                catch (Exception e)
                {
                    log.Debug("url.Database = " + url.Database + ", url.Language = " + url.Language);
                    log.Error("The error.", e);
                    throw e;
                }
            }
            else
            {
                LogoLink.NavigateUrl = LinkManager.CreateLink("Default.aspx");
            }
        }
Esempio n. 2
0
        private void InitializeBreadcrumb()
        {
            IPxUrl       url = RouteInstance.PxUrlProvider.Create(null);
            DatabaseInfo dbi = null;

            if (!string.IsNullOrEmpty(url.Database))
            {
                try
                {
                    IHomepageSettings homepage = PXWeb.Settings.Current.Database[url.Database].Homepages.GetHomepage(url.Language);
                    breadcrumb1.HomePageIsExternal = homepage.IsExternal;
                    breadcrumb1.HomePage           = homepage.Url;
                    if (PXWeb.Settings.Current.Menu.MenuMode == MenuModeType.TreeViewWithoutFiles)
                    {
                        breadcrumb1.UseTableList = true;
                    }
                    else
                    {
                        breadcrumb1.UseTableList = false;
                    }
                }
                catch (KeyNotFoundException e)
                {
                    log.Debug("url.Database = " + url.Database + ", url.Language = " + url.Language);
                    log.Debug("Getting KeyNotFoundException for url.Database. Possible keys are:");
                    foreach (string dbid in PXWeb.Settings.Current.Database.Keys)
                    {
                        log.Debug("dbid = " + dbid);
                    }
                    log.Debug("That all, folks!");
                    log.Error("The error.", e);
                    throw e;
                }
            }
            else
            {
                breadcrumb1.HomePageIsExternal = false;
                breadcrumb1.HomePage           = "Default.aspx";
            }

            breadcrumb1.HomePageName   = GetLocalizedString("PxWebHome");
            breadcrumb1.HomePageImage  = true;
            breadcrumb1.MenuPage       = "Menu.aspx";
            breadcrumb1.SelectionPage  = "Selection.aspx";
            breadcrumb1.TablePathParam = "px_path";
            breadcrumb1.LayoutParam    = "layout";

            if (string.IsNullOrEmpty(url.Database))
            {
                return;
            }

            dbi = PXWeb.Settings.Current.General.Databases.GetDatabase(url.Database);

            breadcrumb1.DatabaseId   = dbi.Id;
            breadcrumb1.DatabaseName = dbi.GetDatabaseName(LocalizationManager.CurrentCulture.TwoLetterISOLanguageName);

            if (string.IsNullOrEmpty(url.Path))
            {
                return;
            }

            //MenuPath path;
            //if (dbi.Type == DatabaseType.CNMM)
            //{
            //    path = MenuPathFactory.Create(LinkType.Table);
            //}
            //else
            //{
            //    path = MenuPathFactory.Create(LinkType.PX);
            //}

            ////string tablePath = url.Path.Replace("___", "/");
            //string tablePath = path.Decompress(url.Path);
            //breadcrumb1.TablePath = tablePath;

            if (dbi.Type == DatabaseType.CNMM)
            {
                breadcrumb1.DatabaseType = PCAxis.Web.Core.Enums.DatabaseType.CNMM;
            }
            else
            {
                breadcrumb1.DatabaseType = PCAxis.Web.Core.Enums.DatabaseType.PX;
            }

            breadcrumb1.TablePath = System.Web.HttpUtility.UrlDecode(url.Path);

            if (string.IsNullOrEmpty(url.Table))
            {
                return;
            }

            if ((dbi.Type == PCAxis.Web.Core.Enums.DatabaseType.CNMM) && (!url.Table.Contains(":")))
            {
                breadcrumb1.Table = url.Database + ":" + url.Table;
            }
            else
            {
                breadcrumb1.Table = url.Table;
            }
        }