コード例 #1
0
        public override void PartFieldEditorUpdating(ContentPartFieldDefinitionBuilder builder)
        {
            var contentPart  = _contentDefinitionService.GetPart(builder.PartName);
            var contentField = contentPart.Fields.Single(x => x.Name == builder.Name);

            _oldContentPartFieldSettings = contentField.Settings;
        }
コード例 #2
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.FieldType != "TextBoxField")
            {
                yield break;
            }

            var model = new TextBoxFieldSettings();

            if (updateModel.TryUpdateModel(model, "TextBoxFieldSettings", null, null))
            {
                builder.WithSetting("TextBoxFieldSettings.Width", model.Width);
                builder.WithSetting("TextBoxFieldSettings.Height", model.Height.ToString());
                builder.WithSetting("TextBoxFieldSettings.Readonly", model.Readonly.ToString().ToLower());
                builder.WithSetting("TextBoxFieldSettings.Editable", model.Editable.ToString().ToLower());
                builder.WithSetting("TextBoxFieldSettings.Disabled", model.Disabled.ToString().ToLower());
                builder.WithSetting("TextBoxFieldSettings.Multiline", model.Multiline.ToString().ToLower());
                builder.WithSetting("TextBoxFieldSettings.Required", model.Required.ToString().ToLower());
                builder.WithSetting("TextBoxFieldSettings.Prompt", model.Prompt);
                builder.WithSetting("TextBoxFieldSettings.LabelAlign", model.LabelAlign);
                builder.WithSetting("TextBoxFieldSettings.LabelPosition", model.LabelPosition);
                builder.WithSetting("TextBoxFieldSettings.DefaultValue", model.DefaultValue);
            }

            yield return(DefinitionTemplate(model));
        }
コード例 #3
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.FieldType != "InputField")
            {
                yield break;
            }

            var model = new InputFieldSettings();

            if (updateModel.TryUpdateModel(model, "InputFieldSettings", null, null))
            {
                builder.WithSetting("InputFieldSettings.Type", model.Type.ToString());
                builder.WithSetting("InputFieldSettings.Title", model.Title);
                builder.WithSetting("InputFieldSettings.Hint", model.Hint);
                builder.WithSetting("InputFieldSettings.Required", model.Required.ToString());
                builder.WithSetting("InputFieldSettings.AutoFocus", model.AutoFocus.ToString());
                builder.WithSetting("InputFieldSettings.AutoComplete", model.AutoComplete.ToString());
                builder.WithSetting("InputFieldSettings.Placeholder", model.Placeholder);
                builder.WithSetting("InputFieldSettings.Pattern", model.Pattern);
                builder.WithSetting("InputFieldSettings.EditorCssClass", model.EditorCssClass);
                builder.WithSetting("InputFieldSettings.MaxLength", model.MaxLength.ToString());
            }

            yield return(DefinitionTemplate(model));
        }
コード例 #4
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.FieldType != "SecureFileField")
            {
                yield break;
            }

            var model = new SecureFileFieldSettings();

            if (updateModel.TryUpdateModel(model, "SecureFileFieldSettings", null, null))
            {
                builder.WithSetting("SecureFileFieldSettings.Hint", model.Hint);
                builder.WithSetting("SecureFileFieldSettings.SecureDirectoryName", model.SecureDirectoryName);
                builder.WithSetting("SecureFileFieldSettings.SecureBlobAccountName", model.SecureBlobAccountName);
                builder.WithSetting("SecureFileFieldSettings.SecureBlobEndpoint", model.SecureBlobEndpoint);
                builder.WithSetting("SecureFileFieldSettings.SecureSharedKey", model.SecureSharedKey);
                builder.WithSetting("SecureFileFieldSettings.SharedAccessExpirationMinutes", model.SharedAccessExpirationMinutes.ToString());
                builder.WithSetting("SecureFileFieldSettings.AllowedExtensions", model.AllowedExtensions);
                builder.WithSetting("SecureFileFieldSettings.Required", model.Required.ToString());
                builder.WithSetting("SecureFileFieldSettings.GenerateFileName", model.GenerateFileName.ToString());
                builder.WithSetting("SecureFileFieldSettings.CustomSubfolder", model.CustomSubfolder);
                builder.WithSetting("SecureFileFieldSettings.Custom1", model.Custom1);
                builder.WithSetting("SecureFileFieldSettings.Custom2", model.Custom2);
                builder.WithSetting("SecureFileFieldSettings.Custom3", model.Custom3);
                builder.WithSetting("SecureFileFieldSettings.EncryptFile", model.EncryptFile.ToString());
            }

            yield return(DefinitionTemplate(model));
        }
