Esempio n. 1
0
        private void Schedule(HttpContextBase context)
        {
            if (!engine.SecurityManager.IsAuthorized(context.User, Selection.SelectedItem, Security.Permission.Publish))
            {
                throw new UnauthorizedAccessException();
            }

            if (string.IsNullOrEmpty(Selection.RequestValueAccessor("publishDate")))
            {
                context.Response.WriteJson(new { Scheduled = false });
                return;
            }
            else
            {
                var publishDate = DateTime.Parse(Selection.RequestValueAccessor("publishDate"));
                Selection.SelectedItem.SchedulePublishing(publishDate, engine);

                context.Response.WriteJson(new { Scheduled = true, Current = engine.GetNodeAdapter(Selection.SelectedItem).GetTreeNode(Selection.SelectedItem) });
            }
        }
Esempio n. 2
0
        private void Organize(HttpContextBase context, SelectionUtility selection)
        {
            var navigator         = engine.Resolve <Navigator>();
            var persister         = engine.Persister;
            var integrity         = engine.IntegrityManager;
            var versions          = engine.Resolve <IVersionManager>();
            var versionRepository = engine.Resolve <ContentVersionRepository>();

            string      versionIndex = selection.RequestValueAccessor(PathData.VersionIndexQueryKey);
            string      versionKey   = selection.RequestValueAccessor(PathData.VersionKeyQueryKey);
            var         path         = PartsExtensions.EnsureDraft(versions, versionRepository, versionIndex, versionKey, selection.SelectedItem);
            ContentItem item         = path.CurrentItem;
            ContentItem page         = path.CurrentPage;

            item.ZoneName = selection.RequestValueAccessor("zone");

            var         beforeItem = PartsExtensions.GetBeforeItem(navigator, selection.RequestValueAccessor, page);
            ContentItem parent;

            if (beforeItem != null)
            {
                parent = beforeItem.Parent;
                int newIndex = parent.Children.IndexOf(beforeItem);
                ThrowUnlessNull(integrity.GetMoveException(item, parent));
                Utility.Insert(item, parent, newIndex);
            }
            else
            {
                parent = PartsExtensions.GetBelowItem(navigator, selection.RequestValueAccessor, page);
                ThrowUnlessNull(integrity.GetMoveException(item, parent));
                Utility.Insert(item, parent, parent.Children.Count);
            }

            Utility.UpdateSortOrder(parent.Children);
            versionRepository.Save(page);
        }