Esempio n. 1
0
        public override void Execute(object parameter)
        {
            var context = parameter as ContentTreeContext;

            if (context == null)
            {
                return;
            }

            foreach (var i in context.SelectedItems)
            {
                var item = i as ItemTreeViewItem;
                if (item == null)
                {
                    continue;
                }

                ExecuteCompleted completed = delegate(string response, ExecuteResult executeResult)
                {
                    if (!DataService.HandleExecute(response, executeResult))
                    {
                        return;
                    }

                    var fieldId  = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder");
                    var fieldUri = new FieldUri(new ItemVersionUri(item.ItemUri, LanguageManager.CurrentLanguage, Version.Latest), fieldId);
                    Notifications.RaiseFieldChanged(this, fieldUri, string.Empty);

                    item.RefreshItem();
                };

                item.ItemUri.Site.DataService.ExecuteAsync("ResetSortOrder", completed, item.ItemUri.ItemId.ToString(), item.ItemUri.DatabaseName.Name);
            }
        }
Esempio n. 2
0
        public override void Execute(object parameter)
        {
            var context = parameter as IItemSelectionContext;

            if (context == null)
            {
                return;
            }

            if (AppHost.MessageBox("Are you sure you want to remove ownership?", "Confirmation", MessageBoxButton.OKCancel, MessageBoxImage.Question) != MessageBoxResult.OK)
            {
                return;
            }

            ExecuteCompleted completed = delegate(string response, ExecuteResult result)
            {
                if (!DataService.HandleExecute(response, result))
                {
                    return;
                }

                var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Security/Security/__Owner");

                foreach (var item in context.Items)
                {
                    var itemHeader = item as ItemTreeViewItem;
                    if (itemHeader == null)
                    {
                        continue;
                    }

                    itemHeader.Item.Ownership = string.Empty;

                    var fieldUri = new FieldUri(new ItemVersionUri(item.ItemUri, LanguageManager.CurrentLanguage, Version.Latest), fieldId);
                    Notifications.RaiseFieldChanged(this, fieldUri, string.Empty);
                }
            };

            var   itemList = new StringBuilder();
            IItem first    = null;

            foreach (var item in context.Items)
            {
                if (first == null)
                {
                    first = item;
                }
                else
                {
                    itemList.Append("|");
                }

                itemList.Append(item.ItemUri.ItemId);
            }

            if (first != null)
            {
                first.ItemUri.Site.DataService.ExecuteAsync("Security.ClearOwnership", completed, first.ItemUri.DatabaseName.Name, itemList.ToString());
            }
        }
Esempio n. 3
0
        private void SetSubitemsSorting([NotNull] object sender, [NotNull] RoutedEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            var context = Context;

            if (context == null)
            {
                return;
            }

            var item = context.SelectedItems.FirstOrDefault() as ItemTreeViewItem;

            if (item == null)
            {
                return;
            }

            var menuItem = e.Source as MenuItem;

            if (menuItem == null)
            {
                return;
            }

            var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Subitems Sorting");

            var sortOrder = menuItem.Tag as string ?? string.Empty;

            ItemModifier.Edit(item.ItemUri, fieldId, sortOrder);

            item.Refresh();
        }
Esempio n. 4
0
        private void CreateStandardValues(ItemUri templateUri)
        {
            var standardValuesItemUri = templateUri.Site.DataService.AddFromTemplate(templateUri, templateUri, @"__Standard Values");

            if (standardValuesItemUri == ItemUri.Empty)
            {
                return;
            }

            var standardValuesFieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Advanced/Advanced/__Standard values");
            var standardValuesField   = new Field
            {
                Value    = standardValuesItemUri.ItemId.ToString(),
                HasValue = true
            };

            standardValuesField.FieldUris.Add(new FieldUri(new ItemVersionUri(templateUri, LanguageManager.CurrentLanguage, Data.Version.Latest), standardValuesFieldId));

            var fields = new List <Field>
            {
                standardValuesField
            };

            ItemModifier.Edit(standardValuesItemUri.DatabaseUri, fields, true);
        }
