private static ElementAction CreateFunctionTesterAction(string functionName = "")
        {
            WorkflowActionToken actionToken = new WorkflowActionToken(WorkflowFacade.GetWorkflowType("Composite.Workflows.Plugins.Elements.ElementProviders.AllFunctionsElementProvider.FunctionTesterWorkflow"))
            {
                Payload = functionName
            };

            return(new ElementAction(new ActionHandle(actionToken))
            {
                VisualData = new ActionVisualizedData
                {
                    Label = StringResourceSystemFacade.GetString("Composite.Plugins.AllFunctionsElementProvider", "AllFunctionsElementProvider.FunctionTester.Label"),
                    ToolTip = StringResourceSystemFacade.GetString("Composite.Plugins.AllFunctionsElementProvider", "AllFunctionsElementProvider.FunctionTester.ToolTip"),
                    Icon = TestFunctionIcon,
                    Disabled = false,
                    ActionLocation = new ActionLocation
                    {
                        ActionType = ActionType.Other,
                        IsInFolder = false,
                        IsInToolbar = true,
                        ActionGroup = PrimaryActionGroup
                    }
                }
            });
        }
Пример #2
0
        public override void OnFinish(object sender, EventArgs e)
        {
            var folderToken = (FormFolderEntityToken)EntityToken;
            var stepName    = GetBinding <string>("StepName");
            var formName    = GetBinding <string>("FormName");

            var wizard = DynamicWizardsFacade.GetWizard(folderToken.FormName);
            var step   = new WizardStepModel
            {
                Name          = stepName,
                FormName      = formName,
                Label         = stepName,
                LocalOrdering = wizard.Model.Steps.Count + 1
            };

            wizard.Model.Steps.Add(step);

            DynamicWizardsFacade.SaveWizard(wizard);

            var wizardStepToken = new FormWizardStepEntityToken(wizard.Name, step.Name);
            var workflowToken   = new WorkflowActionToken(typeof(EditWizardStepWorkflow));

            CreateAddNewTreeRefresher(EntityToken).PostRefreshMessages(wizardStepToken);
            ExecuteAction(wizardStepToken, workflowToken);
        }
        public override void OnFinish(object sender, EventArgs e)
        {
            var folderToken = (FormFolderEntityToken)EntityToken;

            var fieldName = GetBinding <string>("FieldName");
            var addFieldToRenderingLayout = GetBinding <bool>("AddFieldToRenderingLayout");
            var definition = DynamicFormsFacade.GetFormByName(folderToken.FormName);
            var field      = new FormFieldModel(definition.Model, fieldName, typeof(string), new List <Attribute>());

            var elementType        = Type.GetType(GetBinding <string>("InputElementType"));
            var inputTypeAttribute = (InputElementTypeAttribute)Activator.CreateInstance(elementType);

            field.Attributes.Add(inputTypeAttribute);
            definition.Model.Fields.Add(field);

            DynamicFormsFacade.SaveForm(definition);

            if (RenderingLayoutFacade.HasCustomRenderingLayout(folderToken.FormName) && addFieldToRenderingLayout)
            {
                var layut = RenderingLayoutFacade.GetRenderingLayout(folderToken.FormName);

                layut.Body.Add(new XElement(Namespaces.Xhtml + "p", String.Format("%{0}%", fieldName)));

                RenderingLayoutFacade.SaveRenderingLayout(folderToken.FormName, layut);
            }

            var fieldToken    = new FormFieldEntityToken(folderToken.FormName, fieldName);
            var workflowToken = new WorkflowActionToken(typeof(EditFormFieldWorkflow));

            CreateAddNewTreeRefresher(EntityToken).PostRefreshMessages(fieldToken);
            ExecuteAction(fieldToken, workflowToken);
        }
Пример #4
0
        private void initializeCodeActivity_ExecuteCode(object sender, EventArgs e)
        {
            UpdateTreeRefresher updateTreeRefresher = this.CreateUpdateTreeRefresher(this.EntityToken);

            WorkflowActionToken workflowActionToken = (WorkflowActionToken)this.ActionToken;

            string folderPath = null;

            if (this.EntityToken is WebsiteFileElementProviderRootEntityToken)
            {
                folderPath = "";
            }
            else
            {
                WebsiteFileElementProviderEntityToken entityToken = (WebsiteFileElementProviderEntityToken)this.EntityToken;
                folderPath = entityToken.Path;
            }

            string keyName = workflowActionToken.Payload;

            string relativeFolderPath = IFolderWhiteListExtensions.GetTildePath(folderPath);

            if (!DataFacade.GetData <IFolderWhiteList>().Any(f => f.TildeBasedPath == relativeFolderPath && f.KeyName == keyName))
            {
                IFolderWhiteList folderWhiteList = DataFacade.BuildNew <IFolderWhiteList>();
                folderWhiteList.KeyName        = keyName;
                folderWhiteList.TildeBasedPath = IFolderWhiteListExtensions.GetTildePath(folderPath);
                DataFacade.AddNew(folderWhiteList);
            }

            updateTreeRefresher.PostRefreshMesseges(this.EntityToken);
        }
        public override void OnFinish(object sender, EventArgs e)
        {
            var token = (FormFolderEntityToken)EntityToken;

            var name = GetBinding <string>("Name");
            var type = GetBinding <string>("SubmitHandlerType");

            var definition  = DefinitionsFacade.GetDefinition(token.FormName);
            var handlerType = Type.GetType(type);
            var instance    = (FormSubmitHandler)Activator.CreateInstance(handlerType);

            instance.Name = name;

            definition.SubmitHandlers.Add(instance);

            DefinitionsFacade.Save(definition);

            CreateSpecificTreeRefresher().PostRefreshMessages(token);

            var editWorkFlowAttribute = handlerType.GetCustomAttribute <EditWorkflowAttribute>();

            if (editWorkFlowAttribute != null)
            {
                var workflowToken = new WorkflowActionToken(editWorkFlowAttribute.EditWorkflowType);

                ExecuteAction(new FormSubmitHandlerEntityToken(handlerType, token.FormName, name), workflowToken);
            }
        }