コード例 #5
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(
            ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (_typeHasConfigPart)
            {
                var settings = new FrontendEditorConfigurationSettings();
                if (updateModel.TryUpdateModel(settings, "FrontendEditorConfigurationSettings", null, null))
                {
                    FrontendEditorConfigurationSettings.SetValues(builder, settings.AllowFrontEndEdit);

                    // Update the type settings
                    var partDefinition = _contentDefinitionManager.GetPartDefinition(builder.PartName);
                    var typeDefinition = _typeBuilder.Current;

                    // At this stage, the settings in the FieldDefinition are not updated, so the IFrontEndProfileService
                    // has no way of knowing whether the value of settings.AllowFrontEndEdit has changed. We need to pass
                    // it along to be used.
                    var fieldPlacements = GetEditorPlacement(typeDefinition, partDefinition, builder.Current, settings.AllowFrontEndEdit);
                    if (fieldPlacements.Any())
                    {
                        UpdateFrontEndPlacements(typeDefinition, fieldPlacements);
                        //// schedules a re-evaluation of the shell
                        //_settingsManagerEventHandlers.Value.Invoke(x => x.Saved(_shellSettings), Logger);
                    }
                }
                yield return(DefinitionTemplate(settings));
            }
        }
コード例 #6
0
 public static void SetValues(
     ContentPartFieldDefinitionBuilder builder,
     MediaLibraryPickerFieldGDPRPartFieldSettings settings)
 {
     // anonymization settings
     builder.WithSetting(
         "MediaLibraryPickerFieldGDPRPartFieldSettings.AttemptToAnonymizeItems",
         settings.AttemptToAnonymizeItems.ToString(CultureInfo.InvariantCulture));
     builder.WithSetting(
         "MediaLibraryPickerFieldGDPRPartFieldSettings.DetachGDPRItemsOnAnonymize",
         settings.DetachGDPRItemsOnAnonymize.ToString(CultureInfo.InvariantCulture));
     builder.WithSetting(
         "MediaLibraryPickerFieldGDPRPartFieldSettings.DetachAllItemsOnAnonymize",
         settings.DetachAllItemsOnAnonymize.ToString(CultureInfo.InvariantCulture));
     // erasure settings
     builder.WithSetting(
         "MediaLibraryPickerFieldGDPRPartFieldSettings.AttemptToEraseItems",
         settings.AttemptToEraseItems.ToString(CultureInfo.InvariantCulture));
     builder.WithSetting(
         "MediaLibraryPickerFieldGDPRPartFieldSettings.DetachGDPRItemsOnErase",
         settings.DetachGDPRItemsOnErase.ToString(CultureInfo.InvariantCulture));
     builder.WithSetting(
         "MediaLibraryPickerFieldGDPRPartFieldSettings.DetachAllItemsOnErase",
         settings.DetachAllItemsOnErase.ToString(CultureInfo.InvariantCulture));
 }