Esempio n. 5
0
        private void AddInsertOption([NotNull] ItemHeader itemHeader, [NotNull] ItemUri templateUri)
        {
            Debug.ArgumentNotNull(itemHeader, nameof(itemHeader));
            Debug.ArgumentNotNull(templateUri, nameof(templateUri));

            var itemUri = itemHeader.ItemUri;

            if (itemHeader.StandardValuesId != ItemId.Empty)
            {
                var options = new TaskDialogOptions
                {
                    Title              = "Add to Insert Options",
                    CommonButtons      = TaskDialogCommonButtons.None,
                    MainInstruction    = "Where do you want to add the Insert Option?",
                    MainIcon           = VistaTaskDialogIcon.Information,
                    DefaultButtonIndex = 0,
                    CommandButtons     = new[]
                    {
                        "Standard Values Item",
                        string.Format("The \"{0}\" Item", itemHeader.Name)
                    },
                    AllowDialogCancellation = true
                };

                var r = TaskDialog.Show(options).CommandButtonResult;
                if (r == null)
                {
                    return;
                }

                if (r == 0)
                {
                    itemUri = new ItemUri(itemUri.DatabaseUri, itemHeader.StandardValuesId);
                }
            }

            var itemVersionUri = new ItemVersionUri(itemUri, LanguageManager.CurrentLanguage, Version.Latest);

            GetValueCompleted <Item> completed = delegate(Item item)
            {
                var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Insert Options/Insert Options/__Masters");

                var value = templateUri.ItemId.ToString();

                var field = item.Fields.FirstOrDefault(f => f != null && f.FieldUris.First().FieldId == fieldId);
                if (field == null)
                {
                    return;
                }

                if (!string.IsNullOrEmpty(field.Value) && !field.Value.Contains(value))
                {
                    value = field.Value + @"|" + value;
                }

                AppHost.Server.UpdateItem(itemUri, fieldId, value);
            };

            AppHost.Server.GetItem(itemVersionUri, completed);
        }
