Ejemplo n.º 1
0
        protected override UmbracoTreeResult GetTreeData(HiveId parentId, FormCollection queryStrings)
        {
            if (parentId == RootNodeId)
            {
                foreach (var node in PackageTreeNodes
                         .Select(x =>
                                 CreateTreeNode(
                                     x.Item1,
                                     queryStrings,
                                     x.Item2,
                                     Url.GetEditorUrl(x.Item3, null, EditorControllerId, BackOfficeRequestContext.RegisteredComponents, BackOfficeRequestContext.Application.Settings),
                                     x.Item3,
                                     false,
                                     "tree-repository")))
                {
                    NodeCollection.Add(node);
                }
            }
            else
            {
                throw new NotImplementedException("The Packaging tree does not support more than 1 level");
            }

            return(UmbracoTree());
        }
Ejemplo n.º 2
0
        protected override RebelTreeResult GetTreeData(HiveId parentId, FormCollection queryStrings)
        {
            if (parentId == RootNodeId)
            {
                foreach (var node in PackageTreeNodes
                         .Select(x =>
                                 CreateTreeNode(
                                     x.Item1,
                                     queryStrings,
                                     x.Item2,
                                     !string.IsNullOrWhiteSpace(x.Item3)
                                    ? Url.GetEditorUrl(x.Item3, null, EditorControllerId, BackOfficeRequestContext.RegisteredComponents, BackOfficeRequestContext.Application.Settings)
                                    : Url.GetCurrentDashboardUrl(),
                                     x.Item3,
                                     false,
                                     "tree-repository")))
                {
                    if ((int)node.HiveId.Value.Value == 3)
                    {
                        node.AddEditorMenuItem <CreateItem>(this, "createUrl", "Create");
                        node.AddMenuItem <Reload>();

                        node.HasChildren = true;
                    }

                    NodeCollection.Add(node);
                }
            }
            else
            {
                if ((int)parentId.Value.Value == 3)
                {
                    using (var uow = BackOfficeRequestContext.Application.Hive.OpenReader <IFileStore>(new Uri("storage://created-packages")))
                    {
                        var root = uow.Repositories.Get <File>(new HiveId("/"));
                        var defs = uow.Repositories.GetChildRelations(root, FixedRelationTypes.DefaultRelationType)
                                   .Select(x => PackageBuilderHelper.GetPackageDefinitionById(uow, x.DestinationId))
                                   .Where(x => x != null)
                                   .ToList();

                        foreach (var def in defs)
                        {
                            var n = CreateTreeNode(
                                def.Id,
                                queryStrings,
                                def.Name,
                                Url.GetEditorUrl("Edit", def.Id, EditorControllerId, BackOfficeRequestContext.RegisteredComponents, BackOfficeRequestContext.Application.Settings),
                                "Edit",
                                false,
                                "tree-package");


                            n.AddEditorMenuItem <Delete>(this, "deleteUrl", "Delete");

                            NodeCollection.Add(n);
                        }
                    }
                }
                else
                {
                    throw new NotImplementedException("The Packaging tree does not support more than 1 level");
                }
            }

            return(RebelTree());
        }