Пример #6
0
        public void AddActions(Element element)
        {
            if (element.Actions.Any(a => a.TagValue == "edit"))
            {
                return;
            }

            var resourceWriter = ResourceFacade.GetResourceWriter(UserSettings.ActiveLocaleCultureInfo);

            if (resourceWriter == null)
            {
                return;
            }

            var editFormActionToken = new WorkflowActionToken(typeof(EditFormSettingsWorkflow));

            element.AddAction(new ElementAction(new ActionHandle(editFormActionToken))
            {
                TagValue = "edit",

                VisualData = new ActionVisualizedData
                {
                    Label          = "Edit",
                    ToolTip        = "Edit",
                    Icon           = new ResourceHandle("Composite.Icons", "generated-type-data-edit"),
                    ActionLocation = ActionLocation
                }
            });
        }
        public static IHtmlString RenderEditLink(this HtmlHelper helper, IPageTeaser teaser, string label)
        {
            if (DataScopeManager.CurrentDataScope != DataScopeIdentifier.Administrated)
            {
                return(helper.Raw(String.Empty));
            }

            var editWorkflowAttribute = teaser.DataSourceId.InterfaceType.GetCustomAttributes(true).OfType <EditWorkflowAttribute>().FirstOrDefault();

            if (editWorkflowAttribute == null)
            {
                return(helper.Raw(String.Empty));
            }

            var page                  = PageManager.GetPageById(teaser.PageId);
            var entityToken           = new PageTeaserInstanceEntityToken(page, teaser);
            var serializedEntityToken = EntityTokenSerializer.Serialize(entityToken, true);

            var editActionToken       = new WorkflowActionToken(editWorkflowAttribute.EditWorkflowType);
            var serializedActionToken = ActionTokenSerializer.Serialize(editActionToken, true);

            var html = String.Format("<a href=\"#\" data-providername=\"{0}\" data-entitytoken=\"{1}\" data-actiontoken=\"{2}\" data-piggybag=\"{3}\" data-piggybaghash=\"{4}\" onclick=\"executeAction(this)\">{5}</a>",
                                     teaser.DataSourceId.ProviderName,
                                     serializedEntityToken,
                                     serializedActionToken,
                                     String.Empty,
                                     HashSigner.GetSignedHash(string.Empty).Serialize(),
                                     label);

            return(helper.Raw(html));
        }
Пример #8
0
        public IEnumerable <ElementAction> Provide(EntityToken entityToken)
        {
            var addFormActionToken = new WorkflowActionToken(typeof(AddFormWorkflow), new[] { PermissionType.Add });

            yield return(new ElementAction(new ActionHandle(addFormActionToken))
            {
                VisualData = new ActionVisualizedData
                {
                    Label = "Add form",
                    ToolTip = "Add form",
                    Icon = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-edit"),
                    ActionLocation = ActionLocation
                }
            });

            var addWizardActionToken = new WorkflowActionToken(typeof(AddFormWizardWorkflow), new[] { PermissionType.Add });

            yield return(new ElementAction(new ActionHandle(addWizardActionToken))
            {
                VisualData = new ActionVisualizedData
                {
                    Label = "Add wizard",
                    ToolTip = "Add wizard",
                    Icon = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-edit"),
                    ActionLocation = ActionLocation
                }
            });
        }
Пример #9
0
        public override void OnFinish(object sender, EventArgs e)
        {
            var token      = (FieldValidatorsEntityToken)EntityToken;
            var definition = DynamicFormsFacade.GetFormByName(token.FormName);
            var field      = definition.Model.Fields.Get(token.FieldName);

            var validatorType = Type.GetType(GetBinding <string>("ValidatorType"));
            var message       = GetBinding <string>("Message");
            var attribute     = (FormValidationAttribute)Activator.CreateInstance(validatorType, message);

            field.Attributes.Add(attribute);

            DynamicFormsFacade.SaveForm(definition);

            using (var writer = ResourceFacade.GetResourceWriter())
            {
                var setting = token.FieldName + ".Validation." + attribute.GetType().Name;
                var key     = Localization.GenerateKey(token.FormName, setting);

                writer.AddResource(key, message);
            }

            var editToken     = new FieldValidatorsEntityToken(token.FormName, token.FieldName, validatorType);
            var workflowToken = new WorkflowActionToken(typeof(EditFieldValidatorWorkflow));

            CreateSpecificTreeRefresher().PostRefreshMessages(EntityToken);
            ExecuteAction(editToken, workflowToken);
        }
