From 85d056ea929d202e5ad658a4cc4476d74f6e3537 Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Fri, 23 Jul 2010 08:44:33 -0700 Subject: [PATCH] HasWidgets -> WidgetsPart; Widget -> WidgetPart - updating part names to conform to a Part convention --HG-- branch : dev rename : src/Orchard.Web/Modules/Futures.Widgets/Controllers/WidgetHandler.cs => src/Orchard.Web/Modules/Futures.Widgets/Handlers/WidgetsPartHandler.cs rename : src/Orchard.Web/Modules/Futures.Widgets/Models/Widget.cs => src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetPart.cs rename : src/Orchard.Web/Modules/Futures.Widgets/Models/HasWidgets.cs => src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetsPart.cs --- .../Controllers/AdminController.cs | 4 +- .../Controllers/WidgetHandler.cs | 43 ------------------- .../DataMigrations/WidgetsDataMigration.cs | 11 ++--- .../Drivers/WidgetsPartDriver.cs | 20 +++++++++ .../Futures.Widgets/Futures.Widgets.csproj | 9 ++-- .../Handlers/WidgetsPartHandler.cs | 27 ++++++++++++ .../Futures.Widgets/Models/HasWidgets.cs | 14 ------ .../Modules/Futures.Widgets/Models/Widget.cs | 13 ------ .../Futures.Widgets/Models/WidgetPart.cs | 6 +++ .../Models/WidgetPartRecord.cs | 9 ++++ .../Futures.Widgets/Models/WidgetsPart.cs | 10 +++++ .../Models/WidgetsPartRecord.cs | 6 +++ .../Modules/Futures.Widgets/WidgetFilter.cs | 2 +- 13 files changed, 90 insertions(+), 84 deletions(-) delete mode 100644 src/Orchard.Web/Modules/Futures.Widgets/Controllers/WidgetHandler.cs create mode 100644 src/Orchard.Web/Modules/Futures.Widgets/Drivers/WidgetsPartDriver.cs create mode 100644 src/Orchard.Web/Modules/Futures.Widgets/Handlers/WidgetsPartHandler.cs delete mode 100644 src/Orchard.Web/Modules/Futures.Widgets/Models/HasWidgets.cs delete mode 100644 src/Orchard.Web/Modules/Futures.Widgets/Models/Widget.cs create mode 100644 src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetPart.cs create mode 100644 src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetPartRecord.cs create mode 100644 src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetsPart.cs create mode 100644 src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetsPartRecord.cs diff --git a/src/Orchard.Web/Modules/Futures.Widgets/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Futures.Widgets/Controllers/AdminController.cs index a65bc1db6..42f4c53d7 100644 --- a/src/Orchard.Web/Modules/Futures.Widgets/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Futures.Widgets/Controllers/AdminController.cs @@ -21,7 +21,7 @@ namespace Futures.Widgets.Controllers { public Localizer T{ get; set;} public ActionResult AddWidget(string zoneName, string themeName, string returnUrl) { - var hasWidgetsRecord = CurrentSite.As().Record; + var hasWidgetsRecord = CurrentSite.As().Record; var virtualPath = "~/Themes/" + themeName + "/Zones/" + zoneName + ".html"; var physicalPath = Server.MapPath(virtualPath); @@ -31,7 +31,7 @@ namespace Futures.Widgets.Controllers { return Redirect(returnUrl); } - var widget = Services.ContentManager.Create("HtmlWidget", init => { + var widget = Services.ContentManager.Create("HtmlWidget", init => { init.Record.Scope = hasWidgetsRecord; init.Record.Zone = zoneName; init.Record.Position = "1"; diff --git a/src/Orchard.Web/Modules/Futures.Widgets/Controllers/WidgetHandler.cs b/src/Orchard.Web/Modules/Futures.Widgets/Controllers/WidgetHandler.cs deleted file mode 100644 index f2d2848fe..000000000 --- a/src/Orchard.Web/Modules/Futures.Widgets/Controllers/WidgetHandler.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System.Linq; -using System.Web.Routing; -using Futures.Widgets.Models; -using Orchard.ContentManagement; -using Orchard.ContentManagement.Drivers; -using Orchard.ContentManagement.Handlers; -using Orchard.Core.Common.Models; -using Orchard.Data; - -namespace Futures.Widgets.Controllers { - public class WidgetHandler : ContentHandler { - public WidgetHandler( - IRepository hasWidgetRepository, - IRepository widgetRepository) { - - // providing standard storage support for widget records - Filters.Add(StorageFilter.For(hasWidgetRepository)); - Filters.Add(StorageFilter.For(widgetRepository)); - - OnLoaded( - (ctx, part) => part.WidgetField.Loader( - () => ctx.ContentManager - .Query() - .Where(x => x.Scope == part.Record) - .List().ToList())); - } - } - - public class WidgetDriver : ContentItemDriver { - public override RouteValueDictionary GetEditorRouteValues(Widget item) { - return new RouteValueDictionary { - {"Area", "Futures.Widgets"}, - {"Controller", "Admin"}, - {"Action", "Edit"}, - {"Id", item.ContentItem.Id} - }; - } - - protected override bool UseDefaultTemplate { - get { return true; } - } - } -} diff --git a/src/Orchard.Web/Modules/Futures.Widgets/DataMigrations/WidgetsDataMigration.cs b/src/Orchard.Web/Modules/Futures.Widgets/DataMigrations/WidgetsDataMigration.cs index 57c8b2252..42536c9a3 100644 --- a/src/Orchard.Web/Modules/Futures.Widgets/DataMigrations/WidgetsDataMigration.cs +++ b/src/Orchard.Web/Modules/Futures.Widgets/DataMigrations/WidgetsDataMigration.cs @@ -6,12 +6,12 @@ namespace Futures.Widgets.DataMigrations { public int Create() { //CREATE TABLE Futures_Widgets_HasWidgetsRecord (Id INTEGER not null, primary key (Id)); - SchemaBuilder.CreateTable("HasWidgetsRecord", table => table + SchemaBuilder.CreateTable("WidgetsPartRecord", table => table .Column("Id", column => column.PrimaryKey()) ); //CREATE TABLE Futures_Widgets_WidgetRecord (Id INTEGER not null, Zone TEXT, Position TEXT, Scope_id INTEGER, primary key (Id)); - SchemaBuilder.CreateTable("WidgetRecord", table => table + SchemaBuilder.CreateTable("WidgetPartRecord", table => table .ContentPartRecord() .Column("Zone") .Column("Position") @@ -22,14 +22,9 @@ namespace Futures.Widgets.DataMigrations { } public int UpdateFrom1() { - ContentDefinitionManager.AlterTypeDefinition("Site", - cfg => cfg - .WithPart("HasWidgets") - ); - ContentDefinitionManager.AlterTypeDefinition("HtmlWidget", cfg => cfg - .WithPart("Widget") + .WithPart("WidgetPart") .WithPart("BodyPart") ); diff --git a/src/Orchard.Web/Modules/Futures.Widgets/Drivers/WidgetsPartDriver.cs b/src/Orchard.Web/Modules/Futures.Widgets/Drivers/WidgetsPartDriver.cs new file mode 100644 index 000000000..695f2f2db --- /dev/null +++ b/src/Orchard.Web/Modules/Futures.Widgets/Drivers/WidgetsPartDriver.cs @@ -0,0 +1,20 @@ +using System.Web.Routing; +using Futures.Widgets.Models; +using Orchard.ContentManagement.Drivers; + +namespace Futures.Widgets.Drivers { + public class WidgetsPartDriver : ContentItemDriver { + public override RouteValueDictionary GetEditorRouteValues(WidgetPart item) { + return new RouteValueDictionary { + {"Area", "Futures.Widgets"}, + {"Controller", "Admin"}, + {"Action", "Edit"}, + {"Id", item.ContentItem.Id} + }; + } + + protected override bool UseDefaultTemplate { + get { return true; } + } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Futures.Widgets/Futures.Widgets.csproj b/src/Orchard.Web/Modules/Futures.Widgets/Futures.Widgets.csproj index 290b659e8..4ef09a5ff 100644 --- a/src/Orchard.Web/Modules/Futures.Widgets/Futures.Widgets.csproj +++ b/src/Orchard.Web/Modules/Futures.Widgets/Futures.Widgets.csproj @@ -58,10 +58,13 @@ - + + - - + + + + diff --git a/src/Orchard.Web/Modules/Futures.Widgets/Handlers/WidgetsPartHandler.cs b/src/Orchard.Web/Modules/Futures.Widgets/Handlers/WidgetsPartHandler.cs new file mode 100644 index 000000000..d6dfe0d1b --- /dev/null +++ b/src/Orchard.Web/Modules/Futures.Widgets/Handlers/WidgetsPartHandler.cs @@ -0,0 +1,27 @@ +using System.Linq; +using Futures.Widgets.Models; +using Orchard.ContentManagement; +using Orchard.ContentManagement.Handlers; +using Orchard.Data; + +namespace Futures.Widgets.Handlers { + public class WidgetsPartHandler : ContentHandler { + public WidgetsPartHandler( + IRepository widgetsRepository, + IRepository widgetRepository) { + + Filters.Add(new ActivatingFilter("Site")); + + // providing standard storage support for widget records + Filters.Add(StorageFilter.For(widgetsRepository)); + Filters.Add(StorageFilter.For(widgetRepository)); + + OnLoaded( + (ctx, part) => part.WidgetField.Loader( + () => ctx.ContentManager + .Query() + .Where(x => x.Scope == part.Record) + .List().ToList())); + } + } +} diff --git a/src/Orchard.Web/Modules/Futures.Widgets/Models/HasWidgets.cs b/src/Orchard.Web/Modules/Futures.Widgets/Models/HasWidgets.cs deleted file mode 100644 index b30dde572..000000000 --- a/src/Orchard.Web/Modules/Futures.Widgets/Models/HasWidgets.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.Collections.Generic; -using Orchard.ContentManagement; -using Orchard.ContentManagement.Records; -using Orchard.Core.Common.Utilities; - -namespace Futures.Widgets.Models { - public class HasWidgets : ContentPart { - public LazyField> WidgetField = new LazyField>(); - public IList Widgets { get { return WidgetField.Value; } set { WidgetField.Value = value; } } - } - - public class HasWidgetsRecord : ContentPartRecord { - } -} diff --git a/src/Orchard.Web/Modules/Futures.Widgets/Models/Widget.cs b/src/Orchard.Web/Modules/Futures.Widgets/Models/Widget.cs deleted file mode 100644 index c2c693eec..000000000 --- a/src/Orchard.Web/Modules/Futures.Widgets/Models/Widget.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Orchard.ContentManagement; -using Orchard.ContentManagement.Records; - -namespace Futures.Widgets.Models { - public class Widget : ContentPart { - } - - public class WidgetRecord : ContentPartRecord { - public virtual HasWidgetsRecord Scope { get; set; } - public virtual string Zone { get; set; } - public virtual string Position { get; set; } - } -} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetPart.cs b/src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetPart.cs new file mode 100644 index 000000000..10b75be45 --- /dev/null +++ b/src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetPart.cs @@ -0,0 +1,6 @@ +using Orchard.ContentManagement; + +namespace Futures.Widgets.Models { + public class WidgetPart : ContentPart { + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetPartRecord.cs b/src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetPartRecord.cs new file mode 100644 index 000000000..e9ea11038 --- /dev/null +++ b/src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetPartRecord.cs @@ -0,0 +1,9 @@ +using Orchard.ContentManagement.Records; + +namespace Futures.Widgets.Models { + public class WidgetPartRecord : ContentPartRecord { + public virtual WidgetsPartRecord Scope { get; set; } + public virtual string Zone { get; set; } + public virtual string Position { get; set; } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetsPart.cs b/src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetsPart.cs new file mode 100644 index 000000000..ed6ab382b --- /dev/null +++ b/src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetsPart.cs @@ -0,0 +1,10 @@ +using System.Collections.Generic; +using Orchard.ContentManagement; +using Orchard.Core.Common.Utilities; + +namespace Futures.Widgets.Models { + public class WidgetsPart : ContentPart { + public LazyField> WidgetField = new LazyField>(); + public IList Widgets { get { return WidgetField.Value; } set { WidgetField.Value = value; } } + } +} diff --git a/src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetsPartRecord.cs b/src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetsPartRecord.cs new file mode 100644 index 000000000..a6cc3ba73 --- /dev/null +++ b/src/Orchard.Web/Modules/Futures.Widgets/Models/WidgetsPartRecord.cs @@ -0,0 +1,6 @@ +using Orchard.ContentManagement.Records; + +namespace Futures.Widgets.Models { + public class WidgetsPartRecord : ContentPartRecord { + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Futures.Widgets/WidgetFilter.cs b/src/Orchard.Web/Modules/Futures.Widgets/WidgetFilter.cs index 91aeb82af..a36e9378f 100644 --- a/src/Orchard.Web/Modules/Futures.Widgets/WidgetFilter.cs +++ b/src/Orchard.Web/Modules/Futures.Widgets/WidgetFilter.cs @@ -25,7 +25,7 @@ namespace Futures.Widgets { return; } - var siteWidgets = CurrentSite.As(); + var siteWidgets = CurrentSite.As(); if (siteWidgets == null) { return; }