Exemplo n.º 1
0
        public void Process([NotNull] CopyItemsArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            var parameters = args.Parameters;

            Assert.IsNotNull(parameters, "parameters");

            if (!string.Equals(parameters["mode"], "smart", StringComparison.OrdinalIgnoreCase))
            {
                return;
            }

            var copies = args.Copies;

            Assert.IsNotNull(copies, "copies");

            var sources = GetItems(args).ToArray();

            for (var i = 0; i < copies.Length; i++)
            {
                var copy   = copies[i];
                var source = sources[i];
                Helper.ReplaceItemReferences(source, copy, true, isAsync);
            }

            // if mode is smart then this should be the last processor
            args.AbortPipeline();
        }
 public void DeletePollClones(CopyItemsArgs args)
 {
     if (args.Copies != null)
     {
         foreach (Item item in args.Copies.Where<Item>(delegate(Item x)
         {
             return x != null;
         }))
         {
             if (item == null)
             {
                 break;
             }
             //for (Item item2 = item.Axes.GetDescendants().Where<Item>(delegate (Item x) {
             //    return (x.TemplateID == PollConstants.PollTemplateID);
             //}).FirstOrDefault<Item>(); item2 != null; item2 = item.Axes.GetDescendants().Where<Item>(CS$<>9__CachedAnonymousMethodDelegate5).FirstOrDefault<Item>())
             //{
             //    using (new SecurityDisabler())
             //    {
             //        item2.Delete();
             //    }
             //    if (CS$<>9__CachedAnonymousMethodDelegate5 == null)
             //    {
             //        CS$<>9__CachedAnonymousMethodDelegate5 = delegate (Item x) {
             //            return x.TemplateID == PollConstants.PollTemplateID;
             //        };
             //    }
             //}
         }
     }
 }
        public void Execute(CopyItemsArgs args)
        {
            try
            {
                var database = Database.GetDatabase(args.Parameters["database"]);
                var language = LanguageManager.GetLanguage(args.Parameters["language"]);

                if (database == null || language == null)
                {
                    return;
                }

                var originalItem = database.GetItem(new ID(args.Parameters["items"]), language);
                var copiedItem   = args.Copies.FirstOrDefault();

                if (originalItem == null || copiedItem == null)
                {
                    return;
                }

                this.service.UpdateRelativeDataSourses(originalItem, copiedItem);
            }
            catch (Exception ex)
            {
                Log.Error($"Error while updating relative datasources.", ex, this);
            }
        }
Exemplo n.º 4
0
        // Methods
        public new void Execute(CopyItemsArgs args)
        {
            Event.RaiseEvent("item:bucketing:cloning", args, this);
            Assert.ArgumentNotNull(args, "args");
            var items = GetItems(args);

            if (args.IsNotNull())
            {
                var itemId = args.Parameters["destination"];
                if (itemId.IsNotNull())
                {
                    var database = GetDatabase(args);
                    if (database.GetItem(itemId).IsBucketItemCheck())
                    {
                        var list = new ArrayList();
                        foreach (var item3 in from item2 in items
                                 where item2.IsNotNull()
                                 let item = BucketManager.CreateAndReturnDateFolderDestination(database.GetItem(itemId), item2)
                                            let copyOfName = ItemUtil.GetCopyOfName(item, item2.Name)
                                                             select item2.CloneTo(item, copyOfName, true))
                        {
                            list.Add(item3);
                        }

                        args.Copies = list.ToArray(typeof(Item)) as Item[];
                        Event.RaiseEvent("item:bucketing:cloned", args, this);
                        args.AbortPipeline();
                    }
                }
            }
        }
Exemplo n.º 5
0
 public void CheckLanguage(CopyItemsArgs args)
 {
     Assert.ArgumentNotNull(args, "args");
     if (args.IsPostBack)
     {
         if (args.Result != "yes")
         {
             args.AbortPipeline();
         }
     }
     else
     {
         bool flag = false;
         foreach (Item item in GetSubItems(args))
         {
             if (item.TemplateID == TemplateIDs.Language)
             {
                 flag = true;
                 break;
             }
         }
         if (flag)
         {
             SheerResponse.Confirm("You are coping a language.\n\nA language item must have a name that is a valid ISO-code.\n\nPlease rename the copied item afterward.\n\nAre you sure you want to continue?");
             args.WaitForPostBack();
         }
     }
 }