Пример #10
0
        public IEnumerable <Element> Provide(ElementProviderContext context, EntityToken token)
        {
            var validatorToken = (FieldValidatorsEntityToken)token;
            var form           = DynamicFormsFacade.GetFormByName(validatorToken.FormName);

            if (String.IsNullOrEmpty(validatorToken.Type))
            {
                if (form != null)
                {
                    var field = form.Model.Fields.Get(validatorToken.FieldName);
                    if (field != null)
                    {
                        foreach (var validator in field.ValidationAttributes)
                        {
                            var validatorType = validator.GetType();

                            var fieldValidatorElementHandle = context.CreateElementHandle(new FieldValidatorsEntityToken(form.Name, field.Name, validator.GetType()));
                            var fieldValidatorElement       = new Element(fieldValidatorElementHandle)
                            {
                                VisualData = new ElementVisualizedData
                                {
                                    Label       = validator.AttributeName(),
                                    ToolTip     = validator.AttributeName(),
                                    HasChildren = false,
                                    Icon        = ResourceHandle.BuildIconFromDefaultProvider("localization-element-closed-root"),
                                    OpenedIcon  = ResourceHandle.BuildIconFromDefaultProvider("localization-element-opened-root")
                                }
                            };

                            var editActionToken = new WorkflowActionToken(typeof(EditFieldValidatorWorkflow));
                            fieldValidatorElement.AddAction(new ElementAction(new ActionHandle(editActionToken))
                            {
                                VisualData = new ActionVisualizedData
                                {
                                    Label          = "Edit",
                                    ToolTip        = "Edit",
                                    Icon           = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-edit"),
                                    ActionLocation = ActionLocation
                                }
                            });

                            var deleteActionToken = new ConfirmWorkflowActionToken("Delete: " + validator.AttributeName(), typeof(DeleteFieldValidatorActionToken));
                            fieldValidatorElement.AddAction(new ElementAction(new ActionHandle(deleteActionToken))
                            {
                                VisualData = new ActionVisualizedData
                                {
                                    Label          = "Delete",
                                    ToolTip        = "Delete",
                                    Icon           = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-delete"),
                                    ActionLocation = ActionLocation
                                }
                            });

                            yield return(fieldValidatorElement);
                        }
                    }
                }
            }
        }
        /// <exclude />
        public static FlowToken ExecuteSecurityViolation(ActionToken actionToken, EntityToken entityToken, FlowControllerServicesContainer flowControllerServicesContainer)
        {
            EntityToken newEntityToken = new SecurityViolationWorkflowEntityToken();

            WorkflowActionToken newActionToken = new WorkflowActionToken(WorkflowFacade.GetWorkflowType("Composite.C1Console.Actions.Workflows.SecurityViolationWorkflow"));

            return(Execute(newEntityToken, newActionToken, flowControllerServicesContainer));
        }
Пример #12
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!UserValidationFacade.IsLoggedIn())
        {
            Response.Redirect("/Composite/Login.aspx?ReturnUrl=" + Request.Url.PathAndQuery);
            return;
        }
        ScriptLoader.Render("sub");


        rptCountryList.DataSource = DataFacade.GetData <Country>().Take(10)
                                    .ToArray()
                                    .Select(x =>
        {
            var editLink = new EditLink()
            {
                Label = x.Name
            };

            if (DataScopeManager.CurrentDataScope != DataScopeIdentifier.Administrated)
            {
                editLink.Link = String.Empty;
                return(editLink);
            }

            var teaser = x;

            //var editWorkflowAttribute = teaser.DataSourceId.InterfaceType.GetCustomAttributes(true).OfType<EditWorkflowAttribute>().FirstOrDefault();
            //if (editWorkflowAttribute == null)
            //{
            //    editLink.Link = string.Empty;
            //    return editLink;
            //}


            var page                  = PageManager.GetPageById(Guid.Parse("63ec1a73-b1ed-4ec8-923f-2840448c43ce"));
            var entityToken           = new PageTeaserInstanceEntityToken(page, teaser);
            var serializedEntityToken = EntityTokenSerializer.Serialize(entityToken, true);

            var editActionToken       = new WorkflowActionToken(typeof(EditWorkflowAttribute));
            var serializedActionToken = ActionTokenSerializer.Serialize(editActionToken, true);

            var html = String.Format("<a href=\"#\" data-providername='{0}' data-entitytoken='{1}' data-actiontoken=\"{2}\" data-piggybag='{3}' data-piggybaghash='{4}' onclick=\"executeAction(this)\">{5}</a>",
                                     teaser.DataSourceId.ProviderName,
                                     serializedEntityToken,
                                     serializedActionToken,
                                     String.Empty,
                                     HashSigner.GetSignedHash(string.Empty).Serialize(),
                                     "edit");

            editLink.Link = html;
            return(editLink);
        });


        rptCountryList.DataBind();
    }