コード例 #7
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (!builder.FieldType.Equals(typeof(MoneyField).Name))
            {
                yield break;
            }

            var model = new MoneyFieldSettings();

            if (updateModel.TryUpdateModel(model, typeof(MoneyFieldSettings).Name, null, null))
            {
                if (string.IsNullOrEmpty(model.DefaultCurrency))
                {
                    builder.WithSetting("MoneyFieldSettings.DefaultCurrency", Currency.FromCurrentCulture().Iso3LetterCode);
                }
                else
                {
                    Currency parsedCurrency;
                    if (Currency.TryParse(model.DefaultCurrency, out parsedCurrency))
                    {
                        builder.WithSetting("MoneyFieldSettings.DefaultCurrency", model.DefaultCurrency);
                    }
                    else
                    {
                        updateModel.AddModelError("InvalidCurrencyIsoCode", T("MoneyField - Invalid currency iso code was given."));
                    }
                }

                builder.WithSetting("MoneyFieldSettings.IsCurrencyReadOnly", model.IsCurrencyReadOnly.ToString(CultureInfo.InvariantCulture));
                builder.WithSetting("MoneyFieldSettings.Hint", model.Hint);
                builder.WithSetting("MoneyFieldSettings.Required", model.Required.ToString(CultureInfo.InvariantCulture));
            }
            yield return(DefinitionTemplate(model));
        }
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(
            ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.FieldType == "HiddenStringField")
            {
                var model = new HiddenStringFieldSettingsEventsViewModel {
                    Settings        = new HiddenStringFieldSettings(),
                    ProcessVariant  = HiddenStringFieldUpdateProcessVariant.None,
                    ProcessVariants = _updateProcessor.GetVariants()
                };
                if (updateModel.TryUpdateModel(model, "HiddenStringFieldSettingsEventsViewModel", null, null))
                {
                    builder.WithSetting("HiddenStringFieldSettings.Tokenized", model.Settings.Tokenized.ToString());
                    builder.WithSetting("HiddenStringFieldSettings.TemplateString", model.Settings.TemplateString);

                    _updateProcessor.AddTask(model.ProcessVariant, model.Settings, builder);

                    model.ProcessVariant = HiddenStringFieldUpdateProcessVariant.None;
                    yield return(DefinitionTemplate(model));
                }
            }
            else
            {
                yield break;
            }
        }
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(
            ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.FieldType == "HiddenStringField")
            {
                var model = new HiddenStringFieldSettingsEventsViewModel {
                    Settings        = new HiddenStringFieldSettings(),
                    ProcessVariant  = HiddenStringFieldUpdateProcessVariant.None,
                    ProcessVariants = GetVariants()
                };
                if (updateModel.TryUpdateModel(model, "HiddenStringFieldSettingsEventsViewModel", null, null))
                {
                    builder.WithSetting("HiddenStringFieldSettings.Tokenized", model.Settings.Tokenized.ToString());
                    builder.WithSetting("HiddenStringFieldSettings.TemplateString", model.Settings.TemplateString);
                    builder.WithSetting("HiddenStringFieldSettings.AutomaticAdjustmentOnEdit", model.Settings.AutomaticAdjustmentOnEdit.ToString());

                    if (model.ProcessVariant != HiddenStringFieldUpdateProcessVariant.None)
                    {
                        // TODO: Check task isn't already scheduled.
                        var completeFieldName = _contentTypeName + "_" + builder.PartName + "_" + builder.Name + "_" + model.ProcessVariant.ToString();
                        _scheduledTaskManager.CreateTask(HiddenStringFieldValueUpdateTaskHandler.UPDATEVALUES_TASK + "_" + completeFieldName, _clock.UtcNow.AddMinutes(1), null);
                    }

                    model.ProcessVariant = HiddenStringFieldUpdateProcessVariant.None;
                    yield return(DefinitionTemplate(model));
                }
            }
            else
            {
                yield break;
            }
        }
コード例 #10
0
ファイル: FieldEditorEvents.cs プロジェクト: zaieda/Coevery
 protected void UpdateSettings(FieldSettings model, ContentPartFieldDefinitionBuilder builder, string prefix)
 {
     model.HelpText = model.HelpText ?? string.Empty;
     builder.WithSetting(prefix + ".HelpText", model.HelpText);
     builder.WithSetting(prefix + ".Required", model.Required.ToString());
     builder.WithSetting(prefix + ".ReadOnly", model.ReadOnly.ToString());
     builder.WithSetting(prefix + ".AlwaysInLayout", model.AlwaysInLayout.ToString());
     builder.WithSetting(prefix + ".IsSystemField", model.IsSystemField.ToString());
     builder.WithSetting(prefix + ".IsAudit", model.IsAudit.ToString());
 }
コード例 #11
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            var model = new FieldIndexing();

            updateModel.TryUpdateModel(model, "FieldIndexing", null, null);
            builder.WithSetting("FieldIndexing.Included", model.Included ? true.ToString() : null);

            CreateIndexingTasks();

            yield return(DefinitionTemplate(model));
        }
