Try your search with a different keyword or use * as a wildcard.
using FluentMigrator;
using Nop.Core.Domain.Catalog;
using Nop.Core.Domain.Common;
using Nop.Core.Domain.Customers;
using Nop.Core.Domain.Security;
using Nop.Core.Domain.Tax;
using Nop.Core.Infrastructure;
using Nop.Data;
using Nop.Data.Migrations;
using Nop.Services.Configuration;
namespace Nop.Web.Framework.Migrations.UpgradeTo470;
[NopUpdateMigration("2023-02-01 14:00:03", "4.70", UpdateMigrationType.Settings)]
public class SettingMigration : MigrationBase
{
/// Collect the UP migration expressions
public override void Up()
{
if (!DataSettingsManager.IsDatabaseInstalled())
return;
//do not use DI, because it produces exception on the installation process
var settingService = EngineContext.Current.Resolve();
var customerSettings = settingService.LoadSetting();
if (!settingService.SettingExists(customerSettings, settings => settings.PasswordMaxLength))
{
customerSettings.PasswordMaxLength = 64;
settingService.SaveSetting(customerSettings, settings => settings.PasswordMaxLength);
}
if (!settingService.SettingExists(customerSettings, settings => settings.DefaultCountryId))
{
customerSettings.DefaultCountryId = null;
settingService.SaveSetting(customerSettings, settings => settings.DefaultCountryId);
}
var securitySettings = settingService.LoadSetting();
if (!settingService.SettingExists(securitySettings, settings => settings.UseAesEncryptionAlgorithm))
{
securitySettings.UseAesEncryptionAlgorithm = false;
settingService.SaveSetting(securitySettings, settings => settings.UseAesEncryptionAlgorithm);
}
if (!settingService.SettingExists(securitySettings, settings => settings.AllowStoreOwnerExportImportCustomersWithHashedPassword))
{
securitySettings.AllowStoreOwnerExportImportCustomersWithHashedPassword = true;
settingService.SaveSetting(securitySettings, settings => settings.AllowStoreOwnerExportImportCustomersWithHashedPassword);
}
//#7053
if (!settingService.SettingExists(securitySettings, settings => settings.LogHoneypotDetection))
{
securitySettings.LogHoneypotDetection = true;
settingService.SaveSetting(securitySettings, settings => settings.LogHoneypotDetection);
}
var addressSettings = settingService.LoadSetting();
if (!settingService.SettingExists(addressSettings, settings => settings.DefaultCountryId))
{
addressSettings.DefaultCountryId = null;
settingService.SaveSetting(addressSettings, settings => settings.DefaultCountryId);
}
var captchaSettings = settingService.LoadSetting();
//#6682
if (!settingService.SettingExists(captchaSettings, settings => settings.ShowOnNewsletterPage))
{
captchaSettings.ShowOnNewsletterPage = false;
settingService.SaveSetting(captchaSettings, settings => settings.ShowOnNewsletterPage);
}
var taxSettings = settingService.LoadSetting();
if (!settingService.SettingExists(taxSettings, settings => settings.AutomaticallyDetectCountry))
{
taxSettings.AutomaticallyDetectCountry = true;
settingService.SaveSetting(taxSettings, settings => settings.AutomaticallyDetectCountry);
}
//#6716
var newDisallowPaths = new[]
{
"/cart/estimateshipping", "/cart/selectshippingoption", "/customer/addressdelete",
"/customer/removeexternalassociation", "/customer/checkusernameavailability",
"/catalog/searchtermautocomplete", "/catalog/getcatalogroot", "/addproducttocart/catalog/*",
"/addproducttocart/details/*", "/compareproducts/add/*", "/backinstocksubscribe/*",
"/subscribenewsletter", "/t-popup/*", "/setproductreviewhelpfulness", "/poll/vote",
"/country/getstatesbycountryid/", "/eucookielawaccept", "/topic/authenticate",
"/category/products/", "/product/combinations", "/uploadfileproductattribute/*",
"/shoppingcart/productdetails_attributechange/*", "/uploadfilereturnrequest",
"/boards/topicwatch/*", "/boards/forumwatch/*", "/install/restartapplication",
"/boards/postvote", "/product/estimateshipping/*", "/shoppingcart/checkoutattributechange/*"
};
var robotsTxtSettings = settingService.LoadSetting();
foreach (var path in newDisallowPaths)
{
if (robotsTxtSettings.DisallowPaths.Contains(path))
continue;
robotsTxtSettings.DisallowPaths.Add(path);
}
settingService.SaveSetting(robotsTxtSettings, settings => settings.DisallowPaths);
//#6853
if (!settingService.SettingExists(customerSettings, settings => settings.NeutralGenderEnabled))
{
customerSettings.NeutralGenderEnabled = false;
settingService.SaveSetting(customerSettings, settings => settings.NeutralGenderEnabled);
}
//#6891
if (!settingService.SettingExists(customerSettings, settings => settings.RequiredReLoginAfterPasswordChange))
{
customerSettings.RequiredReLoginAfterPasswordChange = false;
settingService.SaveSetting(customerSettings, settings => settings.RequiredReLoginAfterPasswordChange);
}
//#7064
var catalogSettings = settingService.LoadSetting();
if (!settingService.SettingExists(catalogSettings, settings => settings.UseStandardSearchWhenSearchProviderThrowsException))
{
catalogSettings.UseStandardSearchWhenSearchProviderThrowsException = true;
settingService.SaveSetting(catalogSettings, settings => settings.UseStandardSearchWhenSearchProviderThrowsException);
}
}
public override void Down()
{
//add the downgrade logic if necessary
}
}