Пример #13
0
        private void AppendFolderManagementActions(string websiteFolderPath, IEnumerable <IFolderWhiteList> manageableFolderWhiteLists, IList <ElementAction> folderActions)
        {
            for (int i = 0; i < _manageableKeyNames.Count; i++)
            {
                string keyName   = _manageableKeyNames[i];
                string itemLabel = StringResourceSystemFacade.ParseString(_manageableKeyNameLabels[i]);

                ResourceHandle      icon                = null;
                string              label               = null;
                string              tooltip             = null;
                WorkflowActionToken workflowActionToken = null;

                ActionCheckedStatus checkedStatus = ActionCheckedStatus.Uncheckable;

                if (manageableFolderWhiteLists.Where(f => f.KeyName == keyName && f.TildeBasedPath == IFolderWhiteListExtensions.GetTildePath(websiteFolderPath)).Any())
                {
                    workflowActionToken = new WorkflowActionToken(WorkflowFacade.GetWorkflowType("Composite.Plugins.Elements.ElementProviders.WebsiteFileElementProvider.RemoveWebsiteFolderFromWhiteListWorkflow"), _changeWhiteListPermissionTypes);
                    label         = StringResourceSystemFacade.GetString("Composite.Plugins.WebsiteFileElementProvider", "RemoveFolderFromWhiteListTitle");
                    tooltip       = StringResourceSystemFacade.GetString("Composite.Plugins.WebsiteFileElementProvider", "RemoveFolderFromWhiteListToolTip");
                    icon          = WebsiteFileElementProvider.RemoveFolderFromWhiteList;
                    checkedStatus = ActionCheckedStatus.Checked;
                }
                else
                {
                    workflowActionToken = new WorkflowActionToken(WorkflowFacade.GetWorkflowType("Composite.Plugins.Elements.ElementProviders.WebsiteFileElementProvider.AddWebsiteFolderToWhiteListWorkflow"), _changeWhiteListPermissionTypes);
                    label         = StringResourceSystemFacade.GetString("Composite.Plugins.WebsiteFileElementProvider", "AddFolderToWhiteListTitle");
                    tooltip       = StringResourceSystemFacade.GetString("Composite.Plugins.WebsiteFileElementProvider", "AddFolderToWhiteListToolTip");
                    icon          = WebsiteFileElementProvider.AddFolderToWhiteList;
                    checkedStatus = ActionCheckedStatus.Unchecked;
                }

                label   = string.Format(label, itemLabel);
                tooltip = string.Format(tooltip, itemLabel);

                workflowActionToken.Payload = keyName;

                folderActions.Add(
                    new ElementAction(new ActionHandle(workflowActionToken))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label          = label,
                        ToolTip        = tooltip,
                        Icon           = icon,
                        Disabled       = false,
                        ActionLocation = new ActionLocation
                        {
                            ActionType  = ActionType.Other,
                            IsInFolder  = false,
                            IsInToolbar = false,
                            ActionGroup = PrimaryFolderToolsActionGroup
                        },
                        ActionCheckedStatus = checkedStatus
                    }
                });
            }
        }
        /// <summary>
        /// Refreshed function tree for the currently used function provider element provider.
        /// </summary>
        public void RefreshFunctionTree()
        {
            WorkflowActionToken actionToken = (WorkflowActionToken)this.ActionToken;

            var entityToken = new BaseFunctionFolderElementEntityToken(actionToken.Payload, string.Empty);

            SpecificTreeRefresher specificTreeRefresher = this.CreateSpecificTreeRefresher();

            specificTreeRefresher.PostRefreshMesseges(entityToken);
        }
        private IEnumerable <Element> getFormSubmitHandlerElements(ElementProviderContext context, FormFolderEntityToken folder)
        {
            var definition = DefinitionsFacade.GetDefinition(folder.FormName);

            if (definition == null)
            {
                yield break;
            }

            foreach (var handler in definition.SubmitHandlers)
            {
                var elementHandle  = context.CreateElementHandle(new FormSubmitHandlerEntityToken(handler.GetType(), folder.FormName, handler.Name));
                var handlerElement = new Element(elementHandle)
                {
                    VisualData = new ElementVisualizedData
                    {
                        Label       = handler.Name,
                        ToolTip     = handler.Name,
                        HasChildren = false,
                        Icon        = ResourceHandle.BuildIconFromDefaultProvider("localization-element-closed-root"),
                        OpenedIcon  = ResourceHandle.BuildIconFromDefaultProvider("localization-element-opened-root")
                    }
                };

                var editWorkflowAttribute = handler.GetType().GetCustomAttributes(true).OfType <EditWorkflowAttribute>().FirstOrDefault();
                if (editWorkflowAttribute != null)
                {
                    var editActionToken = new WorkflowActionToken(editWorkflowAttribute.EditWorkflowType);
                    handlerElement.AddAction(new ElementAction(new ActionHandle(editActionToken))
                    {
                        VisualData = new ActionVisualizedData
                        {
                            Label          = "Edit",
                            ToolTip        = "Edit",
                            Icon           = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-edit"),
                            ActionLocation = ActionLocation
                        }
                    });
                }

                var deleteActionToken = new ConfirmWorkflowActionToken("Delete: " + handler.Name, typeof(DeleteSubmitHandlerActionToken));
                handlerElement.AddAction(new ElementAction(new ActionHandle(deleteActionToken))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label          = "Delete",
                        ToolTip        = "Delete",
                        Icon           = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-delete"),
                        ActionLocation = ActionLocation
                    }
                });

                yield return(handlerElement);
            }
        }
        /// <exclude />
        public static FlowToken ExecuteEntityTokenLocked(ActionToken lockedActionToken, EntityToken lockedEntityToken, FlowControllerServicesContainer flowControllerServicesContainer)
        {
            EntityToken entityToken = new EntityTokenLockedEntityToken(
                ActionLockingFacade.LockedBy(lockedEntityToken),
                ActionTokenSerializer.Serialize(lockedActionToken),
                EntityTokenSerializer.Serialize(lockedEntityToken)
                );

            WorkflowActionToken actionToken = new WorkflowActionToken(WorkflowFacade.GetWorkflowType("Composite.C1Console.Actions.Workflows.EntityTokenLockedWorkflow"));

            return(Execute(entityToken, actionToken, flowControllerServicesContainer));
        }
        private void AddPositionFolders(EntityToken entityToken, List <Element> list)
        {
            var page = PageManager.GetPageById(new Guid(entityToken.Source));
            IList <Tuple <string, string> > positions;

            if (!TemplateTeaserPositions.TryGetValue(page.TemplateId, out positions))
            {
                return;
            }

            foreach (var position in positions)
            {
                var elementHandle   = _context.CreateElementHandle(new PageTeaserPositionFolderEntityToken(page, position.Item1));
                var positionElement = new Element(elementHandle)
                {
                    VisualData = new ElementVisualizedData
                    {
                        Label       = position.Item2,
                        ToolTip     = position.Item2,
                        HasChildren = TeaserFacade.GetPageTeasers(page, position.Item1, false).Any(),
                        Icon        = new ResourceHandle("Composite.Icons", "folder"),
                        OpenedIcon  = new ResourceHandle("Composite.Icons", "folder_active"),
                    }
                };

                var addActionToken = new WorkflowActionToken(typeof(AddPageTeaserWorkFlow), new[] { PermissionType.Add });
                positionElement.AddAction(new ElementAction(new ActionHandle(addActionToken))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label          = StringResourceSystemFacade.GetString("CompositeC1Contrib.Teasers", "TeaserElementAttachingProvider.Add.Label"),
                        ToolTip        = StringResourceSystemFacade.GetString("CompositeC1Contrib.Teasers", "TeaserElementAttachingProvider.Add.ToolTip"),
                        Icon           = new ResourceHandle("Composite.Icons", "generated-type-data-add"),
                        ActionLocation = ActionLocation
                    }
                });

                var url             = String.Format("InstalledPackages/CompositeC1Contrib.Teasers/SortPageTeasers.aspx?pageId={0}&position={1}", page.Id, position.Item1);
                var sortActionToken = new UrlActionToken(StringResourceSystemFacade.GetString("CompositeC1Contrib.Teasers", "TeaserElementAttachingProvider.SortItems"), UrlUtils.ResolveAdminUrl(url), new[] { PermissionType.Add, PermissionType.Edit, PermissionType.Administrate, });
                positionElement.AddAction(new ElementAction(new ActionHandle(sortActionToken))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label          = StringResourceSystemFacade.GetString("CompositeC1Contrib.Teasers", "TeaserElementAttachingProvider.Sort.Label"),
                        ToolTip        = StringResourceSystemFacade.GetString("CompositeC1Contrib.Teasers", "TeaserElementAttachingProvider.Sort.ToolTip"),
                        Icon           = new ResourceHandle("Composite.Icons", "cut"),
                        ActionLocation = ActionLocation
                    }
                });

                list.Add(positionElement);
            }
        }
        private IEnumerable <Element> getWizardStepElements(ElementProviderContext context, FormFolderEntityToken folder)
        {
            var wizard = (DynamicWizardDefinition)DefinitionsFacade.GetDefinition(folder.FormName);

            if (wizard == null)
            {
                yield break;
            }

            foreach (var step in wizard.Model.Steps)
            {
                var elementHandle     = context.CreateElementHandle(new FormWizardStepEntityToken(wizard.Name, step.Name));
                var wizardStepElement = new Element(elementHandle)
                {
                    VisualData = new ElementVisualizedData
                    {
                        Label       = step.Name,
                        ToolTip     = step.Name,
                        HasChildren = false,
                        Icon        = ResourceHandle.BuildIconFromDefaultProvider("localization-element-closed-root"),
                        OpenedIcon  = ResourceHandle.BuildIconFromDefaultProvider("localization-element-opened-root")
                    }
                };

                var editActionToken = new WorkflowActionToken(typeof(EditWizardStepWorkflow));
                wizardStepElement.AddAction(new ElementAction(new ActionHandle(editActionToken))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label          = "Edit step",
                        ToolTip        = "Edit step",
                        Icon           = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-edit"),
                        ActionLocation = ActionLocation
                    }
                });

                var deleteActionToken = new ConfirmWorkflowActionToken("Delete step", typeof(DeleteFormWizardStepActionToken));
                wizardStepElement.AddAction(new ElementAction(new ActionHandle(deleteActionToken))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label          = "Delete step",
                        ToolTip        = "Delete step",
                        Icon           = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-delete"),
                        ActionLocation = ActionLocation
                    }
                });

                yield return(wizardStepElement);
            }
        }