コード例 #12
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            var settings = new ContentFieldSerializationSettings();

            if (updateModel.TryUpdateModel(settings, "ContentFieldSerializationSettings", null, null))
            {
                ContentFieldSerializationSettings.SetValues(builder, settings.AllowSerialization);
            }

            yield return(DefinitionTemplate(settings));
        }
コード例 #13
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            var model = new DateTimeFieldSettings();

            if (updateModel.TryUpdateModel(model, "DateTimeFieldSettings", null, null))
            {
                builder.WithSetting("DateTimeFieldSettings.Display", model.Display.ToString());
            }

            yield return(DefinitionTemplate(model));
        }
コード例 #14
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            var model = new ChoiceListFieldSettings();

            if (updateModel.TryUpdateModel(model, "ChoiceListFieldSettings", null, null))
            {
                builder.WithSetting("ChoiceListFieldSettings.Options", model.Options);
                builder.WithSetting("ChoiceListFieldSettings.ListMode", model.ListMode);
            }

            yield return(DefinitionTemplate(model));
        }
コード例 #15
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.FieldType != "TextField")
            {
                yield break;
            }

            var model = new ShortCodesSettingsViewModel();

            updateModel.TryUpdateModel(model, "ShortCodesSettings", null, null);
            builder.WithSetting("ShortCodesSettings.EnabledShortCodes", string.Join(",", model.EnabledShortCodes));
            yield return(DefinitionTemplate(model));
        }
コード例 #16
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.FieldType != "TextField")
            {
                yield break;
            }

            var model = new ContentShortCodeSettings();

            updateModel.TryUpdateModel(model, "ContentShortCodeSettings", null, null);
            builder.WithSetting("ContentShortCodeSettings.DisplayedContentTypes", model.DisplayedContentTypes);
            yield return(DefinitionTemplate(model));
        }
コード例 #17
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.FieldType != "JsonDataTableField")
            {
                yield break;
            }
            var model = new JsonDataTableFieldSettings();

            if (updateModel.TryUpdateModel(model, "JsonDataTableFieldSettings", null, null))
            {
                builder.WithSetting("JsonDataTableFieldSettings.ColumnsDefinition", model.ColumnsDefinition);
                builder.WithSetting("JsonDataTableFieldSettings.MaxRows", model.MaxRows.ToString());
            }
            yield return(DefinitionTemplate(model));
        }
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            var model = new ColorPickerFieldSettings();

            if (builder.FieldType != "ColorPickerField")
            {
                yield break;
            }
            if (updateModel.TryUpdateModel(model, "ColorPickerFieldSettings", null, null))
            {
                builder.WithSetting("ColorPickerFieldSettings.Hint", model.Hint);
                builder.WithSetting("ColorPickerFieldSettings.Options", model.Options);
            }
            yield return(DefinitionTemplate(model));
        }
コード例 #19
0
        public override void UpdateFieldSettings(ContentPartFieldDefinitionBuilder builder, SettingsDictionary settingsDictionary)
        {
            if (builder.FieldType != "DatetimeField")
            {
                return;
            }

            var model = settingsDictionary.TryGetModel <DatetimeFieldSettings>();

            if (model != null)
            {
                UpdateSettings(model, builder, "DatetimeFieldSettings");
                builder.WithSetting("DatetimeFieldSettings.DefaultValue", model.DefaultValue.ToString());
            }
        }
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            var typeDefinition = _contentDefinitionManager.GetTypeDefinition(builder.PartName);

            if (_typeHasLocalizationPart || (typeDefinition != null && typeDefinition.Parts.Any(ctpd => ctpd.PartDefinition.Name == "LocalizationPart")))
            {
                _typeHasLocalizationPart = true;
                var settings = new LocalizationCultureNeutralitySettings();
                if (updateModel.TryUpdateModel(settings, "LocalizationCultureNeutralitySettings", null, null))
                {
                    builder.WithSetting("LocalizationCultureNeutralitySettings.CultureNeutral", settings.CultureNeutral.ToString(CultureInfo.InvariantCulture));
                }
                yield return(DefinitionTemplate(settings));
            }
        }
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.FieldType != "ContentPickerField")
            {
                yield break;
            }

            var model = new CPContentCreationSettings();

            if (updateModel.TryUpdateModel(model, "CPContentCreationSettings", null, null))
            {
                builder.WithSetting("CPContentCreationSettings.EnableContentCreation", model.EnableContentCreation.ToString(CultureInfo.InvariantCulture));
            }
            yield return(DefinitionTemplate(model));
        }