Exemplo n.º 6
0
        public new void Execute(CopyItemsArgs args)
        {
            Event.RaiseEvent("item:bucketing:copying", args, this);
            Assert.ArgumentNotNull(args, "args");
            var  items       = GetItems(args);
            Item currentItem = null;

            if (items[0].IsNotNull())
            {
                currentItem = items[0];
            }

            Error.AssertItem(items[0], "Item");
            var database  = GetDatabase(args);
            var topParent = database.GetItem(args.Parameters["destination"]);

            if (BucketManager.IsBucket(topParent))
            {
                Shell.Applications.Dialogs.ProgressBoxes.ProgressBox.Execute("Copying Items", "Copying Items", Images.GetThemedImageSource("Business/16x16/chest_add.png"), this.StartProcess, new object[] { currentItem, BucketManager.CreateAndReturnDateFolderDestination(topParent, DateTime.Now), true });

                if (currentItem.IsNotNull())
                {
                    Log.Info("Item " + currentItem.ID + " has been copied to another bucket", this);
                }

                Event.RaiseEvent("item:bucketing:copied", args, this);
                args.AbortPipeline();
            }
        }
Exemplo n.º 7
0
        public void Process([NotNull] CopyItemsArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            var parameters = args.Parameters;

            Assert.IsNotNull(parameters, "parameters");

            if (!string.Equals(parameters["mode"], "smart", StringComparison.OrdinalIgnoreCase))
            {
                return;
            }


            var copies = args.Copies;

            Assert.IsNotNull(copies, "copies");

            foreach (var copy in copies)
            {
                if (this.isAsync)
                {
                    ReferenceReplacementJob.StartAsync(copy.Source, copy);
                }
                else
                {
                    ReferenceReplacementJob.Start(copy.Source, copy);
                }
            }

            // if mode is smart then this should be the last processor
            args.AbortPipeline();
        }
        // Methods
        public new void Execute(CopyItemsArgs args)
        {
            Event.RaiseEvent("item:bucketing:cloning", args, this);
            Assert.ArgumentNotNull(args, "args");
            var items = GetItems(args);
            if (args.IsNotNull())
            {
                var itemId = args.Parameters["destination"];
                if (itemId.IsNotNull())
                {
                    var database = GetDatabase(args);
                    if (database.GetItem(itemId).IsBucketItemCheck())
                    {
                        var list = new ArrayList();
                        foreach (var item3 in from item2 in items
                                              where item2.IsNotNull()
                                              let item = BucketManager.CreateAndReturnDateFolderDestination(database.GetItem(itemId), item2)
                                              let copyOfName = ItemUtil.GetCopyOfName(item, item2.Name)
                                              select item2.CloneTo(item, copyOfName, true))
                        {
                            list.Add(item3);
                        }

                        args.Copies = list.ToArray(typeof(Item)) as Item[];
                        Event.RaiseEvent("item:bucketing:cloned", args, this);
                        args.AbortPipeline();
                    }
                }
            }
        }
Exemplo n.º 9
0
 public void DeletePollClones(CopyItemsArgs args)
 {
     if (args.Copies != null)
     {
         foreach (Item item in args.Copies.Where <Item>(delegate(Item x)
         {
             return(x != null);
         }))
         {
             if (item == null)
             {
                 break;
             }
             //for (Item item2 = item.Axes.GetDescendants().Where<Item>(delegate (Item x) {
             //    return (x.TemplateID == PollConstants.PollTemplateID);
             //}).FirstOrDefault<Item>(); item2 != null; item2 = item.Axes.GetDescendants().Where<Item>(CS$<>9__CachedAnonymousMethodDelegate5).FirstOrDefault<Item>())
             //{
             //    using (new SecurityDisabler())
             //    {
             //        item2.Delete();
             //    }
             //    if (CS$<>9__CachedAnonymousMethodDelegate5 == null)
             //    {
             //        CS$<>9__CachedAnonymousMethodDelegate5 = delegate (Item x) {
             //            return x.TemplateID == PollConstants.PollTemplateID;
             //        };
             //    }
             //}
         }
     }
 }
Exemplo n.º 10
0
        protected static Database GetDatabase(CopyItemsArgs args)
        {
            string   name     = args.Parameters["database"];
            Database database = Factory.GetDatabase(name);

            Assert.IsNotNull(database, name);
            return(database);
        }
Exemplo n.º 11
0
        protected static Database GetDatabase(CopyItemsArgs args)
        {
            string   parameter = args.Parameters["database"];
            Database database  = Factory.GetDatabase(parameter);

            Assert.IsNotNull((object)database, parameter);
            return(database);
        }