Esempio n. 6
0
        public void Save()
        {
            Refresh();

            var writer = new StringWriter();
            var output = new XmlTextWriter(writer);

            output.WriteStartElement(@"fields");

            foreach (var template in Model)
            {
                foreach (var field in template.Fields)
                {
                    if (!field.Modified)
                    {
                        continue;
                    }

                    output.WriteStartElement(@"field");
                    output.WriteAttributeString(@"id", field.TemplateFieldId.ToString());
                    output.WriteAttributeString(@"sortorder", field.SortOrder.ToString());
                    output.WriteAttributeString(@"sectionsortorder", field.SectionSortOrder.ToString());
                    output.WriteEndElement();

                    field.Modified = false;
                }
            }

            output.WriteEndElement();

            ExecuteCompleted completed = delegate(string response, ExecuteResult result)
            {
                if (!DataService.HandleExecute(response, result))
                {
                    return;
                }

                Modified = false;

                var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder");
                foreach (var template in Model)
                {
                    foreach (var field in template.Fields)
                    {
                        var itemVersionUri = new ItemVersionUri(new ItemUri(template.TemplateUri.DatabaseUri, field.TemplateFieldId), LanguageManager.CurrentLanguage, Data.Version.Latest);
                        var fieldUri       = new FieldUri(itemVersionUri, fieldId);

                        Notifications.RaiseFieldChanged(this, fieldUri, field.SortOrder.ToString());

                        itemVersionUri = new ItemVersionUri(new ItemUri(template.TemplateUri.DatabaseUri, new ItemId(new Guid(field.SectionId))), LanguageManager.CurrentLanguage, Data.Version.Latest);
                        fieldUri       = new FieldUri(itemVersionUri, fieldId);

                        Notifications.RaiseFieldChanged(this, fieldUri, field.SortOrder.ToString());
                    }
                }
            };

            TemplateUri.Site.DataService.ExecuteAsync("Templates.SaveTemplateFieldSorterFields", completed, TemplateUri.DatabaseName.ToString(), writer.ToString());
        }
        private void Save()
        {
            var publishFrom      = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Publishing/Publishing/__Publish");
            var publishTo        = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Publishing/Publishing/__Unpublish");
            var neverPublish     = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Publishing/Publishing/__Never publish");
            var validTo          = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Lifetime/Lifetime/__Valid to");
            var validFrom        = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Lifetime/Lifetime/__Valid from");
            var hideVersion      = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Lifetime/Lifetime/__Hide version");
            var publishingGroups = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Publishing/Publishing/__Publishing groups");

            var fields = new List <Tuple <FieldUri, string> >();

            fields.Add(new Tuple <FieldUri, string>(new FieldUri(ItemUri, publishFrom), ToIsoDateTime(ItemPublishFrom.Value)));
            fields.Add(new Tuple <FieldUri, string>(new FieldUri(ItemUri, publishTo), ToIsoDateTime(ItemPublishTo.Value)));
            fields.Add(new Tuple <FieldUri, string>(new FieldUri(ItemUri, neverPublish), ItemPublishable.IsChecked == true ? string.Empty : @"1"));

            foreach (var restriction in restrictions)
            {
                var itemVersionUri = new ItemVersionUri(ItemUri.ItemUri, ItemUri.Language, new Data.Version(restriction.Version));

                fields.Add(new Tuple <FieldUri, string>(new FieldUri(itemVersionUri, validFrom), ToIsoDateTime(restriction.PublishFrom)));
                fields.Add(new Tuple <FieldUri, string>(new FieldUri(itemVersionUri, validTo), ToIsoDateTime(restriction.PublishTo)));
                fields.Add(new Tuple <FieldUri, string>(new FieldUri(itemVersionUri, hideVersion), restriction.Publishable ? string.Empty : @"1"));
            }

            var targets = string.Empty;

            foreach (var item in PublishingTargets.Items)
            {
                var listBoxItem = item as ListBoxItem;
                if (listBoxItem == null)
                {
                    continue;
                }

                if (!listBoxItem.IsSelected)
                {
                    continue;
                }

                var publishingTarget = listBoxItem.Tag as PublishingTarget;
                if (publishingTarget == null)
                {
                    continue;
                }

                if (!string.IsNullOrEmpty(targets))
                {
                    targets += @"|";
                }

                targets += publishingTarget.Id;
            }

            fields.Add(new Tuple <FieldUri, string>(new FieldUri(ItemUri, publishingGroups), targets));

            ItemModifier.Edit(ItemUri.DatabaseUri, fields);
        }
        public override void Execute(object parameter)
        {
            var context = parameter as IItemSelectionContext;

            if (context == null)
            {
                return;
            }

            ExecuteCompleted completed = delegate(string response, ExecuteResult result)
            {
                DataService.HandleExecute(response, result);

                var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Workflow/Workflow/__Lock");

                foreach (var i in context.Items)
                {
                    var fieldUri = new FieldUri(new ItemVersionUri(i.ItemUri, LanguageManager.CurrentLanguage, Version.Latest), fieldId);
                    Notifications.RaiseFieldChanged(this, fieldUri, string.Empty);
                }

                var item = context.Items.FirstOrDefault() as BaseTreeViewItem;
                if (item == null)
                {
                    return;
                }

                var parent = item.GetParentTreeViewItem() as BaseTreeViewItem;
                if (parent == null)
                {
                    return;
                }

                parent.Refresh();
            };

            var   itemList = new StringBuilder();
            IItem first    = null;

            foreach (var item in context.Items)
            {
                if (first == null)
                {
                    first = item;
                }
                else
                {
                    itemList.Append("|");
                }

                itemList.Append(item.ItemUri.ItemId);
            }

            if (first != null)
            {
                first.ItemUri.Site.DataService.ExecuteAsync("Security.Unlock", completed, first.ItemUri.DatabaseName.Name, itemList.ToString());
            }
        }
        public override void Execute(object parameter)
        {
            var context = parameter as ContentTreeContext;

            if (context == null)
            {
                return;
            }

            var item = context.SelectedItems.FirstOrDefault() as ItemTreeViewItem;

            if (item == null)
            {
                return;
            }

            var parentUri = item.ItemUri;

            // create __Standard Values item
            var templateUri = item.ItemUri;

            var standardValuesItemUri = parentUri.Site.DataService.AddFromTemplate(parentUri, templateUri, @"__Standard Values");

            if (standardValuesItemUri == ItemUri.Empty)
            {
                return;
            }

            // set "Standard Values" field
            var standardValuesFieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Advanced/Advanced/__Standard values");

            var standardValuesField = new Field
            {
                Value    = standardValuesItemUri.ItemId.ToString(),
                HasValue = true
            };

            standardValuesField.FieldUris.Add(new FieldUri(new ItemVersionUri(item.ItemUri, LanguageManager.CurrentLanguage, Version.Latest), standardValuesFieldId));

            var fields = new List <Field>
            {
                standardValuesField
            };

            ItemModifier.Edit(standardValuesItemUri.DatabaseUri, fields, true);

            // expand tree
            context.ContentTree.ExpandTo(standardValuesItemUri);

            var itemVersionUri = new ItemVersionUri(standardValuesItemUri, LanguageManager.CurrentLanguage, Version.Latest);

            item.Item.StandardValuesId    = standardValuesItemUri.ItemId;
            item.Item.StandardValuesField = standardValuesItemUri.ItemId;

            AppHost.OpenContentEditor(itemVersionUri);

            Notifications.RaiseItemAdded(this, itemVersionUri, parentUri);
        }
