コード例 #1
0
        /// <exclude />
        protected sealed override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
        {
            FormsWorkflow formsWorkflow = this.GetRoot <FormsWorkflow>();

            IFormMarkupProvider markupProvider = new FormDefinitionFileMarkupProvider(this.FormDefinitionFileName);

            ExternalDataExchangeService   externalDataExchangeService = WorkflowFacade.WorkflowRuntime.GetService <ExternalDataExchangeService>();
            IFormsWorkflowActivityService service = externalDataExchangeService.GetService(typeof(IFormsWorkflowActivityService)) as IFormsWorkflowActivityService;

            service.DeliverFormData(
                WorkflowEnvironment.WorkflowInstanceId,
                this.ContainerLabel,
                StandardUiContainerTypes.Document,
                markupProvider,
                formsWorkflow.Bindings,
                formsWorkflow.BindingsValidationRules
                );

            if (string.IsNullOrEmpty(this.CustomToolbarDefinitionFileName) == false)
            {
                IFormMarkupProvider customToolbarMarkupProvider = new FormDefinitionFileMarkupProvider(this.CustomToolbarDefinitionFileName);
                service.DeliverCustomToolbarDefinition(WorkflowEnvironment.WorkflowInstanceId, customToolbarMarkupProvider);
            }

            return(ActivityExecutionStatus.Closed);
        }
コード例 #2
0
        private void LoadExtraSettings(FormFieldModel field, XElement bindingsXElement, XElement lastTabElement)
        {
            var config          = FormBuilderConfiguration.GetSection();
            var plugin          = (DynamicFormBuilderConfiguration)config.Plugins["dynamic"];
            var inputElement    = plugin.InputElementHandlers.Single(el => el.ElementType.GetType() == field.InputElementType.GetType());
            var settingsHandler = inputElement.SettingsHandler;

            if (settingsHandler != null)
            {
                var formFile = "\\InstalledPackages\\CompositeC1Contrib.FormBuilder.Dynamic\\InputElementSettings\\" + inputElement.Name + ".xml";
                var settingsMarkupProvider = new FormDefinitionFileMarkupProvider(formFile);
                var formDefinitionElement  = XElement.Load(settingsMarkupProvider.GetReader());

                var settingsTab = new XElement(Namespaces.BindingFormsStdUiControls10 + "PlaceHolder");
                var layout      = formDefinitionElement.Element(Namespaces.BindingForms10 + FormKeyTagNames.Layout);
                var bindings    = formDefinitionElement.Element(Namespaces.BindingForms10 + FormKeyTagNames.Bindings);

                settingsTab.Add(new XAttribute("Label", StringResourceSystemFacade.ParseString(inputElement.Name)));
                settingsTab.Add(layout.Elements());
                bindingsXElement.Add(bindings.Elements());

                lastTabElement.AddAfterSelf(settingsTab);

                settingsHandler.Load(field);

                foreach (var prop in settingsHandler.GetType().GetProperties())
                {
                    var value = prop.GetValue(settingsHandler, null);

                    Bindings.Add(prop.Name, value);
                }
            }
        }