Пример #19
0
        public static ElementAction GetGenerateClassAction()
        {
            var actionToken = new WorkflowActionToken(typeof(GenerateClassWithKeysWorkflow), new[] { PermissionType.Administrate });

            return(new ElementAction(new ActionHandle(actionToken))
            {
                VisualData = new ActionVisualizedData
                {
                    Label = "Generate class file",
                    ToolTip = "Generate class file",
                    Icon = new ResourceHandle("Composite.Icons", "generated-type-data-edit"),
                    ActionLocation = ActionLocation
                }
            });
        }
Пример #20
0
        public static ElementAction GetAddAction()
        {
            var actionToken = new WorkflowActionToken(typeof(AddResourceWorkflow), new[] { PermissionType.Add });

            return(new ElementAction(new ActionHandle(actionToken))
            {
                VisualData = new ActionVisualizedData
                {
                    Label = "Add resource",
                    ToolTip = "Add resource",
                    Icon = new ResourceHandle("Composite.Icons", "generated-type-data-edit"),
                    ActionLocation = ActionLocation
                }
            });
        }
Пример #21
0
        public override void OnFinish(object sender, EventArgs e)
        {
            var name   = GetBinding <string>("Name");
            var wizard = new DynamicWizardDefinition(name);

            DynamicWizardsFacade.SaveWizard(wizard);

            var data  = ModelReferenceFacade.GetModelReference(name);
            var token = data.GetDataEntityToken();

            var workflowToken = new WorkflowActionToken(typeof(EditFormWizardWorkflow));

            CreateSpecificTreeRefresher().PostRefreshMessages(EntityToken);
            ExecuteAction(token, workflowToken);
        }