Esempio n. 10
0
        public override void Execute(object parameter)
        {
            var context = parameter as IItemSelectionContext;

            if (context == null)
            {
                return;
            }

            var item = context.Items.FirstOrDefault();

            if (item == null)
            {
                return;
            }

            var selectedItems = new List <ItemId>();

            if (context.Items.Count() == 1)
            {
                if (!GetSelectedInsertOptions(item, selectedItems))
                {
                    return;
                }
            }

            var d = new SelectTemplatesDialog();

            d.Initialize(Resources.SetInsertOptions_Execute_Insert_Options, item.ItemUri.DatabaseUri, selectedItems, true);
            if (AppHost.Shell.ShowDialog(d) != true)
            {
                return;
            }

            var value = string.Empty;

            foreach (var selectedItem in d.SelectedTemplates)
            {
                if (!string.IsNullOrEmpty(value))
                {
                    value += '|';
                }

                value += selectedItem.ToString();
            }

            var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Insert Options/Insert Options/__Masters");

            var fields = new List <Tuple <FieldUri, string> >();

            foreach (var i in context.Items)
            {
                var fieldUri = new FieldUri(new ItemVersionUri(i.ItemUri, LanguageManager.CurrentLanguage, Data.Version.Latest), fieldId);
                fields.Add(new Tuple <FieldUri, string>(fieldUri, value));
            }

            AppHost.Server.UpdateItems(fields);
        }
Esempio n. 11
0
        public override void Execute(object parameter)
        {
            var context = parameter as ContentTreeContext;

            if (context == null)
            {
                return;
            }

            var item = context.SelectedItems.FirstOrDefault() as ItemTreeViewItem;

            if (item == null)
            {
                return;
            }

            var sortOrder = GetSortOrder(item);

            ExecuteCompleted completed = delegate(string response, ExecuteResult executeResult)
            {
                if (!DataService.HandleExecute(response, executeResult))
                {
                    return;
                }

                var fieldId  = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder");
                var fieldUri = new FieldUri(new ItemVersionUri(item.ItemUri, LanguageManager.CurrentLanguage, Version.Latest), fieldId);
                Notifications.RaiseFieldChanged(this, fieldUri, sortOrder.ToString());

                var parent = item.GetParentTreeViewItem() as BaseTreeViewItem;
                if (parent == null)
                {
                    return;
                }

                KeyboardManager.IsActive++;
                try
                {
                    var itemTreeViewItem = parent as ItemTreeViewItem;
                    if (itemTreeViewItem != null)
                    {
                        itemTreeViewItem.RefreshPreservingSelection();
                    }
                    else
                    {
                        parent.Refresh();
                    }
                }
                finally
                {
                    KeyboardManager.IsActive--;
                }
            };

            item.ItemUri.Site.DataService.ExecuteAsync("SetSortOrder", completed, item.ItemUri.ItemId.ToString(), item.ItemUri.DatabaseName.Name, sortOrder);
        }