コード例 #3
0
        private void step1CodeActivity_ShowDocument_ExecuteCode(object sender, EventArgs e)
        {
            IFormMarkupProvider markupProvider = new FormDefinitionFileMarkupProvider(@"\Administrative\UserGroupElementProviderEditUserGroupStep1.xml");

            XDocument formDocument;

            using (var reader = markupProvider.GetReader())
            {
                formDocument = XDocument.Load(reader);
            }

            XElement bindingsElement    = formDocument.Root.Element(DataTypeDescriptorFormsHelper.CmsNamespace + FormKeyTagNames.Bindings);
            XElement layoutElement      = formDocument.Root.Element(DataTypeDescriptorFormsHelper.CmsNamespace + FormKeyTagNames.Layout);
            XElement placeHolderElement = layoutElement.Element(DataTypeDescriptorFormsHelper.MainNamespace + "PlaceHolder");


            IUserGroup userGroup = this.GetBinding <IUserGroup>("UserGroup");

            UpdateFormDefinitionWithActivePerspectives(userGroup, bindingsElement, placeHolderElement);
            UpdateFormDefinitionWithGlobalPermissions(userGroup, bindingsElement, placeHolderElement);

            var clientValidationRules = new Dictionary <string, List <ClientValidationRule> >();

            clientValidationRules.Add("Name", ClientValidationRuleFacade.GetClientValidationRules(userGroup, "Name"));

            string formDefinition = formDocument.GetDocumentAsString();

            this.DeliverFormData(
                userGroup.Name,
                StandardUiContainerTypes.Document,
                formDefinition,
                this.Bindings,
                clientValidationRules
                );
        }
コード例 #4
0
        protected void SetupFormData(IDynamicDefinition definition, IModel model)
        {
            Bindings.Add("Name", definition.Name);

            Bindings.Add("RequiresCaptcha", model.RequiresCaptcha);
            Bindings.Add("ForceHttpsConnection", model.ForceHttps);

            Bindings.Add("IntroText", GetValue("IntroText"));
            Bindings.Add("SuccessResponse", GetValue("SuccessResponse"));

            var markupProvider = new FormDefinitionFileMarkupProvider(_formFile);
            var formDocument   = XDocument.Load(markupProvider.GetReader());

            var root = formDocument.Root;

            var tabPanelElements = root?.Element(Namespaces.BindingForms10 + FormKeyTagNames.Layout)?.Element(Namespaces.BindingFormsStdUiControls10 + "TabPanels");

            if (tabPanelElements == null)
            {
                return;
            }

            var bindingsXElement = root.Element(Namespaces.BindingForms10 + FormKeyTagNames.Bindings);
            var lastTabElement   = tabPanelElements.Elements().Last();

            LoadExtraSettings(definition, bindingsXElement, lastTabElement);

            DeliverFormData("EditForm", StandardUiContainerTypes.Document, formDocument.ToString(), Bindings, BindingsValidationRules);
        }
コード例 #5
0
        private void SetupFormData(FormFieldModel field)
        {
            var markupProvider = new FormDefinitionFileMarkupProvider("\\InstalledPackages\\CompositeC1Contrib.FormBuilder.Dynamic\\EditFormFieldWorkflow.xml");
            var formDocument   = XDocument.Load(markupProvider.GetReader());

            var layoutXElement   = formDocument.Root.Element(Namespaces.BindingForms10 + FormKeyTagNames.Layout);
            var bindingsXElement = formDocument.Root.Element(Namespaces.BindingForms10 + FormKeyTagNames.Bindings);
            var tabPanelElements = layoutXElement.Element(Namespaces.BindingFormsStdUiControls10 + "TabPanels");
            var lastTabElement   = tabPanelElements.Elements().Last();

            LoadExtraSettings(field, bindingsXElement, lastTabElement);

            DeliverFormData("EditFormField", StandardUiContainerTypes.Document, formDocument.ToString(), Bindings, BindingsValidationRules);
        }
