protected override void OnLoad(EventArgs e)
 {
     base.OnLoad(e);
     if (!Sitecore.Context.ClientPage.IsEvent)
     {
         SetTestDetailsOptions options = SetTestDetailsOptions.Parse();
         DeviceId            = options.DeviceId;
         ContextItemUri      = ItemUri.Parse(options.ItemUri);
         RenderingUniqueId   = options.RenderingUniqueId;
         LayoutSessionHandle = options.LayoutSessionHandle;
         InitVariableValues();
         if (VariableValues.FindIndex(v => !string.IsNullOrEmpty(v.ReplacementComponent)) > -1)
         {
             ComponentReplacing.Checked = true;
         }
         else
         {
             Variations.Class = "hide-test-component";
         }
         if (VariableValues.Count > 0)
         {
             ResetContainer.Visible = true;
         }
         if (Rendering != null)
         {
             Item variableItem = TestingUtil.MultiVariateTesting.GetVariableItem(Rendering, Client.ContentDatabase);
             if ((variableItem != null) && !variableItem.Access.CanCreate())
             {
                 NewVariation.Disabled = true;
             }
         }
         SetControlsState();
         Render();
     }
 }
        protected override void OnOK(object sender, EventArgs args)
        {
            DeviceDefinition device = Device;

            Assert.IsNotNull(device, "device");
            MultivariateTestDefinitionItem testDefinition = TestingUtil.MultiVariateTesting.GetTestDefinition(device,
                                                                                                              new ID(
                                                                                                                  RenderingUniqueId),
                                                                                                              Client.
                                                                                                              ContentDatabase);

            if (testDefinition == null)
            {
                ItemUri contextItemUri = ContextItemUri;
                if (contextItemUri == null)
                {
                    return;
                }
                Item item = Client.ContentDatabase.GetItem(contextItemUri.ToDataUri());
                if (item != null)
                {
                    testDefinition = TestingUtil.MultiVariateTesting.AddTestDefinition(item);
                }
            }
            if (testDefinition == null)
            {
                SheerResponse.Alert("The action cannot be executed because of security restrictions.", new string[0]);
            }
            else if (Rendering != null)
            {
                MultivariateTestVariableItem variableItem = TestingUtil.MultiVariateTesting.GetVariableItem(Rendering,
                                                                                                            Client.ContentDatabase);
                if (variableItem == null)
                {
                    variableItem = TestingUtil.MultiVariateTesting.AddVariable(testDefinition, Rendering, Client.ContentDatabase);
                }
                if (variableItem == null)
                {
                    SheerResponse.Alert("The action cannot be executed because of security restrictions.", new string[0]);
                }
                else
                {
                    List <ID> list;
                    if (!UpdateVariableValues(variableItem, out list))
                    {
                        SheerResponse.Alert("The action cannot be executed because of security restrictions.", new string[0]);
                    }
                    else
                    {
                        SheerResponse.SetDialogValue(SetTestDetailsOptions.GetDialogResut(variableItem.ID, list));
                        SheerResponse.CloseWindow();
                    }
                }
            }
        }
Esempio n. 3
0
        protected void SetTest(ClientPipelineArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            if (this.SelectedIndex < 0)
            {
                return;
            }
            LayoutDefinition layoutDefinition = DeviceEditorForm.GetLayoutDefinition();
            DeviceDefinition device           = layoutDefinition.GetDevice(this.DeviceID);
            ArrayList        renderings       = device.Renderings;

            if (renderings == null)
            {
                return;
            }
            RenderingDefinition renderingDefinition = renderings[this.SelectedIndex] as RenderingDefinition;

            if (renderingDefinition == null)
            {
                return;
            }
            if (args.IsPostBack)
            {
                if (args.HasResult)
                {
                    if (args.Result == "#reset#")
                    {
                        renderingDefinition.MultiVariateTest = string.Empty;
                        DeviceEditorForm.SetDefinition(layoutDefinition);
                        this.Refresh();
                        return;
                    }
                    ID iD = SetTestDetailsOptions.ParseDialogResult(args.Result);
                    if (ID.IsNullOrEmpty(iD))
                    {
                        SheerResponse.Alert("Item not found.", new string[0]);
                        return;
                    }
                    renderingDefinition.MultiVariateTest = iD.ToString();
                    DeviceEditorForm.SetDefinition(layoutDefinition);
                    this.Refresh();
                    return;
                }
            }
            else
            {
                Command command = CommandManager.GetCommand("device:settestdetails");
                Assert.IsNotNull(command, "deviceTestCommand");
                CommandContext commandContext = new CommandContext();
                commandContext.Parameters["deviceDefinitionId"]          = device.ID;
                commandContext.Parameters["renderingDefinitionUniqueId"] = renderingDefinition.UniqueId;
                command.Execute(commandContext);
                args.WaitForPostBack();
            }
        }