Esempio n. 12
0
        private void CopyNextTo([NotNull] DragCopyPipeline pipeline)
        {
            Debug.ArgumentNotNull(pipeline, nameof(pipeline));

            int sortOrder;
            int sortOrderDelta;
            ItemTreeViewItem parent;
            ItemTreeViewItem anchor;

            SortOrderHelper.GetSortOrder(pipeline.Target, pipeline.Position, pipeline.Items.Count(), out sortOrder, out sortOrderDelta, out parent, out anchor);
            if (parent == null)
            {
                AppHost.MessageBox(Resources.CopyItems_CopyNextTo_Parent_is_not_an_item, Resources.Error, MessageBoxButton.OK, MessageBoxImage.Error);
                pipeline.Abort();
                return;
            }

            pipeline.Owner  = parent;
            pipeline.Anchor = anchor;

            var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder");

            foreach (var item in pipeline.Items)
            {
                var newName = string.Format(Resources.CopyItems_CopyNextTo_Copy_of__0_, item.Name);

                var newItemUri = item.ItemUri.Site.DataService.Copy(item.ItemUri, parent.ItemUri.ItemId, newName);
                if (newItemUri == ItemUri.Empty)
                {
                    AppHost.MessageBox(string.Format(Resources.CopyItems_CopyNextTo_Failed_to_copy___0_, item.Name), Resources.Error, MessageBoxButton.OK, MessageBoxImage.Information);
                    pipeline.Abort();
                    return;
                }

                var newItem = new DragCopyPipeline.NewItem
                {
                    Item       = item,
                    NewName    = newName,
                    NewItemUri = newItemUri,
                    SortOrder  = sortOrder
                };

                ItemModifier.Edit(newItemUri, fieldId, sortOrder.ToString(CultureInfo.InvariantCulture));

                sortOrder += sortOrderDelta;

                pipeline.NewItems.Add(newItem);
            }
        }
Esempio n. 13
0
        private Field GetBaseTemplatesField([NotNull] ContentEditorContext context)
        {
            Debug.ArgumentNotNull(context, nameof(context));

            var baseTemplateId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Template/Data/__Base template");

            foreach (var field in context.ContentEditor.ContentModel.Fields)
            {
                if (field.FieldUris.First().FieldId == baseTemplateId)
                {
                    return(field);
                }
            }

            return(null);
        }
Esempio n. 14
0
        private Field GetInsertOptionsField([NotNull] ContentEditorContext context)
        {
            Debug.ArgumentNotNull(context, "context");

            var insertOptionsField = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Insert Options/Insert Options/__Masters");

            foreach (var field in context.ContentEditor.ContentModel.Fields)
            {
                if (field.FieldUris.First().FieldId == insertOptionsField)
                {
                    return(field);
                }
            }

            return(null);
        }
Esempio n. 15
0
        public override void Execute(object parameter)
        {
            var context = parameter as IItemSelectionContext;

            if (context == null)
            {
                return;
            }

            var templateId = TemplateHeader.TemplateUri.ItemId.ToString();
            var fieldId    = IdManager.GetFieldId("/sitecore/templates/System/Templates/Template/Data/__Base template");

            foreach (var item in context.Items)
            {
                ItemModifier.Edit(item.ItemUri, fieldId, templateId);
            }
        }