コード例 #22
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.FieldType != "HtmlBlockField")
            {
                yield break;
            }

            var model = new HtmlBlockFieldSettings();

            if (updateModel.TryUpdateModel(model, "HtmlBlockFieldSettings", null, null))
            {
                builder.WithSetting("HtmlBlockFieldSettings.Height", model.Height.ToString());
                builder.WithSetting("HtmlBlockFieldSettings.Helptext", model.HelpText);
            }
            yield return(DefinitionTemplate(model));
        }
コード例 #23
0
        public override void UpdateFieldSettings(ContentPartFieldDefinitionBuilder builder, SettingsDictionary settingsDictionary)
        {
            if (builder.FieldType != "OptionSetField")
            {
                return;
            }

            var model = settingsDictionary.TryGetModel <OptionSetFieldSettings>();

            if (model != null)
            {
                UpdateSettings(model, builder, "OptionSetFieldSettings");
                builder.WithSetting("OptionSetFieldSettings.OptionSetId", model.OptionSetId.ToString());
                builder.WithSetting("OptionSetFieldSettings.ListMode", model.ListMode.ToString());
            }
        }
コード例 #24
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.FieldType != "LocationField")
            {
                yield break;
            }

            var model = new LocationFieldSettings();

            if (updateModel.TryUpdateModel(model, "LocationFieldSettings", null, null))
            {
                builder.WithSetting("LocationFieldSettings.Required", model.Required.ToString());
            }

            yield return(DefinitionTemplate(model));
        }
コード例 #25
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            var model = new MediaPickerFieldSettings();

            if (updateModel.TryUpdateModel(model, "MediaPickerFieldSettings", null, null))
            {
                builder.WithSetting("MediaPickerFieldSettings.Hint", model.Hint);
                builder.WithSetting("MediaPickerFieldSettings.AllowedExtensions", model.AllowedExtensions);
                builder.WithSetting("MediaPickerFieldSettings.Required", model.Required.ToString());
                builder.WithSetting("MediaPickerFieldSettings.Custom1", model.Custom1);
                builder.WithSetting("MediaPickerFieldSettings.Custom2", model.Custom2);
                builder.WithSetting("MediaPickerFieldSettings.Custom3", model.Custom3);
            }

            yield return(DefinitionTemplate(model));
        }
コード例 #26
0
        public override void PartFieldEditorUpdated(ContentPartFieldDefinitionBuilder builder)
        {
            var contentPartFieldDefinition = builder.Build();
            var newSettings = contentPartFieldDefinition.Settings;

            if (!AreEqual(newSettings, _oldContentPartFieldSettings))
            {
                var eventData = new Dictionary <string, object> {
                    { "ContentFieldName", builder.Name },
                    { "ContentPartName", builder.PartName },
                    { "OldSettings", ToXml(_oldContentPartFieldSettings) },
                    { "NewSettings", ToXml(newSettings) }
                };
                RecordContentPartAuditTrail(ContentPartAuditTrailEventProvider.FieldSettingsUpdated, eventData, builder.PartName);
            }
        }
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.FieldType != "TaxonomyField")
            {
                yield break;
            }

            var model = new TaxonomyFieldLocalizationSettings();

            if (updateModel.TryUpdateModel(model, "TaxonomyFieldLocalizationSettings", null, null))
            {
                builder.WithSetting("TaxonomyFieldLocalizationSettings.TryToLocalize", model.TryToLocalize.ToString(CultureInfo.InvariantCulture));
            }

            yield return(DefinitionTemplate(model));
        }