Пример #22
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string pageIdString = this.Request.QueryString["pageId"];

            if (pageIdString == null)
            {
                throw new InvalidOperationException();
            }

            Guid pageId = new Guid(pageIdString);

            //var editWorkflowAttribute = teaser.DataSourceId.InterfaceType.GetCustomAttributes(true).OfType<EditWorkflowAttribute>().FirstOrDefault();
            //if (editWorkflowAttribute == null)
            //{
            //    editLink.Link = string.Empty;
            //    return editLink;
            //}


            var pagex        = PageManager.GetPageById(pageId);
            var _entityToken = new PageDataEntityToken(pagex);

            var serializedEntityToken = EntityTokenSerializer.Serialize(_entityToken, true);

            var editActionToken = new WorkflowActionToken(typeof(EditDataWorkflow));

            var token = new WorkflowActionToken(WorkflowFacade.GetWorkflowType(typeof(EditPageWorkflow).FullName));


            var serializedActionToken = ActionTokenSerializer.Serialize(token, true);

            //var m = ActionTokenSerializer.Deserialize(k);
            var x = ActionTokenSerializer.Deserialize(serializedActionToken);

            providerName = pagex.DataSourceId.ProviderName;
            entityToken  = serializedEntityToken;
            actionToken  = serializedActionToken;
            piggybag     = string.Empty;
            piggybagHash = HashSigner.GetSignedHash(string.Empty).Serialize();

            using (new DataScope(DataScopeIdentifier.Administrated, UserSettings.ActiveLocaleCultureInfo))
            {
                IPage page = PageManager.GetPageById(pageId);

                this.MyPlaceHolder.Controls.Add(new LiteralControl("Title: " + page.Title + "<br />"));
            }
        }