Esempio n. 16
0
        private Field GetHelpField([NotNull] ContentEditorContext context, [Localizable(false), NotNull] string fieldName)
        {
            Debug.ArgumentNotNull(context, nameof(context));
            Debug.ArgumentNotNull(fieldName, nameof(fieldName));

            var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Help/Help/" + fieldName);

            foreach (var field in context.ContentEditor.ContentModel.Fields)
            {
                if (field.FieldUris.First().FieldId == fieldId)
                {
                    return(field);
                }
            }

            return(null);
        }
Esempio n. 17
0
        private void MoveNextTo([NotNull] DragMovePipeline pipeline)
        {
            Debug.ArgumentNotNull(pipeline, nameof(pipeline));

            int sortOrder;
            int sortOrderDelta;

            ItemTreeViewItem parent;
            ItemTreeViewItem anchor;

            SortOrderHelper.GetSortOrder(pipeline.Target, pipeline.Position, pipeline.Items.Count(), out sortOrder, out sortOrderDelta, out parent, out anchor);
            if (parent == null)
            {
                AppHost.MessageBox(Resources.MoveItems_MoveNextTo_Parent_is_not_an_item, Resources.Error, MessageBoxButton.OK, MessageBoxImage.Error);
                pipeline.Abort();
                return;
            }

            pipeline.Owner  = parent;
            pipeline.Anchor = anchor;

            var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder");

            foreach (var item in pipeline.Items)
            {
                if (!Move(item.ItemUri, parent.ItemUri))
                {
                    AppHost.MessageBox(string.Format(Resources.MoveItems_MoveNextTo_Failed_to_move___0_, item.Name), Resources.Error, MessageBoxButton.OK, MessageBoxImage.Error);
                    break;
                }

                ItemModifier.Edit(item.ItemUri, fieldId, sortOrder.ToString());

                var itemTreeViewItem = item as ItemTreeViewItem;
                if (itemTreeViewItem != null)
                {
                    itemTreeViewItem.Item.SortOrder = sortOrder;
                }

                sortOrder += sortOrderDelta;

                pipeline.MovedItems.Add(item);
            }
        }
        protected override void UpdateFields(NewItemWizardPipeline pipeline, ProjectItem projectItem, ItemUri itemUri)
        {
            Debug.ArgumentNotNull(pipeline, nameof(pipeline));
            Debug.ArgumentNotNull(projectItem, nameof(projectItem));
            Debug.ArgumentNotNull(itemUri, nameof(itemUri));

            var fileName = GetFileName(pipeline, projectItem);

            var pathFieldId = IdManager.GetFieldId("/sitecore/templates/System/Layout/Layout/Data/Path");

            var fieldValues = new List <Tuple <FieldId, string> >
            {
                new Tuple <FieldId, string>(pathFieldId, fileName),
            };

            ItemModifier.Edit(itemUri, fieldValues);

            projectItem.Project.LinkItemAndFile(itemUri, fileName);
        }
Esempio n. 19
0
        public override void Execute(object parameter)
        {
            var context = parameter as ContentTreeContext;

            if (context == null)
            {
                return;
            }

            var itemTreeViewItem = context.SelectedItems.FirstOrDefault() as ItemTreeViewItem;

            if (itemTreeViewItem == null)
            {
                return;
            }

            var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Template/Data/__Base template");

            GetValueCompleted <Item> completed = delegate(Item item)
            {
                var field         = item.Fields.FirstOrDefault(f => f.Name == "__Base template");
                var selectedItems = field != null?field.Value.Split('|').Where(v => !string.IsNullOrWhiteSpace(v)).Select(id => new ItemId(new Guid(id))) : Enumerable.Empty <ItemId>();

                var d = new SelectTemplatesDialog
                {
                    HelpText = "Each data template inherits from zero or more base data templates, which in turn specify base templates.",
                    Label    = "Select the Base Templates:"
                };

                d.Initialize(Resources.SetBaseTemplates_Execute_Base_Templates, item.ItemUri.DatabaseUri, selectedItems);

                if (AppHost.Shell.ShowDialog(d) != true)
                {
                    return;
                }

                var baseTemplates = string.Join("|", d.SelectedTemplates.Select(i => i.ToString()));

                ItemModifier.Edit(item.ItemUri, fieldId, baseTemplates);
            };

            itemTreeViewItem.ItemUri.Site.DataService.GetItemFieldsAsync(new ItemVersionUri(itemTreeViewItem.ItemUri, Language.Current, Data.Version.Latest), completed);
        }