コード例 #28
0
        public override void UpdateFieldSettings(ContentPartFieldDefinitionBuilder builder, SettingsDictionary settingsDictionary)
        {
            if (builder.FieldType != "CoeveryTextField")
            {
                return;
            }
            var model = settingsDictionary.TryGetModel <CoeveryTextFieldSettings>();

            if (model != null)
            {
                UpdateSettings(model, builder, "CoeveryTextFieldSettings");
                builder.WithSetting("CoeveryTextFieldSettings.IsDispalyField", model.IsDispalyField.ToString());
                builder.WithSetting("CoeveryTextFieldSettings.MaxLength", model.MaxLength.ToString());
                builder.WithSetting("CoeveryTextFieldSettings.PlaceHolderText", model.PlaceHolderText);
            }
        }
コード例 #29
0
 public static void SetValues(ContentPartFieldDefinitionBuilder builder, GDPRPartFieldSettings settings)
 {
     builder.WithSetting(
         "GDPRPartFieldSettings.ShouldAnonymize",
         settings.ShouldAnonymize.ToString(CultureInfo.InvariantCulture));
     builder.WithSetting(
         "GDPRPartFieldSettings.ShouldErase",
         settings.ShouldErase.ToString(CultureInfo.InvariantCulture));
     // serialized dictionaries
     builder.WithSetting(
         "GDPRPartFieldSettings.AnonymizationSerializedPairs",
         settings.AnonymizationSerializedPairs);
     builder.WithSetting(
         "GDPRPartFieldSettings.ErasureSerializedPairs",
         settings.ErasureSerializedPairs);
 }
コード例 #30
0
        public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.FieldType != "FieldExternal")
            {
                yield break;
            }
            var model = new FieldExternalSetting();

            if (updateModel.TryUpdateModel(model, "FieldExternalSetting", null, null))
            {
                builder.WithSetting("FieldExternalSetting.Required", model.Required.ToString());
                builder.WithSetting("FieldExternalSetting.CacheMinute", model.CacheMinute.ToString());
                builder.WithSetting("FieldExternalSetting.ExternalURL", model.ExternalURL);
                builder.WithSetting("FieldExternalSetting.NoFollow", model.NoFollow.ToString());
                builder.WithSetting("FieldExternalSetting.GenerateL", model.GenerateL.ToString());
                builder.WithSetting("FieldExternalSetting.HttpVerb", model.HttpVerb.ToString());
                builder.WithSetting("FieldExternalSetting.HttpDataType", model.HttpDataType.ToString());
                builder.WithSetting("FieldExternalSetting.BodyRequest", model.BodyRequest);
                builder.WithSetting("FieldExternalSetting.CertificateRequired", model.CertificateRequired.ToString());
                builder.WithSetting("FieldExternalSetting.CerticateFileName", model.CerticateFileName);
                builder.WithSetting("FieldExternalSetting.CacheInput", model.CacheInput);
                builder.WithSetting("FieldExternalSetting.CacheToFileSystem", model.CacheToFileSystem.ToString());
                builder.WithSetting("FieldExternalSetting.ScheduledMinute", model.ScheduledMinute.ToString());
                builder.WithSetting("FieldExternalSetting.DataType", model.DataType.ToString());
                builder.WithSetting("FieldExternalSetting.AdditionalHeadersText", model.AdditionalHeadersText);
                builder.WithSetting("FieldExternalSetting.InternalHostNameForScheduledTask", model.InternalHostNameForScheduledTask);

                if (model.CertificatePrivateKey == "(none)")   // empty private key
                {
                    builder.WithSetting("FieldExternalSetting.CertificatePrivateKey", "");
                }
                else if (!String.IsNullOrEmpty(model.CertificatePrivateKey))     //save new key
                {
                    builder.WithSetting("FieldExternalSetting.CertificatePrivateKey", model.CertificatePrivateKey.EncryptString(_shellSettings.EncryptionKey));
                } // otherwise keep private key untouched

                if (model.CertificateRequired)
                {
                    string mobile_folder = HostingEnvironment.MapPath("~/") + @"App_Data\Sites\" + _shellSettings.Name + @"\ExternalFields\";
                    if (!System.IO.Directory.Exists(mobile_folder))
                    {
                        System.IO.Directory.CreateDirectory(mobile_folder);
                    }
                }
            }
            yield return(DefinitionTemplate(model));
        }