Exemplo n.º 1
0
        /// <summary>
        /// Retrieve field editor options controlling the field editor,
        /// including the fields displayed.
        /// </summary>
        /// <param name="args">Pipeline arguments.</param>
        /// <param name="form">Form parameters.</param>
        /// <returns>Field editor options.</returns>
        protected override Sitecore.Shell.Applications.WebEdit.PageEditFieldEditorOptions GetOptions(Sitecore.Web.UI.Sheer.ClientPipelineArgs args, NameValueCollection form)
        {
            Sitecore.Diagnostics.Assert.IsNotNull(args, "args");
            Sitecore.Diagnostics.Assert.IsNotNull(form, "form");
            Sitecore.Diagnostics.Assert.IsNotNullOrEmpty(args.Parameters[URI], URI);
            Sitecore.Data.ItemUri uri = Sitecore.Data.ItemUri.Parse(args.Parameters[URI]);
            Sitecore.Diagnostics.Assert.IsNotNull(uri, URI);

            Sitecore.Data.Items.Item item = Sitecore.Data.Database.GetItem(uri);
            Sitecore.Diagnostics.Assert.IsNotNull(item, "item");

            List <Sitecore.Data.FieldDescriptor> fields = new List <Sitecore.Data.FieldDescriptor>();

            try
            {
                foreach (string fieldName in GetFieldNames())
                {
                    fields.Add(new Sitecore.Data.FieldDescriptor(item, item.Fields[fieldName].Name));
                }
            }
            catch (Exception ex)
            {
                Sitecore.Diagnostics.Log.Error(string.Format("Could not initialize blogentry fieldeditor. Error {0}, Stacktrace; {1}", ex.Message, ex.StackTrace), this);
            }

            // Field editor options.
            Sitecore.Shell.Applications.WebEdit.PageEditFieldEditorOptions options = new Sitecore.Shell.Applications.WebEdit.PageEditFieldEditorOptions(form, fields);
            options.PreserveSections = false;
            options.DialogTitle      = "Assign categories to the current entry";
            options.Icon             = item.Appearance.Icon;

            return(options);
        }
Exemplo n.º 2
0
        public void DoAdoption()
        {
            if (_originalItem != null)
            {
                Sitecore.Data.ItemUri uri = new Sitecore.Data.ItemUri(_item.SourceUri);
                Sitecore.Data.ItemUri uriOrg = new Sitecore.Data.ItemUri(_originalItem.Versions.GetLatestVersion());
                using (new Sitecore.SecurityModel.SecurityDisabler())
                {
                    if (uri.Version != uriOrg.Version && (_item.Database.NotificationProvider != null))
                    {
                        _item.Editing.BeginEdit();
                        Sitecore.Data.Fields.DateField validFromClone = _item.Fields["__Valid From"];
                        Sitecore.Data.Fields.DateField validFromOriginal = _originalItem.Fields["__Valid From"];
                        validFromClone = validFromOriginal;

                        _item.Editing.EndEdit();
                        foreach (Sitecore.Data.Clones.Notification notification in _item.Database.NotificationProvider.GetNotifications(_item))
                        {
                            notification.Accept(_item);
                        }
                    }
                    //ToDO if (!SharedSource.CloningManager.Configuration.Settings.DisableAdoptionChangeRight)
                    //SetSecurity();
                }
            }
        }
        public void Initialize(string line)
        {
            Match match = Regex.Match(line, @"\((?<user>\w+\\\w+)\)[\W:]+(?<verb>[^:]+)[:\W]*(?<rest>.*)");

            if (match.Success)
            {
                User = match.Groups["user"].Value;
                Verb = match.Groups["verb"].Value;

                string rest = match.Groups["rest"].Value;
                ItemUri = string.IsNullOrEmpty(rest) ? null : parseItemUri(rest);
            }
        }