Exemplo n.º 12
0
        /// <summary>
        /// Called when the item has copied.
        /// </summary>
        /// <param name="args">The arguments.</param>
        public void OnItemCopied([NotNull] CopyItemsArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            foreach (Item item in args.Copies)
            {
                this.RecalculateOrder(item);
            }
        }
Exemplo n.º 13
0
        /// <summary>
        /// Refresh a newly created clone's ItemAggregate Fields
        /// </summary>
        /// <param name="args"></param>
        public virtual void Execute(CopyItemsArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            if (args.Copies != null && args.Copies.Any())
            {
                Array.ForEach(args.Copies, Utils.RefreshFieldValues);
            }
        }
Exemplo n.º 14
0
 public override void Execute(CommandContext context)
 {
     Item[] items = context.Items;
     Assert.ArgumentNotNull(items, "items");
     if (items.Length > 0)
     {
         CopyItemsArgs args = new CopyItemsArgs();
         Utils.Start("uiCopyOnlyItem", args, items[0].Database, items);
     }
 }
Exemplo n.º 15
0
        public virtual void ProcessFieldValues(CopyItemsArgs args)
        {
            var sourceRoot = GetItems(args).FirstOrDefault();

            Assert.ArgumentNotNull(sourceRoot, "sourceRoot");

            var targetItem = args.Copies.FirstOrDefault();

            Assert.ArgumentNotNull(targetItem, "targetItem");

            _referenceUpdater.UpdateReferences(sourceRoot, targetItem);
        }
Exemplo n.º 16
0
 public void CheckPollCloneDestination(CopyItemsArgs args)
 {
     string str = args.Parameters[1];
     if (!string.IsNullOrEmpty(str))
     {
         Item item = Context.ContentDatabase.Items.GetItem(new ID(str));
         if ((item != null) && (item.TemplateID == PollConstants.PollTemplateID))
         {
             Context.ClientPage.ClientResponse.Alert("Can't clone DMS Poll items.");
             args.AbortPipeline();
         }
     }
 }
Exemplo n.º 17
0
        public void CheckPollCloneDestination(CopyItemsArgs args)
        {
            string str = args.Parameters[1];

            if (!string.IsNullOrEmpty(str))
            {
                Item item = Context.ContentDatabase.Items.GetItem(new ID(str));
                if ((item != null) && (item.TemplateID == PollConstants.PollTemplateID))
                {
                    Context.ClientPage.ClientResponse.Alert("Can't clone DMS Poll items.");
                    args.AbortPipeline();
                }
            }
        }
Exemplo n.º 18
0
        protected static List <Item> GetItems(CopyItemsArgs args)
        {
            List <Item> objList  = new List <Item>();
            Database    database = GetDatabase(args);

            foreach (string path in new ListString(args.Parameters["items"], '|'))
            {
                Item obj = database.GetItem(path, Language.Parse(args.Parameters["language"]));
                if (obj != null)
                {
                    objList.Add(obj);
                }
            }
            return(objList);
        }
Exemplo n.º 19
0
        protected static List <Item> GetItems(CopyItemsArgs args)
        {
            List <Item> list     = new List <Item>();
            Database    database = GetDatabase(args);
            ListString  str      = new ListString(args.Parameters["items"], '|');

            foreach (string str2 in str)
            {
                Item item = database.GetItem(str2);
                if (item != null)
                {
                    list.Add(item);
                }
            }
            return(list);
        }
Exemplo n.º 20
0
        public virtual void Execute(CopyItemsArgs args)
        {
            Assert.ArgumentNotNull((object)args, nameof(args));
            Item target = GetDatabase(args).GetItem(args.Parameters["destination"], Language.Parse(args.Parameters["language"]));

            Assert.IsNotNull((object)target, args.Parameters["destination"]);
            ArrayList arrayList = new ArrayList();

            foreach (Item itemToCopy in GetItems(args))
            {
                if (itemToCopy != null)
                {
                    arrayList.Add((object)this.CopyItem(target, itemToCopy));
                }
            }
            args.Copies = arrayList.ToArray(typeof(Item)) as Item[];
        }