Пример #23
0
        }                                                   // Requried


        protected override void OnAddAction(Action <ElementAction> actionAdder, EntityToken entityToken, TreeNodeDynamicContext dynamicContext, DynamicValuesHelperReplaceContext dynamicValuesHelperReplaceContext)
        {
            WorkflowActionToken actionToken = new WorkflowActionToken(
                WorkflowFacade.GetWorkflowType(TypeManager.SerializeType(this.WorkflowType)),
                this.PermissionTypes)
            {
                Payload      = this.Serialize(),
                ExtraPayload = PiggybagSerializer.Serialize(dynamicContext.Piggybag.PreparePiggybag(dynamicContext.CurrentTreeNode, dynamicContext.CurrentEntityToken)),
                DoIgnoreEntityTokenLocking = true
            };


            actionAdder(new ElementAction(new ActionHandle(actionToken))
            {
                VisualData = CreateActionVisualizedData(dynamicValuesHelperReplaceContext)
            });
        }
        /// <exclude />
        protected sealed override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
        {
            FormsWorkflow formsWorkflow = this.GetRoot<FormsWorkflow>();

            FlowControllerServicesContainer flowControllerServicesContainer = WorkflowFacade.GetFlowControllerServicesContainer(WorkflowEnvironment.WorkflowInstanceId);

            IActionExecutionService actionExecutionService = flowControllerServicesContainer.GetService<IActionExecutionService>();

            WorkflowActionToken workflowActionToken = new WorkflowActionToken(this.ChildWorkflowType) {
                    Payload = this.ChildWorkflowPayload,
                    ParentWorkflowInstanceId = formsWorkflow.InstanceId
                };

            actionExecutionService.Execute(formsWorkflow.EntityToken, workflowActionToken, null);

            return ActivityExecutionStatus.Closed;
        }