Esempio n. 20
0
        private void TextChanged([NotNull] object sender, [NotNull] TextChangedEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            ReloadImage();

            var iconFieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Icon");

            if (sourceField.FieldUris.First().FieldId == iconFieldId)
            {
                UpdatedContentEditorIcon();
            }

            var valueModified = ValueModified;

            if (valueModified != null)
            {
                valueModified();
            }
        }
Esempio n. 21
0
        public override void Execute(object parameter)
        {
            var context = parameter as IItemSelectionContext;

            if (context == null)
            {
                return;
            }

            if (AppHost.MessageBox("Are you sure you want to reset the layout to the standard value?", "Confirmation", MessageBoxButton.OKCancel, MessageBoxImage.Question) != MessageBoxResult.OK)
            {
                return;
            }

            var databaseUri   = DatabaseUri.Empty;
            var fields        = new List <Field>();
            var layoutFieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Layout/Layout/__Renderings");

            foreach (var item in context.Items)
            {
                var field = new Field
                {
                    ResetOnSave = true,
                    HasValue    = true,
                    Value       = string.Empty
                };

                field.FieldUris.Add(new FieldUri(new ItemVersionUri(item.ItemUri, Language.Current, Version.Latest), layoutFieldId));

                fields.Add(field);

                if (databaseUri == DatabaseUri.Empty)
                {
                    databaseUri = item.ItemUri.DatabaseUri;
                }
            }

            ItemModifier.Edit(databaseUri, fields, false);
        }
Esempio n. 22
0
        protected virtual string GetValue([NotNull] ContentModel contentModel)
        {
            Debug.ArgumentNotNull(contentModel, nameof(contentModel));

            var fieldId = IdManager.GetFieldId(FieldPath);

            foreach (var field in contentModel.Fields)
            {
                var fieldControl = field.Control;
                if (fieldControl == null)
                {
                    continue;
                }

                if (field.FieldUris.First().FieldId == fieldId)
                {
                    return(fieldControl.GetValue());
                }
            }

            return(null);
        }
Esempio n. 23
0
        public override void Execute(object parameter)
        {
            var context = parameter as ContentTreeContext;

            if (context == null)
            {
                return;
            }

            var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder");

            foreach (var i in context.SelectedItems)
            {
                var item = i as ItemTreeViewItem;
                if (item == null)
                {
                    continue;
                }

                var sortOrder = 0;

                foreach (var obj in item.Items)
                {
                    var child = obj as ItemTreeViewItem;
                    if (child == null)
                    {
                        continue;
                    }

                    ItemModifier.Edit(child.Item.ItemUri, fieldId, sortOrder.ToString());
                    child.Item.SortOrder = sortOrder;

                    sortOrder += 100;
                }
            }
        }
Esempio n. 24
0
 static FieldIds()
 {
     Icon           = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Icon");
     StandardValues = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Advanced/Advanced/__Standard values");
 }
