Example #1
0
        public void Execute(XElement element, string name, UrlString parameters, string value)
        {
            Assert.ArgumentNotNull(element, "element");
            Assert.ArgumentNotNull(name, "name");
            Assert.ArgumentNotNull(parameters, "parameters");
            Assert.ArgumentNotNull(value, "value");
            var siteInfoList = Sitecore.Configuration.Factory.GetSiteInfoList();
            var siteItems    = new List <Item>();

            foreach (var siteInfo in siteInfoList)
            {
                var site = Client.ContentDatabase.GetItem(siteInfo.RootPath);
                if (site != null)
                {
                    siteItems.Add(site);
                }
            }

            var itemListerOptions = new ItemListerOptions();

            itemListerOptions.Items = siteItems.GroupBy(si => si.ID).Select(g => g.First()).ToList();;
            itemListerOptions.Title = "Select Site";
            itemListerOptions.Text  = string.Empty;
            itemListerOptions.Icon  = "applications/32x32/media_stop.png";
            SheerResponse.ShowModalDialog(itemListerOptions.ToUrlString().ToString(), "700px", "700px", "", true);
        }
        public void ChooseExistingBaseTemplate(ClientPipelineArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            if (!args.IsPostBack)
            {
                ItemListerOptions itemListerOptions = new ItemListerOptions
                {
                    ButtonText = PullUpFieldsSettings.ChooseExistingBaseTemplateDialogOKButtonText,
                    Icon = args.Parameters["icon"],
                    Title = PullUpFieldsSettings.ChooseExistingBaseTemplateDialogTitle,
                    Text = PullUpFieldsSettings.ChooseExistingBaseTemplateDialogText
                };

                TemplateItem templateItem = GetItem(args);
                itemListerOptions.Items = ExcludeStandardTemplate(templateItem.BaseTemplates).Select(baseTemplate => baseTemplate.InnerItem).ToList();
                itemListerOptions.AddTemplate(TemplateIDs.Template);
                SheerResponse.ShowModalDialog(itemListerOptions.ToUrlString().ToString(), true);
                args.WaitForPostBack();
            }
            else if (args.HasResult)
            {
                args.Parameters["baseTemplateId"] = args.Result;
                args.IsPostBack = false;
            }
            else
            {
                CancelOperation(args);
            }
        }