Пример #25
0
        /// <exclude />
        protected sealed override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
        {
            FormsWorkflow formsWorkflow = this.GetRoot <FormsWorkflow>();

            FlowControllerServicesContainer flowControllerServicesContainer = WorkflowFacade.GetFlowControllerServicesContainer(WorkflowEnvironment.WorkflowInstanceId);

            IActionExecutionService actionExecutionService = flowControllerServicesContainer.GetService <IActionExecutionService>();

            WorkflowActionToken workflowActionToken = new WorkflowActionToken(this.ChildWorkflowType)
            {
                Payload = this.ChildWorkflowPayload,
                ParentWorkflowInstanceId = formsWorkflow.InstanceId
            };

            actionExecutionService.Execute(formsWorkflow.EntityToken, workflowActionToken, null);

            return(ActivityExecutionStatus.Closed);
        }
        public override void OnFinish(object sender, EventArgs e)
        {
            var name = GetBinding <string>("Name");

            var teaserType            = Type.GetType(GetBinding <string>("PageTeaserType"));
            var editWorkflowAttribute = teaserType.GetCustomAttributes(typeof(EditWorkflowAttribute), true).Cast <EditWorkflowAttribute>().Single();

            var payload = new StringBuilder();

            StringConversionServices.SerializeKeyValuePair(payload, "teaserType", teaserType.AssemblyQualifiedName);
            StringConversionServices.SerializeKeyValuePair(payload, "name", name);

            var workflowToken = new WorkflowActionToken(editWorkflowAttribute.EditWorkflowType)
            {
                Payload = payload.ToString()
            };

            CreateAddNewTreeRefresher(EntityToken).PostRefreshMesseges(EntityToken);
            ExecuteAction(EntityToken, workflowToken);
        }
        /// <exclude />
        protected override void OnAddAction(Action <ElementAction> actionAdder, EntityToken entityToken, TreeNodeDynamicContext dynamicContext, DynamicValuesHelperReplaceContext dynamicValuesHelperReplaceContext)
        {
            StringBuilder payload = new StringBuilder();

            StringConversionServices.SerializeKeyValuePair(payload, "TreeId", this.OwnerNode.Tree.TreeId);
            StringConversionServices.SerializeKeyValuePair(payload, "ActionId", this.Id);

            WorkflowActionToken actionToken = new WorkflowActionToken(
                WorkflowFacade.GetWorkflowType("Composite.C1Console.Trees.Workflows.ReportFunctionActionWorkflow"),
                this.PermissionTypes)
            {
                Payload      = this.Serialize(),
                ExtraPayload = PiggybagSerializer.Serialize(dynamicContext.Piggybag.PreparePiggybag(dynamicContext.CurrentTreeNode, dynamicContext.CurrentEntityToken)),
                DoIgnoreEntityTokenLocking = true
            };


            actionAdder(new ElementAction(new ActionHandle(actionToken))
            {
                VisualData = CreateActionVisualizedData(dynamicValuesHelperReplaceContext)
            });
        }
        public void AddActions(Element element)
        {
            if (element.Actions.Any(a => a.TagValue == "edit"))
            {
                return;
            }

            var resourceWriter = ResourceFacade.GetResourceWriter(UserSettings.ActiveLocaleCultureInfo);

            if (resourceWriter == null)
            {
                return;
            }

            var token = (FormFieldEntityToken)element.ElementHandle.EntityToken;
            var model = ModelsFacade.GetModel(token.FormName);
            var field = model.Fields.Get(token.FieldName);

            if (!field.Attributes.OfType <FieldLabelAttribute>().Any())
            {
                return;
            }

            var editFieldActionToken = new WorkflowActionToken(typeof(EditFormFieldSettingsWorkflow));

            element.AddAction(new ElementAction(new ActionHandle(editFieldActionToken))
            {
                TagValue = "edit",

                VisualData = new ActionVisualizedData
                {
                    Label          = "Edit",
                    ToolTip        = "Edit",
                    Icon           = new ResourceHandle("Composite.Icons", "generated-type-data-edit"),
                    ActionLocation = ActionLocation
                }
            });
        }
        private void initializeCodeActivity_ExecuteCode(object sender, EventArgs e)
        {
            WorkflowActionToken workflowActionToken = (WorkflowActionToken)this.ActionToken;
            string folderPath = null;

            if (this.EntityToken is WebsiteFileElementProviderRootEntityToken)
            {
                folderPath = "";
            }
            else
            {
                WebsiteFileElementProviderEntityToken entityToken = (WebsiteFileElementProviderEntityToken)this.EntityToken;
                folderPath = entityToken.Path;
            }

            UpdateTreeRefresher updateTreeRefresher = this.CreateUpdateTreeRefresher(this.EntityToken);

            string keyName = workflowActionToken.Payload;

            DataFacade.Delete <IFolderWhiteList>(f => f.TildeBasedPath == IFolderWhiteListExtensions.GetTildePath(folderPath) && f.KeyName == keyName);

            updateTreeRefresher.PostRefreshMesseges(this.EntityToken);
        }
        private void changeLocaleCodeActivity_Execute_ExecuteCode(object sender, EventArgs e)
        {
            WorkflowActionToken workflowActionToken = (WorkflowActionToken)this.ActionToken;

            CultureInfo cultureInfo = CultureInfo.CreateSpecificCulture(workflowActionToken.Payload);

            UserSettings.ActiveLocaleCultureInfo = cultureInfo;

            string currentConsoleId = GetCurrentConsoleId();

            foreach (string consoleId in GetConsoleIdsOpenedByCurrentUser())
            {
                if (consoleId != currentConsoleId)
                {
                    ConsoleMessageQueueFacade.Enqueue(new CloseAllViewsMessageQueueItem {
                        Reason = StringResourceSystemFacade.GetString("Composite.C1Console.Users", "ChangeOwnActiveLocaleWorkflow.CloseAllViews.Message")
                    }, consoleId);
                }
                ConsoleMessageQueueFacade.Enqueue(new CollapseAndRefreshConsoleMessageQueueItem(), consoleId);
                ConsoleMessageQueueFacade.Enqueue(new BroadcastMessageQueueItem {
                    Name = "ActiveLocaleChanged", Value = ""
                }, consoleId);
            }
        }
        public IEnumerable <ElementAction> Provide(EntityToken entityToken)
        {
            var dataEntityToken = (DataEntityToken)entityToken;

            var modelReference = dataEntityToken.Data as IModelReference;

            if (modelReference == null)
            {
                yield break;
            }

            var def = DefinitionsFacade.GetDefinition(modelReference.Name);

            if (def == null)
            {
                yield break;
            }

            if (def is DynamicFormDefinition)
            {
                var editActionToken = new WorkflowActionToken(typeof(EditFormWorkflow));
                yield return(new ElementAction(new ActionHandle(editActionToken))
                {
                    TagValue = "edit",

                    VisualData = new ActionVisualizedData
                    {
                        Label = "Edit",
                        ToolTip = "Edit",
                        Icon = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-edit"),
                        ActionLocation = ActionLocation
                    }
                });

                var editRenderingLayoutActionToken = new WorkflowActionToken(typeof(EditFormRenderingLayoutWorkflow));
                yield return(new ElementAction(new ActionHandle(editRenderingLayoutActionToken))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label = "Edit rendering layout",
                        ToolTip = "Edit rendering layout",
                        Icon = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-edit"),
                        ActionLocation = ActionLocation
                    }
                });
            }

            if (def is DynamicWizardDefinition)
            {
                var editActionToken = new WorkflowActionToken(typeof(EditFormWizardWorkflow));
                yield return(new ElementAction(new ActionHandle(editActionToken))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label = "Edit",
                        ToolTip = "Edit",
                        Icon = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-edit"),
                        ActionLocation = ActionLocation
                    }
                });
            }

            var deleteActionToken = new ConfirmWorkflowActionToken("Delete: " + modelReference.Name, typeof(DeleteFormActionToken));

            yield return(new ElementAction(new ActionHandle(deleteActionToken))
            {
                VisualData = new ActionVisualizedData
                {
                    Label = "Delete",
                    ToolTip = "Delete",
                    Icon = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-delete"),
                    ActionLocation = ActionLocation
                }
            });

            var copyActionToken = new WorkflowActionToken(typeof(CopyFormWorkflow));

            yield return(new ElementAction(new ActionHandle(copyActionToken))
            {
                VisualData = new ActionVisualizedData
                {
                    Label = "Copy",
                    ToolTip = "Copy",
                    Icon = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-edit"),
                    ActionLocation = ActionLocation
                }
            });
        }