コード例 #6
0
        private void LoadExtraSettings(IDynamicDefinition definition, XElement bindingsXElement, XElement lastTabElement)
        {
            var config = FormBuilderConfiguration.GetSection();
            var plugin = (DynamicFormBuilderConfiguration)config.Plugins["dynamic"];

            var settingsType = plugin.SettingsHandler;

            if (settingsType == null)
            {
                return;
            }

            var formFile = "\\InstalledPackages\\" + settingsType.Namespace + "\\" + settingsType.Name + ".xml";
            var settingsMarkupProvider = new FormDefinitionFileMarkupProvider(formFile);
            var formDefinitionElement  = XElement.Load(settingsMarkupProvider.GetReader());
            var settingsTab            = new XElement(Namespaces.BindingFormsStdUiControls10 + "PlaceHolder");

            var layout = formDefinitionElement.Element(Namespaces.BindingForms10 + FormKeyTagNames.Layout);

            if (layout == null)
            {
                return;
            }

            var bindings = formDefinitionElement.Element(Namespaces.BindingForms10 + FormKeyTagNames.Bindings);

            if (bindings == null)
            {
                return;
            }

            settingsTab.Add(new XAttribute("Label", "Extra Settings"));
            settingsTab.Add(layout.Elements());

            bindingsXElement.Add(bindings.Elements());
            lastTabElement.AddAfterSelf(settingsTab);

            var settings = definition.Settings ?? (IFormSettings)Activator.CreateInstance(settingsType);

            foreach (var prop in settingsType.GetProperties())
            {
                var value = prop.GetValue(settings, null);

                Bindings.Add(prop.Name, value);
            }
        }
コード例 #7
0
        /// <exclude />
        public static XmlReader GetSearchFormMarkup(ElementHandle elementHandle)
        {
            if (elementHandle == null)
            {
                throw new ArgumentNullException("elementHandle");
            }

            XmlReader formDefinition;

            if (ElementProviderPluginFacade.GetSearchFormDefinition(elementHandle.ProviderName, elementHandle.EntityToken, out formDefinition) == false)
            {
                IFormMarkupProvider markupProvider = new FormDefinitionFileMarkupProvider("/Administrative/ElementKeywordSearch.xml");

                return(markupProvider.GetReader());
            }

            return(formDefinition);
        }
コード例 #8
0
        /// <exclude />
        protected sealed override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
        {
            FormsWorkflow formsWorkflow = this.GetRoot <FormsWorkflow>();

            IFormMarkupProvider markupProvider = new FormDefinitionFileMarkupProvider(this.FormDefinitionFileName);

            ExternalDataExchangeService   externalDataExchangeService = WorkflowFacade.WorkflowRuntime.GetService <ExternalDataExchangeService>();
            IFormsWorkflowActivityService service = externalDataExchangeService.GetService(typeof(IFormsWorkflowActivityService)) as IFormsWorkflowActivityService;

            service.DeliverFormData(
                WorkflowEnvironment.WorkflowInstanceId,
                this.ContainerLabel,
                StandardUiContainerTypes.WarningDialog,
                markupProvider,
                formsWorkflow.Bindings,
                formsWorkflow.BindingsValidationRules
                );

            return(ActivityExecutionStatus.Closed);
        }
コード例 #9
0
        private void SetupFormXml()
        {
            var markupProvider = new FormDefinitionFileMarkupProvider(XmlFilePath);

            var formDocument = XDocument.Load(markupProvider.GetReader());

            var layoutXElement = formDocument.Root?.Element(Namespaces.BindingForms10 + FormKeyTagNames.Layout);

            var placeHolderXElement = layoutXElement?.Element(Namespaces.BindingFormsStdUiControls10 + "PlaceHolder");

            if (placeHolderXElement == null)
            {
                return;
            }

            var bindingsXElement = formDocument.Root.Element(Namespaces.BindingForms10 + FormKeyTagNames.Bindings);

            if (bindingsXElement == null)
            {
                return;
            }

            var resourceType = (ResourceType)Enum.Parse(typeof(ResourceType), ResourceKey.Type);

            if (resourceType == ResourceType.Xhtml)
            {
                placeHolderXElement.Name = Namespaces.BindingFormsStdUiControls10 + "TabPanels";
            }

            using (var data = new DataConnection())
            {
                var resourceValues = data.Get <IResourceValue>().Where(v => v.KeyId == ResourceKey.Id).ToDictionary(v => v.Culture);
                var userLocales    = UserSettings.GetActiveLocaleCultureInfos(UserSettings.Username).ToList();

                var isAdministratior = PermissionsFacade.IsAdministrator(UserSettings.Username);

                foreach (var culture in DataLocalizationFacade.ActiveLocalizationCultures)
                {
                    var bindingKey   = GetBindingKey(culture);
                    var bindingValue = String.Empty;

                    if (resourceValues.TryGetValue(culture.Name, out IResourceValue resourceValue))
                    {
                        bindingValue = resourceValue.Value;
                    }

                    Bindings.Add(bindingKey, bindingValue);

                    bindingsXElement.Add(CreateBindingElement(bindingKey));

                    if (isAdministratior || userLocales.Contains(culture))
                    {
                        placeHolderXElement.Add(CreateEditResourceValueElement(culture, bindingKey, resourceType));
                    }
                    else
                    {
                        placeHolderXElement.Add(CreateReadOnlyResourceValueElement(culture, bindingKey));
                    }
                }
            }

            DeliverFormData(ResourceKey.Key, StandardUiContainerTypes.Document, formDocument.ToString(), Bindings, BindingsValidationRules);
        }