Esempio n. 4
0
        protected void SetTest(ClientPipelineArgs args)
        {
            Assert.ArgumentNotNull((object)args, "args");
            if (this.SelectedIndex < 0)
            {
                return;
            }
            LayoutDefinition layoutDefinition = CustomDeviceEditor.GetLayoutDefinition();
            DeviceDefinition device           = layoutDefinition.GetDevice(this.DeviceID);
            ArrayList        renderings       = device.Renderings;

            if (renderings == null)
            {
                return;
            }
            RenderingDefinition renderingDefinition = renderings[this.SelectedIndex] as RenderingDefinition;

            if (renderingDefinition == null)
            {
                return;
            }
            if (args.IsPostBack)
            {
                if (!args.HasResult)
                {
                    return;
                }
                if (args.Result == "#reset#")
                {
                    renderingDefinition.MultiVariateTest = string.Empty;
                    CustomDeviceEditor.SetDefinition(layoutDefinition);
                    this.Refresh();
                }
                else
                {
                    ID dialogResult = SetTestDetailsOptions.ParseDialogResult(args.Result);
                    if (ID.IsNullOrEmpty(dialogResult))
                    {
                        SheerResponse.Alert("Item not found.");
                    }
                    else
                    {
                        renderingDefinition.MultiVariateTest = dialogResult.ToString();
                        CustomDeviceEditor.SetDefinition(layoutDefinition);
                        this.Refresh();
                    }
                }
            }
            else
            {
                SheerResponse.ShowModalDialog(new SetTestDetailsOptions("SC_DEVICEEDITOR", UIUtil.GetItemFromQueryString(Client.ContentDatabase).Uri.ToString(), device.ID, renderingDefinition.UniqueId).ToUrlString().ToString(), "520px", "695px", string.Empty, true);
                args.WaitForPostBack();
            }
        }
 protected void SetTest(ClientPipelineArgs args)
 {
     Assert.ArgumentNotNull(args, "args");
     if (this.SelectedIndex < 0)
     {
         return;
     }
     LayoutDefinition layoutDefinition = AdvancedDeviceEditorForm.GetLayoutDefinition();
     DeviceDefinition device = layoutDefinition.GetDevice(this.DeviceID);
     ArrayList renderings = device.Renderings;
     if (renderings == null)
     {
         return;
     }
     RenderingDefinition item = renderings[this.SelectedIndex] as RenderingDefinition;
     if (item == null)
     {
         return;
     }
     if (!args.IsPostBack)
     {
         Item itemFromQueryString = UIUtil.GetItemFromQueryString(Client.ContentDatabase);
         SetTestDetailsOptions setTestDetailsOption = new SetTestDetailsOptions("SC_DEVICEEDITOR", itemFromQueryString.Uri.ToString(), device.ID, item.UniqueId);
         SheerResponse.ShowModalDialog(setTestDetailsOption.ToUrlString().ToString(), "520px", "695px", string.Empty, true);
         args.WaitForPostBack();
     }
     else if (args.HasResult)
     {
         if (args.Result == "#reset#")
         {
             item.MultiVariateTest = string.Empty;
             AdvancedDeviceEditorForm.SetDefinition(layoutDefinition);
             this.Refresh();
             return;
         }
         ID d = SetTestDetailsOptions.ParseDialogResult(args.Result);
         if (ID.IsNullOrEmpty(d))
         {
             SheerResponse.Alert("Item not found.", new string[0]);
             return;
         }
         item.MultiVariateTest = d.ToString();
         AdvancedDeviceEditorForm.SetDefinition(layoutDefinition);
         this.Refresh();
         return;
     }
 }