Esempio n. 25
0
        public override void Execute(object parameter)
        {
            var context = parameter as IItemSelectionContext;

            if (context == null)
            {
                return;
            }

            var item = context.Items.FirstOrDefault();

            if (item == null)
            {
                return;
            }

            var itemId = IdManager.GetItemId("/sitecore/system/Workflows");
            SelectItemDialog dialog;

            while (true)
            {
                dialog = new SelectItemDialog();

                dialog.Initialize(Resources.SetWorkflowState_Execute_Select_Workflow_State, new ItemUri(item.ItemUri.DatabaseUri, itemId));

                if (AppHost.Shell.ShowDialog(dialog) != true)
                {
                    return;
                }

                itemId = dialog.SelectedItemUri.ItemId;

                if (dialog.SelectedItemTemplateId == workflowStateId)
                {
                    break;
                }

                if (AppHost.MessageBox(Resources.SetWorkflowState_Execute_, Resources.Error, MessageBoxButton.OKCancel, MessageBoxImage.Question) != MessageBoxResult.OK)
                {
                    return;
                }
            }

            var stateId = dialog.SelectedItemUri.ItemId;

            var itemIdList   = context.GetItemIdList();
            var databaseName = context.Items.First().ItemUri.DatabaseName.ToString();

            ExecuteCompleted completed = delegate(string response, ExecuteResult result)
            {
                if (!DataService.HandleExecute(response, result))
                {
                    return;
                }

                var workflowFieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Workflow/Workflow/__Workflow");
                var stateFieldId    = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Workflow/Workflow/__Workflow state");

                foreach (var i in context.Items)
                {
                    var itemVersionUri = new ItemVersionUri(i.ItemUri, LanguageManager.CurrentLanguage, Data.Version.Latest);

                    var fieldUri = new FieldUri(itemVersionUri, stateFieldId);
                    Notifications.RaiseFieldChanged(this, fieldUri, stateId.ToString());

                    fieldUri = new FieldUri(itemVersionUri, workflowFieldId);
                    Notifications.RaiseFieldChanged(this, fieldUri, response);
                }
            };

            item.ItemUri.Site.DataService.ExecuteAsync("Workflows.SetWorkflowState", completed, databaseName, itemIdList, stateId.ToString());
        }
Esempio n. 26
0
        private static void GetAfterSortOrder([NotNull] ItemTreeViewItem target, int itemCount, out int sortOrder, out int sortOrderDelta, [CanBeNull] out ItemTreeViewItem parent, [CanBeNull] out ItemTreeViewItem anchor)
        {
            Debug.ArgumentNotNull(target, nameof(target));

            sortOrder = target.Item.SortOrder;
            parent    = null;
            anchor    = null;

            var itemsControl = target.GetParentTreeViewItem();

            if (itemsControl == null)
            {
                sortOrder     += 100;
                sortOrderDelta = 100;
                return;
            }

            parent = itemsControl as ItemTreeViewItem;
            if (parent == null)
            {
                sortOrder     -= itemCount * 100;
                sortOrderDelta = 100;
                return;
            }

            var index = itemsControl.Items.IndexOf(target);

            if (index < 0 || index == itemsControl.Items.Count - 1)
            {
                sortOrder     += 100;
                sortOrderDelta = 100;
                return;
            }

            var nextItem = itemsControl.Items[index + 1] as ItemTreeViewItem;

            if (nextItem == null)
            {
                sortOrder     += 100;
                sortOrderDelta = 100;
                return;
            }

            anchor = nextItem;

            var nextSortOrder = nextItem.Item.SortOrder;

            if (nextSortOrder == sortOrder)
            {
                var sort    = 0;
                var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder");

                for (var i = 0; i < parent.Items.Count; i++)
                {
                    var item = parent.Items[i] as ItemTreeViewItem;
                    if (item != null)
                    {
                        ItemModifier.Edit(item.Item.ItemUri, fieldId, sort.ToString());
                        item.Item.SortOrder = sort;
                    }

                    sort += i == index ? (itemCount + 1) * 100 : 100;
                }

                sortOrder     = index * 100;
                nextSortOrder = sortOrder + (itemCount + 1) * 100;
            }

            var gap = nextSortOrder - sortOrder;

            sortOrderDelta = gap / (itemCount + 1);

            if (sortOrderDelta == 0)
            {
                sortOrder = sortOrder + (int)Math.Floor((double)gap / 2);
                return;
            }

            sortOrder += sortOrderDelta;
        }