コード例 #10
0
        private void initializeCodeActivity_ExecuteCode(object sender, EventArgs e)
        {
            var dataEntityToken = (DataEntityToken)this.EntityToken;

            var user          = (IUser)dataEntityToken.Data;
            var userFormLogin = user.GetUserFormLogin();

            this.Bindings.Add(BindingNames.User, user);
            this.Bindings.Add(BindingNames.UserFormLogin, userFormLogin);
            this.Bindings.Add(BindingNames.NewPassword, NotPassword);

            CultureInfo userCulture         = UserSettings.GetUserCultureInfo(user.Username);
            CultureInfo c1ConsoleUiLanguage = UserSettings.GetUserC1ConsoleUiLanguage(user.Username);

            List <KeyValuePair>         regionLanguageList = StringResourceSystemFacade.GetSupportedCulturesList();
            Dictionary <string, string> culturesDictionary = StringResourceSystemFacade.GetAllCultures();

            this.Bindings.Add("AllCultures", culturesDictionary);
            this.Bindings.Add("CultureName", userCulture.Name);

            this.Bindings.Add("C1ConsoleUiCultures", regionLanguageList);
            this.Bindings.Add("C1ConsoleUiLanguageName", c1ConsoleUiLanguage.Name);

            if (UserSettings.GetActiveLocaleCultureInfos(user.Username).Any() && (user.Username != UserSettings.Username))
            {
                this.Bindings.Add("ActiveLocaleName", UserSettings.GetCurrentActiveLocaleCultureInfo(user.Username).Name);
                this.Bindings.Add("ActiveLocaleList", DataLocalizationFacade.ActiveLocalizationCultures.ToDictionary(f => f.Name, DataLocalizationFacade.GetCultureTitle));
            }

            var clientValidationRules = new Dictionary <string, List <ClientValidationRule> >
            {
                { "Username", ClientValidationRuleFacade.GetClientValidationRules(user, "Username") },
                { "Group", ClientValidationRuleFacade.GetClientValidationRules(user, "Group") }
            };


            IFormMarkupProvider markupProvider = new FormDefinitionFileMarkupProvider(@"\Administrative\EditUserStep1.xml");

            XDocument formDocument;

            using (var reader = markupProvider.GetReader())
            {
                formDocument = XDocument.Load(reader);
            }

            XElement        bindingsElement     = formDocument.Root.Element(DataTypeDescriptorFormsHelper.CmsNamespace + FormKeyTagNames.Bindings);
            XElement        layoutElement       = formDocument.Root.Element(DataTypeDescriptorFormsHelper.CmsNamespace + FormKeyTagNames.Layout);
            XElement        tabPanelsElement    = layoutElement.Element(DataTypeDescriptorFormsHelper.MainNamespace + "TabPanels");
            List <XElement> placeHolderElements = tabPanelsElement.Elements(DataTypeDescriptorFormsHelper.MainNamespace + "PlaceHolder").ToList();

            UpdateFormDefinitionWithUserGroups(user, bindingsElement, placeHolderElements[1]);
            UpdateFormDefinitionWithActivePerspectives(user, bindingsElement, placeHolderElements[2]);
            //UpdateFormDefinitionWithGlobalPermissions(user, bindingsElement, placeHolderElements[1]);

            if (DataLocalizationFacade.ActiveLocalizationCultures.Any())
            {
                UpdateFormDefinitionWithActiveLocales(user, bindingsElement, placeHolderElements[1]);
            }

            string formDefinition = formDocument.GetDocumentAsString();

            this.DeliverFormData(
                user.Username,
                StandardUiContainerTypes.Document,
                formDefinition,
                this.Bindings,
                clientValidationRules
                );
        }
        private void SetupFormXml()
        {
            XDocument formDocument;

            var markupProvider = new FormDefinitionFileMarkupProvider(XmlFilePath);

            using (var reader = markupProvider.GetReader())
            {
                formDocument = XDocument.Load(reader);
            }

            if (formDocument.Root == null)
            {
                return;
            }

            var model = ModelsFacade.GetModel <FormModel>(FieldEntityToken.FormName);
            var field = model.Fields.Get(FieldEntityToken.FieldName);

            var bindingsXElement = formDocument.Root.Element(Namespaces.BindingForms10 + FormKeyTagNames.Bindings);
            var layoutElement    = formDocument.Root.Element(Namespaces.BindingForms10 + FormKeyTagNames.Layout);

            if (bindingsXElement == null || layoutElement == null)
            {
                return;
            }

            var tabPanelsElement = layoutElement.Element(Namespaces.BindingFormsStdUiControls10 + "TabPanels");

            if (tabPanelsElement == null)
            {
                return;
            }

            var basicFieldGroup = tabPanelsElement.Element(Namespaces.BindingFormsStdUiControls10 + "PlaceHolder").Element(Namespaces.BindingFormsStdUiControls10 + "FieldGroup");

            if (field.Attributes.OfType <PlaceholderTextAttribute>().Any())
            {
                var binding = "PlaceholderText";

                AddDynamicBinding(bindingsXElement, binding, GetValue(binding) ?? field.PlaceholderText);
                AddTextBox(basicFieldGroup, "Placeholder text", binding);
            }

            if (field.Attributes.OfType <FieldHelpAttribute>().Any())
            {
                var binding = "Help";

                AddDynamicBinding(bindingsXElement, binding, GetValue(binding) ?? field.Help);
                AddTextBox(basicFieldGroup, "Help", binding);
            }

            var validationAttributes = field.Attributes.OfType <FormValidationAttribute>();

            if (!validationAttributes.Any())
            {
                DeliverFormData(FieldEntityToken.FieldName, StandardUiContainerTypes.Document, formDocument.ToString(), Bindings, BindingsValidationRules);

                return;
            }

            basicFieldGroup.Attribute("Label").Remove();
            tabPanelsElement.Element(Namespaces.BindingFormsStdUiControls10 + "PlaceHolder").Add(new XAttribute("Label", "Basic"));

            var fieldGroup = new XElement(Namespaces.BindingFormsStdUiControls10 + "FieldGroup");

            foreach (var attr in validationAttributes)
            {
                var name    = attr.GetType().Name;
                var label   = attr.AttributeName();
                var binding = "Validation-" + name;

                AddTextBox(fieldGroup, label, binding);
                AddDynamicBinding(bindingsXElement, binding, GetValue("Validation." + name) ?? attr.GetValidationMessage(field));
            }

            tabPanelsElement.Add(
                new XElement(Namespaces.BindingFormsStdUiControls10 + "PlaceHolder", new XAttribute("Label", "Validation"),
                             fieldGroup
                             )
                );

            DeliverFormData(FieldEntityToken.FieldName, StandardUiContainerTypes.Document, formDocument.ToString(), Bindings, BindingsValidationRules);
        }
