Shifting ThemeSiteSettingsPart

This commit is contained in:
Sebastien Ros
2013-10-28 18:09:06 -07:00
parent c0ae3f420e
commit 0957f076f7
6 changed files with 18 additions and 24 deletions

View File

@@ -1,14 +1,12 @@
using JetBrains.Annotations;
using Orchard.Data;
using Orchard.ContentManagement.Handlers;
using Orchard.Themes.Models;
namespace Orchard.Themes.Handlers {
[UsedImplicitly]
public class ThemeSiteSettingsPartHandler : ContentHandler {
public ThemeSiteSettingsPartHandler(IRepository<ThemeSiteSettingsPartRecord> repository) {
public ThemeSiteSettingsPartHandler() {
Filters.Add(new ActivatingFilter<ThemeSiteSettingsPart>("Site"));
Filters.Add(StorageFilter.For(repository));
}
}
}

View File

@@ -1,16 +1,9 @@
using Orchard.ContentManagement.MetaData;
using Orchard.Data.Migration;
using Orchard.Data.Migration;
namespace Orchard.Themes {
public class ThemesDataMigration : DataMigrationImpl {
public int Create() {
SchemaBuilder.CreateTable("ThemeSiteSettingsPartRecord",
table => table
.ContentPartRecord()
.Column<string>("CurrentThemeName")
);
return 1;
}
}

View File

@@ -1,10 +1,10 @@
using Orchard.ContentManagement;
namespace Orchard.Themes.Models {
public class ThemeSiteSettingsPart : ContentPart<ThemeSiteSettingsPartRecord> {
public class ThemeSiteSettingsPart : ContentPart {
public string CurrentThemeName {
get { return Record.CurrentThemeName; }
set { Record.CurrentThemeName = value; }
get { return Get("CurrentThemeName"); }
set { Set("CurrentThemeName", value); }
}
}
}

View File

@@ -1,7 +0,0 @@
using Orchard.ContentManagement.Records;
namespace Orchard.Themes.Models {
public class ThemeSiteSettingsPartRecord : ContentPartRecord {
public virtual string CurrentThemeName { get; set; }
}
}

View File

@@ -72,7 +72,6 @@
<Compile Include="Controllers\AdminController.cs" />
<Compile Include="Handlers\ThemeSiteSettingsPartHandler.cs" />
<Compile Include="Models\ThemeSiteSettingsPart.cs" />
<Compile Include="Models\ThemeSiteSettingsPartRecord.cs" />
<Compile Include="Permissions.cs" />
<Compile Include="Preview\IPreviewTheme.cs" />
<Compile Include="Preview\PreviewTheme.cs" />

View File

@@ -3,6 +3,7 @@ using System.Security.Authentication;
using System.Web.Mvc;
using Orchard;
using Orchard.ContentManagement;
using Orchard.ContentManagement.FieldStorage.InfosetStorage;
using Orchard.Core.Common.Models;
using Orchard.Core.Settings.Models;
using Orchard.Localization;
@@ -44,6 +45,7 @@ namespace Upgrade.Controllers {
var site = _orchardServices.WorkContext.CurrentSite.As<SiteSettingsPart>();
// SiteSettingsPartRecord
_upgradeService.ExecuteReader("SELECT * FROM " + _upgradeService.GetPrefixedTableName("Orchard_Core_SiteSettingsPartRecord"),
(reader, connection) => {
site.HomePage = (string)reader["HomePage"];
@@ -57,14 +59,23 @@ namespace Upgrade.Controllers {
site.SuperUser = (string)reader["SuperUser"];
});
_upgradeService.ExecuteReader("DROP TABLE " + _upgradeService.GetPrefixedTableName("Orchard_Core_SiteSettingsPartRecord"), null);
// SiteSettings2PartRecord
_upgradeService.ExecuteReader("SELECT * FROM " + _upgradeService.GetPrefixedTableName("Orchard_Core_SiteSettings2PartRecord"),
(reader, connection) => {
site.BaseUrl = (string)reader["BaseUrl"];
});
_upgradeService.ExecuteReader("DROP TABLE " + _upgradeService.GetPrefixedTableName("Orchard_Core_SiteSettingsPartRecord"), null);
_upgradeService.ExecuteReader("DROP TABLE " + _upgradeService.GetPrefixedTableName("Orchard_Core_SiteSettings2PartRecord"), null);
// ThemeSiteSettingsPartRecord
_upgradeService.ExecuteReader("SELECT * FROM " + _upgradeService.GetPrefixedTableName("Orchard_Themes_ThemeSiteSettingsPartRecord"),
(reader, connection) => site.As<InfosetPart>().Set("ThemeSiteSettingsPart", "CurrentThemeName", (string)reader["CurrentThemeName"]));
_upgradeService.ExecuteReader("DROP TABLE " + _upgradeService.GetPrefixedTableName("Orchard_Themes_ThemeSiteSettingsPartRecord"), null);
_orchardServices.Notifier.Information(T("Site Settings migrated successfully"));
return View();