Exemplo n.º 21
0
 public void GetDestination(CopyItemsArgs args)
 {
     Assert.ArgumentNotNull(args, "args");
     if (SheerResponse.CheckModified())
     {
         Database   database = GetDatabase(args);
         ListString str      = new ListString(args.Parameters["items"], '|');
         Item       item     = database.Items[str[0]];
         UrlString  str2     = new UrlString(this.GetDialogUrl());
         if (item != null)
         {
             str2.Append("fo", item.ID.ToString());
             str2.Append("sc_content", item.Database.Name);
         }
         Context.ClientPage.ClientResponse.ShowModalDialog(str2.ToString(), true);
         args.WaitForPostBack(false);
     }
 }
Exemplo n.º 22
0
        private static IEnumerable <Item> GetItems(CopyItemsArgs args)
        {
            var databaseName = args.Parameters["database"];
            var database     = Factory.GetDatabase(databaseName);

            Assert.IsNotNull(database, "database");

            var listString = new ListString(args.Parameters["items"], '|');

            foreach (var idString in listString)
            {
                var item = database.GetItem(idString);
                if (item != null)
                {
                    yield return(item);
                }
            }
        }
Exemplo n.º 23
0
        public void GetDestination(CopyItemsArgs args)
        {
            Assert.ArgumentNotNull((object)args, nameof(args));
            if (!SheerResponse.CheckModified())
            {
                return;
            }
            Item      obj       = GetDatabase(args).Items[new ListString(args.Parameters["destination"], '|')[0]];
            UrlString urlString = new UrlString(this.GetDialogUrl());

            if (obj != null)
            {
                urlString.Append("fo", obj.ID.ToString());
                urlString.Append("sc_content", obj.Database.Name);
                urlString.Append("la", args.Parameters["language"]);
            }
            Context.ClientPage.ClientResponse.ShowModalDialog(urlString.ToString(), "1200px", "700px", string.Empty, true);
            args.WaitForPostBack(false);
        }
Exemplo n.º 24
0
        protected static List <Item> GetSubItems(CopyItemsArgs args)
        {
            List <Item> list     = new List <Item>();
            Database    database = GetDatabase(args);
            ListString  str      = new ListString(args.Parameters["items"], '|');

            foreach (string str2 in str)
            {
                Item item = database.GetItem(str2);

                //Has children? Add it.
                if (item != null && item.HasChildren)
                {
                    foreach (Item child in item.Children)
                    {
                        list.Add(child);
                    }
                }
            }
            return(list);
        }
Exemplo n.º 25
0
        public virtual void Execute(CopyItemsArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            Item item = GetDatabase(args).GetItem(args.Parameters["destination"]);

            Assert.IsNotNull(item, args.Parameters["destination"]);
            ArrayList   list  = new ArrayList();
            List <Item> items = GetSubItems(args);
            string      str   = item.Uri.ToString();

            foreach (Item item2 in items)
            {
                if (item2 != null)
                {
                    Log.Audit(this, "Copy sub items: {0}", new string[] { AuditFormatter.FormatItem(item2), str });
                    string copyOfName = ItemUtil.GetCopyOfName(item, item2.Name);
                    Item   item3      = Context.Workflow.CopyItem(item2, item, copyOfName);
                    list.Add(item3);
                }
            }
            args.Copies = list.ToArray(typeof(Item)) as Item[];
        }
Exemplo n.º 26
0
 public void CheckDestination(CopyItemsArgs args)
 {
     Assert.ArgumentNotNull(args, "args");
     if (!args.HasResult)
     {
         args.AbortPipeline();
     }
     else
     {
         Database database = GetDatabase(args);
         if (((args.Result != null) && (args.Result.Length > 0)) && (args.Result != "undefined"))
         {
             if (!database.GetItem(args.Result).Access.CanCreate())
             {
                 Context.ClientPage.ClientResponse.Alert("You do not have permission to create items here.");
                 args.AbortPipeline();
                 return;
             }
             args.Parameters["destination"] = args.Result;
         }
         args.IsPostBack = false;
     }
 }
Exemplo n.º 27
0
        public virtual void ProcessFieldValues(CopyItemsArgs args)
        {
            var sourceRoot = GetItems(args).FirstOrDefault();

            Assert.IsNotNull(sourceRoot, "sourceRoot is null.");

            var targetItem = args.Copies.FirstOrDefault();

            Assert.IsNotNull(targetItem, "targetItem is null.");

            var roots = new Dictionary <string, string>
            {
                { sourceRoot.Paths.Path, targetItem.Paths.Path }
            };

            if (roots.Count <= 0)
            {
                return;
            }

            var refUpdater = new ReferenceUpdater(targetItem, roots, true);

            refUpdater.Start();
        }