コード例 #12
0
        private void editStateCodeActivity_ExecuteCode(object sender, EventArgs e)
        {
            if (!PermissionsFacade.GetPermissionsForCurrentUser(EntityToken).Contains(PermissionType.Publish))
            {
                var formData = WorkflowFacade.GetFormData(InstanceId, true);

                if (formData.ExcludedEvents == null)
                {
                    formData.ExcludedEvents = new List <string>();
                }

                formData.ExcludedEvents.Add("SaveAndPublish");
            }


            IPage selectedPage;

            if (!BindingExist("SelectedPage"))
            {
                selectedPage = GetDataItemFromEntityToken <IPage>();

                if (selectedPage.PublicationStatus == GenericPublishProcessController.Published)
                {
                    selectedPage.PublicationStatus = GenericPublishProcessController.Draft;
                }
                Bindings.Add("SelectedPage", selectedPage);
            }
            else
            {
                selectedPage = GetBinding <IPage>("SelectedPage");
            }

            if (!BindingExist("UrlTitleIsRequired"))
            {
                var isRootPage = PageManager.GetParentId(selectedPage.Id) == Guid.Empty;

                Bindings["UrlTitleIsRequired"] = !isRootPage;
                Bindings["IsRootPage"]         = isRootPage;
            }

            IFormMarkupProvider markupProvider = new FormDefinitionFileMarkupProvider(@"\Administrative\EditPage.xml");

            XDocument formDocument;

            using (var reader = markupProvider.GetReader())
            {
                formDocument = XDocument.Load(reader);
            }

            var bindingsXElement  = formDocument.Root.Element(DataTypeDescriptorFormsHelper.CmsNamespace + FormKeyTagNames.Bindings);
            var layoutXElement    = formDocument.Root.Element(DataTypeDescriptorFormsHelper.CmsNamespace + FormKeyTagNames.Layout);
            var tabPanelsXElement = layoutXElement.Element(DataTypeDescriptorFormsHelper.MainNamespace + "TabPanels");


            IEnumerable <ICompositionContainer> compositionContainers = selectedPage.GetAllowedMetaDataContainers().Evaluate();

            var compositionTabs = new Dictionary <Guid, XElement>();

            foreach (var compositionContainer in compositionContainers)
            {
                var element = new XElement(Namespaces.BindingFormsStdUiControls10 + "PlaceHolder");
                element.Add(new XAttribute("Label", StringResourceSystemFacade.ParseString(compositionContainer.Label)));

                compositionTabs.Add(compositionContainer.Id, element);
            }

            var clientValidationRules = new Dictionary <string, List <ClientValidationRule> >();

            var pageMetaDataDefinitions = selectedPage.GetAllowedMetaDataDefinitions();

            foreach (var pageMetaDataDefinition in pageMetaDataDefinitions)
            {
                var metaDatTypeId = pageMetaDataDefinition.MetaDataTypeId;

                var dataTypeDescriptor = DynamicTypeManager.GetDataTypeDescriptor(metaDatTypeId);
                Verify.IsNotNull(dataTypeDescriptor, "Failed to get meta data type by id '{0}'. If data type was purposely removed, in order to fix this exception you should remove IPageMetaDataDefinition records that reference this data type.", metaDatTypeId);

                var metaDataType = TypeManager.TryGetType(dataTypeDescriptor.TypeManagerTypeName);
                Verify.IsNotNull(metaDataType, "Failed to get meta data type '{0}', id: {1}. If it has been removed, references from '{2}' have to be removed as well",
                                 dataTypeDescriptor.TypeManagerTypeName, metaDatTypeId, typeof(IPageMetaDataDefinition).Name);

                var helper = CreateDataTypeDescriptorFormsHelper(pageMetaDataDefinition, dataTypeDescriptor);

                var metaData = selectedPage.GetMetaData(pageMetaDataDefinition.Name, metaDataType);
                if (metaData == null)
                {
                    metaData = DataFacade.BuildNew(metaDataType);

                    PageMetaDataFacade.AssignMetaDataSpecificValues(metaData, pageMetaDataDefinition.Name, selectedPage);

                    var localizedData = metaData as ILocalizedControlled;
                    if (localizedData != null)
                    {
                        localizedData.SourceCultureName = UserSettings.ActiveLocaleCultureInfo.Name;
                    }

                    var publishControlled = metaData as IPublishControlled;
                    publishControlled.PublicationStatus = GenericPublishProcessController.Draft;

                    helper.UpdateWithNewBindings(Bindings);
                    helper.ObjectToBindings(metaData, Bindings);
                }
                else
                {
                    helper.UpdateWithBindings(metaData, Bindings);
                }


                bindingsXElement.Add(helper.BindingXml.Elements());
                compositionTabs[pageMetaDataDefinition.MetaDataContainerId].Add(helper.PanelXml);

                clientValidationRules.AddDictionary(helper.GetBindingsValidationRules(metaData));
            }


            var previewTabPanel = tabPanelsXElement.Elements().Last();

            foreach (var element in compositionTabs.Values)
            {
                previewTabPanel.AddBeforeSelf(element);
            }



            IDictionary <string, string> transitionNames = new Dictionary <string, string>();

            transitionNames.Add(GenericPublishProcessController.Draft, StringResourceSystemFacade.GetString("Composite.Management", "PublishingStatus.draft"));
            transitionNames.Add(GenericPublishProcessController.AwaitingApproval, StringResourceSystemFacade.GetString("Composite.Management", "PublishingStatus.awaitingApproval"));

            var username = UserValidationFacade.GetUsername();
            var userPermissionDefinitions      = PermissionTypeFacade.GetUserPermissionDefinitions(username);
            var userGroupPermissionDefinitions = PermissionTypeFacade.GetUserGroupPermissionDefinitions(username);
            var currentPermissionTypes         = PermissionTypeFacade.GetCurrentPermissionTypes(UserValidationFacade.GetUserToken(), EntityToken, userPermissionDefinitions, userGroupPermissionDefinitions);

            foreach (var permissionType in currentPermissionTypes)
            {
                if (GenericPublishProcessController.AwaitingPublicationActionPermissionType.Contains(permissionType))
                {
                    transitionNames.Add(GenericPublishProcessController.AwaitingPublication, StringResourceSystemFacade.GetString("Composite.Management", "PublishingStatus.awaitingPublication"));
                    break;
                }
            }


            var contents            = DataFacade.GetData <IPagePlaceholderContent>(f => f.PageId == selectedPage.Id && f.VersionId == selectedPage.VersionId).ToList();
            var namedXhtmlFragments = contents.ToDictionary(content => content.PlaceHolderId, content => content.Content ?? "");


            UpdateBinding("SelectablePageTypeIds", GetSelectablePageTypes());
            UpdateBinding("SelectableTemplateIds", GetSelectablePageTemplates());
            UpdateBinding("NamedXhtmlFragments", namedXhtmlFragments);
            UpdateBinding("StateOptions", transitionNames);


            var formDefinition = formDocument.GetDocumentAsString();

            DeliverFormData(
                selectedPage.Title,
                StandardUiContainerTypes.Document,
                formDefinition,
                Bindings,
                clientValidationRules
                );
        }
コード例 #13
0
        public XmlReader GetSearchFormDefinition(EntityToken entityToken)
        {
            IFormMarkupProvider markupProvider = new FormDefinitionFileMarkupProvider("/Administrative/AllFunctionsElementProviderSearchForm.xml");

            return(markupProvider.GetReader());
        }