From d5764be0ef131139ee6d16a0448faf1172034580 Mon Sep 17 00:00:00 2001 From: Renaud Paquay Date: Sun, 17 Oct 2010 20:46:01 -0700 Subject: [PATCH 01/12] Fix typo --HG-- branch : dev --- .../Modules/Orchard.Modules/Services/ModuleService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Orchard.Web/Modules/Orchard.Modules/Services/ModuleService.cs b/src/Orchard.Web/Modules/Orchard.Modules/Services/ModuleService.cs index a94a9602b..b5aa2efcb 100644 --- a/src/Orchard.Web/Modules/Orchard.Modules/Services/ModuleService.cs +++ b/src/Orchard.Web/Modules/Orchard.Modules/Services/ModuleService.cs @@ -220,7 +220,7 @@ namespace Orchard.Modules.Services { Category = TryLocalize(f.Name + " Category", f.Category, localizer), Dependencies = f.Dependencies, Description = TryLocalize(f.Name + " Description", f.Description, localizer), - DisplayName = TryLocalize(f.Name + " Name", f.Description, localizer), + DisplayName = TryLocalize(f.Name + " Name", f.DisplayName, localizer), Extension = f.Extension, Name = f.Name, }) From 9447b4d3e7c8f14d560d9a6645e679eff76b7e84 Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Mon, 18 Oct 2010 10:11:14 -0700 Subject: [PATCH 02/12] Updating the ContentFieldDriver to work with shapes --HG-- branch : dev --- .../Drivers/ContentFieldDriver.cs | 46 +++++++++++++++---- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/src/Orchard/ContentManagement/Drivers/ContentFieldDriver.cs b/src/Orchard/ContentManagement/Drivers/ContentFieldDriver.cs index 9ec26a243..17cbcded1 100644 --- a/src/Orchard/ContentManagement/Drivers/ContentFieldDriver.cs +++ b/src/Orchard/ContentManagement/Drivers/ContentFieldDriver.cs @@ -3,22 +3,23 @@ using System.Collections.Generic; using System.Linq; using Orchard.ContentManagement.Handlers; using Orchard.ContentManagement.MetaData; +using Orchard.DisplayManagement; namespace Orchard.ContentManagement.Drivers { public abstract class ContentFieldDriver : IContentFieldDriver where TField : ContentField, new() { protected virtual string Prefix { get { return ""; } } - protected virtual string Zone { get { return "body"; } } + protected virtual string Zone { get { return "Content"; } } DriverResult IContentFieldDriver.BuildDisplayShape(BuildDisplayContext context) { - return Process(context.ContentItem, (part, field) => Display(part, field, context.DisplayType)); + return Process(context.ContentItem, (part, field) => Display(part, field, context.DisplayType, context.New)); } DriverResult IContentFieldDriver.BuildEditorShape(BuildEditorContext context) { - return Process(context.ContentItem, Editor); + return Process(context.ContentItem, (part, field) => Editor(part, field, context.New)); } DriverResult IContentFieldDriver.UpdateEditorShape(UpdateEditorContext context) { - return Process(context.ContentItem, (part, field) => Editor(part, field, context.Updater)); + return Process(context.ContentItem, (part, field) => Editor(part, field, context.Updater, context.New)); } DriverResult Process(ContentItem item, Func effort) { @@ -43,19 +44,44 @@ namespace Orchard.ContentManagement.Drivers { } - protected virtual DriverResult Display(ContentPart part, TField field, string displayType) { return null; } - protected virtual DriverResult Editor(ContentPart part, TField field) { return null; } - protected virtual DriverResult Editor(ContentPart part, TField field, IUpdateModel updater) { return null; } + protected virtual DriverResult Display(ContentPart part, TField field, string displayType, dynamic shapeHelper) { return null; } + protected virtual DriverResult Editor(ContentPart part, TField field, dynamic shapeHelper) { return null; } + protected virtual DriverResult Editor(ContentPart part, TField field, IUpdateModel updater, dynamic shapeHelper) { return null; } + public ContentShapeResult ContentShape(string shapeType, Func factory) { + return ContentShapeImplementation(shapeType, null, ctx => factory()); + } + public ContentShapeResult ContentShape(string shapeType, string defaultLocation, Func factory) { + return ContentShapeImplementation(shapeType, defaultLocation, ctx => factory()); + } + + public ContentShapeResult ContentShape(string shapeType, Func factory) { + return ContentShapeImplementation(shapeType, null, ctx=>factory(CreateShape(ctx, shapeType))); + } + + public ContentShapeResult ContentShape(string shapeType, string defaultLocation, Func factory) { + return ContentShapeImplementation(shapeType, defaultLocation, factory); + } + + private ContentShapeResult ContentShapeImplementation(string shapeType, string defaultLocation, Func shapeBuilder) { + return new ContentShapeResult(shapeType, Prefix, shapeBuilder).Location(defaultLocation); + } + + private object CreateShape(BuildShapeContext context, string shapeType) { + IShapeFactory shapeFactory = context.New; + return shapeFactory.Create(shapeType); + } + + [Obsolete] public ContentTemplateResult ContentFieldTemplate(object model) { return new ContentTemplateResult(model, null, Prefix).Location(Zone); } - + [Obsolete] public ContentTemplateResult ContentFieldTemplate(object model, string template) { return new ContentTemplateResult(model, template, Prefix).Location(Zone); } - + [Obsolete] public ContentTemplateResult ContentFieldTemplate(object model, string template, string prefix) { return new ContentTemplateResult(model, template, prefix).Location(Zone); } @@ -64,4 +90,4 @@ namespace Orchard.ContentManagement.Drivers { return new CombinedResult(results); } } -} \ No newline at end of file +} \ No newline at end of file From 97a3ff0bd7e1bae6460ff8d3f0b68e49e3de506f Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Mon, 18 Oct 2010 10:11:43 -0700 Subject: [PATCH 03/12] Changing the default content part zone to "Content" --HG-- branch : dev --- src/Orchard/ContentManagement/Drivers/ContentPartDriver.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Orchard/ContentManagement/Drivers/ContentPartDriver.cs b/src/Orchard/ContentManagement/Drivers/ContentPartDriver.cs index c362864d9..146fce428 100644 --- a/src/Orchard/ContentManagement/Drivers/ContentPartDriver.cs +++ b/src/Orchard/ContentManagement/Drivers/ContentPartDriver.cs @@ -7,7 +7,7 @@ using Orchard.DisplayManagement; namespace Orchard.ContentManagement.Drivers { public abstract class ContentPartDriver : IContentPartDriver where TContent : ContentPart, new() { protected virtual string Prefix { get { return ""; } } - protected virtual string Zone { get { return "Primary"; } } + protected virtual string Zone { get { return "Content"; } } DriverResult IContentPartDriver.BuildDisplay(BuildDisplayContext context) { var part = context.ContentItem.As(); @@ -45,7 +45,6 @@ namespace Orchard.ContentManagement.Drivers { return ContentShapeImplementation(shapeType, null, ctx=>factory(CreateShape(ctx, shapeType))); } - public ContentShapeResult ContentShape(string shapeType, string defaultLocation, Func factory) { return ContentShapeImplementation(shapeType, defaultLocation, factory); } From 1f4145ddd25f69c9d3bc5d9c60e31d816c9b1b17 Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Mon, 18 Oct 2010 10:12:53 -0700 Subject: [PATCH 04/12] Changing edit part shape names to end in "_Edit" --HG-- branch : dev --- .../Orchard.Blogs/Drivers/RecentBlogPostsPartDriver.cs | 2 +- .../Modules/Orchard.Email/Drivers/SmtpSettingsPartDriver.cs | 4 ++-- .../Modules/Orchard.Tags/Drivers/TagsPartDriver.cs | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/RecentBlogPostsPartDriver.cs b/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/RecentBlogPostsPartDriver.cs index 319ccde9e..082bf4019 100644 --- a/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/RecentBlogPostsPartDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.Blogs/Drivers/RecentBlogPostsPartDriver.cs @@ -47,7 +47,7 @@ namespace Orchard.Blogs.Drivers { } protected override DriverResult Editor(RecentBlogPostsPart part, dynamic shapeHelper) { - return ContentShape("Parts_Blogs_RecentBlogPosts_Editor", + return ContentShape("Parts_Blogs_RecentBlogPosts_Edit", () => shapeHelper.EditorTemplate(TemplateName: "Parts/Blogs.RecentBlogPosts", Model: part, Prefix: Prefix)); } diff --git a/src/Orchard.Web/Modules/Orchard.Email/Drivers/SmtpSettingsPartDriver.cs b/src/Orchard.Web/Modules/Orchard.Email/Drivers/SmtpSettingsPartDriver.cs index e8847e280..7706e6d2b 100644 --- a/src/Orchard.Web/Modules/Orchard.Email/Drivers/SmtpSettingsPartDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.Email/Drivers/SmtpSettingsPartDriver.cs @@ -20,13 +20,13 @@ namespace Orchard.Email.Drivers { protected override string Prefix { get { return "SmtpSettings"; } } protected override DriverResult Editor(SmtpSettingsPart part, dynamic shapeHelper) { - return ContentShape("Parts_SmtpSettings_Editor", + return ContentShape("Parts_SmtpSettings_Edit", () => shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: part, Prefix: Prefix)); } protected override DriverResult Editor(SmtpSettingsPart part, IUpdateModel updater, dynamic shapeHelper) { updater.TryUpdateModel(part, Prefix, null, null); - return ContentShape("Parts_SmtpSettings_Editor", + return ContentShape("Parts_SmtpSettings_Edit", () => shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: part, Prefix: Prefix)); } } diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Drivers/TagsPartDriver.cs b/src/Orchard.Web/Modules/Orchard.Tags/Drivers/TagsPartDriver.cs index 2989a258a..b517e940e 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Drivers/TagsPartDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.Tags/Drivers/TagsPartDriver.cs @@ -36,7 +36,7 @@ namespace Orchard.Tags.Drivers { if (!_authorizationService.TryCheckAccess(Permissions.ApplyTag, CurrentUser, part)) return null; - return ContentShape("Parts_Tags_Editor", + return ContentShape("Parts_Tags_Edit", () => shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: BuildEditorViewModel(part), Prefix: Prefix)); } @@ -52,7 +52,7 @@ namespace Orchard.Tags.Drivers { _tagService.UpdateTagsForContentItem(part.ContentItem.Id, tagNames); } - return ContentShape("Parts_Tags_Editor", + return ContentShape("Parts_Tags_Edit", () => shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: model, Prefix: Prefix)); } From fedf68e4a4f97484145ecdb8d51db71e689a79a9 Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Mon, 18 Oct 2010 10:13:57 -0700 Subject: [PATCH 05/12] Updating the Orchard.Core Common module to use the new shape API --HG-- branch : dev --- .../Core/Common/Drivers/CommonPartDriver.cs | 19 ++++++------- .../Core/Common/Drivers/TextFieldDriver.cs | 27 +++++++------------ src/Orchard.Web/Core/Common/Placement.info | 10 ++++++- .../Common/ViewModels/BodyDisplayViewModel.cs | 9 ------- .../ViewModels/CommonMetadataViewModel.cs | 23 ---------------- .../Fields/Common.TextField.cshtml | 3 --- .../Common.Body.Manage.SummaryAdmin.cshtml | 1 - .../Parts/Common.Body.Manage.cshtml | 5 ---- ...Body.ManageWrapperPost.SummaryAdmin.cshtml | 1 - .../Common.Body.ManageWrapperPost.cshtml | 7 ----- ....Body.ManageWrapperPre.SummaryAdmin.cshtml | 1 - .../Parts/Common.Body.ManageWrapperPre.cshtml | 3 --- ...xtField.cshtml => Common.Text.Edit.cshtml} | 0 .../Common/Views/Fields/Common.Text.cshtml | 8 ++++++ src/Orchard.Web/Core/Orchard.Core.csproj | 12 ++------- 15 files changed, 39 insertions(+), 90 deletions(-) delete mode 100644 src/Orchard.Web/Core/Common/ViewModels/BodyDisplayViewModel.cs delete mode 100644 src/Orchard.Web/Core/Common/ViewModels/CommonMetadataViewModel.cs delete mode 100644 src/Orchard.Web/Core/Common/Views/DisplayTemplates/Fields/Common.TextField.cshtml delete mode 100644 src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.Manage.SummaryAdmin.cshtml delete mode 100644 src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.Manage.cshtml delete mode 100644 src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPost.SummaryAdmin.cshtml delete mode 100644 src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPost.cshtml delete mode 100644 src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPre.SummaryAdmin.cshtml delete mode 100644 src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPre.cshtml rename src/Orchard.Web/Core/Common/Views/EditorTemplates/Fields/{Common.TextField.cshtml => Common.Text.Edit.cshtml} (100%) create mode 100644 src/Orchard.Web/Core/Common/Views/Fields/Common.Text.cshtml diff --git a/src/Orchard.Web/Core/Common/Drivers/CommonPartDriver.cs b/src/Orchard.Web/Core/Common/Drivers/CommonPartDriver.cs index ceb9377e9..cf735b2bd 100644 --- a/src/Orchard.Web/Core/Common/Drivers/CommonPartDriver.cs +++ b/src/Orchard.Web/Core/Common/Drivers/CommonPartDriver.cs @@ -2,7 +2,6 @@ using Orchard.ContentManagement.Drivers; using Orchard.Core.Common.Models; using Orchard.Core.Common.ViewModels; -using Orchard.Core.ContentsLocation.Models; using Orchard.Localization; using Orchard.Security; using Orchard.Services; @@ -48,8 +47,8 @@ namespace Orchard.Core.Common.Drivers { protected override DriverResult Editor(CommonPart part, dynamic shapeHelper) { return Combined( - OwnerEditor(part, null), - ContainerEditor(part, null)); + OwnerEditor(part, null, shapeHelper), + ContainerEditor(part, null, shapeHelper)); } protected override DriverResult Editor(CommonPart instance, IUpdateModel updater, dynamic shapeHelper) { @@ -58,11 +57,11 @@ namespace Orchard.Core.Common.Drivers { instance.VersionModifiedUtc = _clock.UtcNow; return Combined( - OwnerEditor(instance, updater), - ContainerEditor(instance, updater)); + OwnerEditor(instance, updater, shapeHelper), + ContainerEditor(instance, updater, shapeHelper)); } - DriverResult OwnerEditor(CommonPart part, IUpdateModel updater) { + DriverResult OwnerEditor(CommonPart part, IUpdateModel updater, dynamic shapeHelper) { var currentUser = _authenticationService.GetAuthenticatedUser(); if (!_authorizationService.TryCheckAccess(Permissions.ChangeOwner, currentUser, part)) { return null; @@ -87,10 +86,11 @@ namespace Orchard.Core.Common.Drivers { } } - return ContentPartTemplate(model, "Parts/Common.Owner", TemplatePrefix).Location(part.GetLocation("Editor")); + return ContentShape("Parts_Common_Owner_Edit", + () => shapeHelper.EditorTemplate(TemplateName: "Parts/Common.Owner", Model: model, Prefix: Prefix)); } - DriverResult ContainerEditor(CommonPart part, IUpdateModel updater) { + DriverResult ContainerEditor(CommonPart part, IUpdateModel updater, dynamic shapeHelper) { var currentUser = _authenticationService.GetAuthenticatedUser(); if (!_authorizationService.TryCheckAccess(Permissions.ChangeOwner, currentUser, part)) { return null; @@ -115,7 +115,8 @@ namespace Orchard.Core.Common.Drivers { } } - return ContentPartTemplate(model, "Parts/Common.Container", TemplatePrefix).Location(part.GetLocation("Editor")); + return ContentShape("Parts_Common_Container_Edit", + () => shapeHelper.EditorTemplate(TemplateName: "Parts/Common.Container", Model: model, Prefix: Prefix)); } } } \ No newline at end of file diff --git a/src/Orchard.Web/Core/Common/Drivers/TextFieldDriver.cs b/src/Orchard.Web/Core/Common/Drivers/TextFieldDriver.cs index 128379d55..d697728f5 100644 --- a/src/Orchard.Web/Core/Common/Drivers/TextFieldDriver.cs +++ b/src/Orchard.Web/Core/Common/Drivers/TextFieldDriver.cs @@ -2,39 +2,32 @@ using Orchard.ContentManagement; using Orchard.ContentManagement.Drivers; using Orchard.Core.Common.Fields; -using Orchard.Core.ContentsLocation.Models; namespace Orchard.Core.Common.Drivers { [UsedImplicitly] public class TextFieldDriver : ContentFieldDriver { - public IOrchardServices Services { get; set; } - private const string TemplateName = "Fields/Common.TextField"; - public TextFieldDriver(IOrchardServices services) { Services = services; } + public IOrchardServices Services { get; set; } + private static string GetPrefix(TextField field, ContentPart part) { return part.PartDefinition.Name + "." + field.Name; } - protected override DriverResult Display(ContentPart part, TextField field, string displayType) { - var location = field.GetLocation(displayType, "Primary", "1"); - - return ContentFieldTemplate(field, TemplateName, GetPrefix(field, part)) - .Location(location); + protected override DriverResult Display(ContentPart part, TextField field, string displayType, dynamic shapeHelper) { + return ContentShape("Fields_Common_Text", () => shapeHelper.Fields_Common_Text(ContentField: field, Name: field.Name, Value: field.Value)); } - protected override DriverResult Editor(ContentPart part, TextField field) { - var location = field.GetLocation("Editor", "Primary", "1"); - - return ContentFieldTemplate(field, TemplateName, GetPrefix(field, part)) - .Location(location); + protected override DriverResult Editor(ContentPart part, TextField field, dynamic shapeHelper) { + return ContentShape("Fields_Common_Text_Edit", + () => shapeHelper.EditorTemplate(TemplateName: "Fields/Common.Text.Edit", Model: field, Prefix: GetPrefix(field, part))); } - protected override DriverResult Editor(ContentPart part, TextField field, IUpdateModel updater) { + protected override DriverResult Editor(ContentPart part, TextField field, IUpdateModel updater, dynamic shapeHelper) { updater.TryUpdateModel(field, GetPrefix(field, part), null, null); - return Editor(part, field); + return Editor(part, field, shapeHelper); } } -} +} \ No newline at end of file diff --git a/src/Orchard.Web/Core/Common/Placement.info b/src/Orchard.Web/Core/Common/Placement.info index fa102159f..c9796ff46 100644 --- a/src/Orchard.Web/Core/Common/Placement.info +++ b/src/Orchard.Web/Core/Common/Placement.info @@ -1,16 +1,24 @@  - + + + + + + @Model.Name.CamelFriendly(): @Model.Value

\ No newline at end of file diff --git a/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.Manage.SummaryAdmin.cshtml b/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.Manage.SummaryAdmin.cshtml deleted file mode 100644 index 55250529b..000000000 --- a/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.Manage.SummaryAdmin.cshtml +++ /dev/null @@ -1 +0,0 @@ -@model Orchard.Core.Common.ViewModels.BodyDisplayViewModel \ No newline at end of file diff --git a/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.Manage.cshtml b/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.Manage.cshtml deleted file mode 100644 index 7340291dc..000000000 --- a/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.Manage.cshtml +++ /dev/null @@ -1,5 +0,0 @@ -@model BodyDisplayViewModel -@using Orchard.Core.Common.ViewModels; -
- @Html.ItemEditLinkWithReturnUrl(T("Edit").ToString(), Model.BodyPart.ContentItem) -
\ No newline at end of file diff --git a/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPost.SummaryAdmin.cshtml b/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPost.SummaryAdmin.cshtml deleted file mode 100644 index 55250529b..000000000 --- a/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPost.SummaryAdmin.cshtml +++ /dev/null @@ -1 +0,0 @@ -@model Orchard.Core.Common.ViewModels.BodyDisplayViewModel \ No newline at end of file diff --git a/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPost.cshtml b/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPost.cshtml deleted file mode 100644 index a24a87b20..000000000 --- a/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPost.cshtml +++ /dev/null @@ -1,7 +0,0 @@ -@model BodyDisplayViewModel -@using Orchard.Core.Common.ViewModels; -@* begin: knowingly broken HTML (hence the ManageWrapperPre and ManageWrapperPost templates) -we need "wrapper templates" (among other functionality) in the future of UI composition -please do not delete or the front end will be broken when the user is authenticated. *@ - -@* begin: knowingly broken HTML *@ \ No newline at end of file diff --git a/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPre.SummaryAdmin.cshtml b/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPre.SummaryAdmin.cshtml deleted file mode 100644 index 55250529b..000000000 --- a/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPre.SummaryAdmin.cshtml +++ /dev/null @@ -1 +0,0 @@ -@model Orchard.Core.Common.ViewModels.BodyDisplayViewModel \ No newline at end of file diff --git a/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPre.cshtml b/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPre.cshtml deleted file mode 100644 index 930523ad4..000000000 --- a/src/Orchard.Web/Core/Common/Views/DisplayTemplates/Parts/Common.Body.ManageWrapperPre.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@model BodyDisplayViewModel -@using Orchard.Core.Common.ViewModels; -
\ No newline at end of file diff --git a/src/Orchard.Web/Core/Common/Views/EditorTemplates/Fields/Common.TextField.cshtml b/src/Orchard.Web/Core/Common/Views/EditorTemplates/Fields/Common.Text.Edit.cshtml similarity index 100% rename from src/Orchard.Web/Core/Common/Views/EditorTemplates/Fields/Common.TextField.cshtml rename to src/Orchard.Web/Core/Common/Views/EditorTemplates/Fields/Common.Text.Edit.cshtml diff --git a/src/Orchard.Web/Core/Common/Views/Fields/Common.Text.cshtml b/src/Orchard.Web/Core/Common/Views/Fields/Common.Text.cshtml new file mode 100644 index 000000000..4cf10f9d6 --- /dev/null +++ b/src/Orchard.Web/Core/Common/Views/Fields/Common.Text.cshtml @@ -0,0 +1,8 @@ +@using Orchard.Utility.Extensions; +@{ + string name = Model.Name; + string value = Model.Value; +} +@if (HasText(name) && HasText(value)) { +

@name.CamelFriendly(): @value

+} \ No newline at end of file diff --git a/src/Orchard.Web/Core/Orchard.Core.csproj b/src/Orchard.Web/Core/Orchard.Core.csproj index 401f49ce3..c3693cfad 100644 --- a/src/Orchard.Web/Core/Orchard.Core.csproj +++ b/src/Orchard.Web/Core/Orchard.Core.csproj @@ -82,7 +82,6 @@ - @@ -148,7 +147,6 @@ - @@ -255,11 +253,8 @@ - + - - - @@ -281,7 +276,7 @@ - + @@ -359,9 +354,6 @@ - - - From 8e8e8724933657f92f76bc1773df3e136fc83624 Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Mon, 18 Oct 2010 10:15:20 -0700 Subject: [PATCH 06/12] A little cleanup of the BodyPartDriver --HG-- branch : dev --- src/Orchard.Web/Core/Common/Drivers/BodyPartDriver.cs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/Orchard.Web/Core/Common/Drivers/BodyPartDriver.cs b/src/Orchard.Web/Core/Common/Drivers/BodyPartDriver.cs index 4f52efb0a..fd0726094 100644 --- a/src/Orchard.Web/Core/Common/Drivers/BodyPartDriver.cs +++ b/src/Orchard.Web/Core/Common/Drivers/BodyPartDriver.cs @@ -1,5 +1,4 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using System.Web; using JetBrains.Annotations; @@ -9,7 +8,6 @@ using Orchard.ContentManagement.Drivers; using Orchard.Core.Common.Models; using Orchard.Core.Common.Settings; using Orchard.Core.Common.ViewModels; -using Orchard.Core.ContentsLocation.Models; using Orchard.Core.Routable.Models; using Orchard.Services; @@ -49,10 +47,6 @@ namespace Orchard.Core.Common.Drivers { ); } - private string IfThen(bool predicate, string value) { - return predicate ? value : null; - } - protected override DriverResult Editor(BodyPart part, dynamic shapeHelper) { var model = BuildEditorViewModel(part); return ContentShape("Parts_Common_Body_Edit", From da9bb275ac46388a15ee706a57096ce3163b5c7a Mon Sep 17 00:00:00 2001 From: Dave Reed Date: Mon, 18 Oct 2010 10:36:27 -0700 Subject: [PATCH 07/12] Rename file Editor to Edit --HG-- branch : dev --- src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj | 2 +- .../Views/Items/{User.Editor.cshtml => User.Edit.cshtml} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename src/Orchard.Web/Modules/Orchard.Users/Views/Items/{User.Editor.cshtml => User.Edit.cshtml} (100%) diff --git a/src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj b/src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj index e103d50b0..911af7915 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj +++ b/src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj @@ -119,7 +119,7 @@ - + Designer diff --git a/src/Orchard.Web/Modules/Orchard.Users/Views/Items/User.Editor.cshtml b/src/Orchard.Web/Modules/Orchard.Users/Views/Items/User.Edit.cshtml similarity index 100% rename from src/Orchard.Web/Modules/Orchard.Users/Views/Items/User.Editor.cshtml rename to src/Orchard.Web/Modules/Orchard.Users/Views/Items/User.Edit.cshtml From a834b760fcc4cd5ac35628926497346477bbbc39 Mon Sep 17 00:00:00 2001 From: Dave Reed Date: Mon, 18 Oct 2010 11:48:51 -0700 Subject: [PATCH 08/12] Add missing file to csproj --HG-- branch : dev --- src/Orchard.Web/Core/Orchard.Core.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Orchard.Web/Core/Orchard.Core.csproj b/src/Orchard.Web/Core/Orchard.Core.csproj index 401f49ce3..e26fd93c7 100644 --- a/src/Orchard.Web/Core/Orchard.Core.csproj +++ b/src/Orchard.Web/Core/Orchard.Core.csproj @@ -390,6 +390,7 @@ + From 56d3008aa0bc9591b1b88c4f32ac55a0b93d13e5 Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Mon, 18 Oct 2010 12:48:17 -0700 Subject: [PATCH 09/12] Updating the order of zones in TheThemeMachine's Theme.txt to match the order of zones in its Layout.cshtml --HG-- branch : dev --- src/Orchard.Web/Themes/TheThemeMachine/Theme.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Orchard.Web/Themes/TheThemeMachine/Theme.txt b/src/Orchard.Web/Themes/TheThemeMachine/Theme.txt index 12f3ec41d..a9742c957 100644 --- a/src/Orchard.Web/Themes/TheThemeMachine/Theme.txt +++ b/src/Orchard.Web/Themes/TheThemeMachine/Theme.txt @@ -4,4 +4,4 @@ Description: It's a *really* good theme, yo. Version: 0.1 Tags: Awesome Website: http://orchardproject.net -Zones: Header, Navigation, Featured, BeforeMain, Messages, BeforeContent, Content, AfterContent, AfterMain, TripelFirst, TripelSecond, TripelThird, FooterQuadFirst, FooterQuadSecond, FooterQuadThird, FooterQuadFourth, Footer, AsideFirst, AsideSecond \ No newline at end of file +Zones: Header, Navigation, Featured, BeforeMain, AsideFirst, Messages, BeforeContent, Content, AfterContent, AsideSecond, AfterMain, TripelFirst, TripelSecond, TripelThird, FooterQuadFirst, FooterQuadSecond, FooterQuadThird, FooterQuadFourth, Footer \ No newline at end of file From 1bab98300d49ff9181a0f17d95036c1d7ee9672f Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Mon, 18 Oct 2010 12:49:08 -0700 Subject: [PATCH 10/12] Corrected Orchard.Email placement file --HG-- branch : dev --- src/Orchard.Web/Modules/Orchard.Email/Placement.info | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Orchard.Web/Modules/Orchard.Email/Placement.info b/src/Orchard.Web/Modules/Orchard.Email/Placement.info index e40e465f2..7f3cf4de5 100644 --- a/src/Orchard.Web/Modules/Orchard.Email/Placement.info +++ b/src/Orchard.Web/Modules/Orchard.Email/Placement.info @@ -1,3 +1,3 @@  - + From b262cb3ac092274ccde290d68d8914c600b8d698 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Mon, 18 Oct 2010 12:49:29 -0700 Subject: [PATCH 11/12] Migrating Core.Messaging --HG-- branch : dev --- .../Core/Messaging/Drivers/MessageSettingsPartDriver.cs | 8 ++++---- src/Orchard.Web/Core/Messaging/Migrations.cs | 3 ++- .../Core/Messaging/Models/MessageSettingsPart.cs | 5 ++++- .../Core/Messaging/Models/MessageSettingsPartRecord.cs | 4 ++++ src/Orchard.Web/Core/Messaging/Placement.info | 3 +++ ...ing.MessageSettings.cshtml => MessageSettings.cshtml} | 0 src/Orchard.Web/Core/Orchard.Core.csproj | 9 +++++++-- .../Modules/Orchard.Modules/Orchard.Modules.csproj | 2 +- 8 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 src/Orchard.Web/Core/Messaging/Placement.info rename src/Orchard.Web/Core/Messaging/Views/EditorTemplates/Parts/{Messaging.MessageSettings.cshtml => MessageSettings.cshtml} (100%) diff --git a/src/Orchard.Web/Core/Messaging/Drivers/MessageSettingsPartDriver.cs b/src/Orchard.Web/Core/Messaging/Drivers/MessageSettingsPartDriver.cs index 0165185a5..9a12832ee 100644 --- a/src/Orchard.Web/Core/Messaging/Drivers/MessageSettingsPartDriver.cs +++ b/src/Orchard.Web/Core/Messaging/Drivers/MessageSettingsPartDriver.cs @@ -9,6 +9,7 @@ using Orchard.Messaging.Services; namespace Orchard.Core.Messaging.Drivers { [UsedImplicitly] public class MessageSettingsPartDriver : ContentPartDriver { + private const string TemplateName = "Parts/MessageSettings"; private readonly IMessageManager _messageQueueManager; public IOrchardServices Services { get; set; } @@ -29,7 +30,7 @@ namespace Orchard.Core.Messaging.Drivers { MessageSettings = part }; - return ContentPartTemplate(model, "Parts/Messaging.MessageSettings"); + return ContentShape("Parts_MessageSettings_Edit", () => shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: model, Prefix: Prefix)); } protected override DriverResult Editor(MessageSettingsPart part, IUpdateModel updater, dynamic shapeHelper) { @@ -37,10 +38,9 @@ namespace Orchard.Core.Messaging.Drivers { MessageSettings = part }; - if (updater.TryUpdateModel(model, Prefix, null, null)) { - } + updater.TryUpdateModel(model, Prefix, null, null); - return ContentPartTemplate(model, "Parts/Messaging.MessageSettings"); + return ContentShape("Parts_MessageSettings_Edit", () => shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: model, Prefix: Prefix)); } } } \ No newline at end of file diff --git a/src/Orchard.Web/Core/Messaging/Migrations.cs b/src/Orchard.Web/Core/Messaging/Migrations.cs index 375785c3e..92f112256 100644 --- a/src/Orchard.Web/Core/Messaging/Migrations.cs +++ b/src/Orchard.Web/Core/Messaging/Migrations.cs @@ -6,8 +6,9 @@ namespace Orchard.Core.Messaging { public int Create() { SchemaBuilder.CreateTable("MessageSettingsPartRecord", table => table .ContentPartRecord() - .Column("DefaultChannelService") + .Column("DefaultChannelService", c => c.WithLength(64)) ); + return 1; } } diff --git a/src/Orchard.Web/Core/Messaging/Models/MessageSettingsPart.cs b/src/Orchard.Web/Core/Messaging/Models/MessageSettingsPart.cs index c624bb20d..5b5303a1e 100644 --- a/src/Orchard.Web/Core/Messaging/Models/MessageSettingsPart.cs +++ b/src/Orchard.Web/Core/Messaging/Models/MessageSettingsPart.cs @@ -1,7 +1,10 @@ -using Orchard.ContentManagement; +using System.ComponentModel.DataAnnotations; +using Orchard.ContentManagement; namespace Orchard.Core.Messaging.Models { public class MessageSettingsPart : ContentPart { + + [StringLength(MessageSettingsPartRecord.DefaultChannelServiceLength)] public string DefaultChannelService { get { return Record.DefaultChannelService; } set { Record.DefaultChannelService = value; } diff --git a/src/Orchard.Web/Core/Messaging/Models/MessageSettingsPartRecord.cs b/src/Orchard.Web/Core/Messaging/Models/MessageSettingsPartRecord.cs index 7d23a9d03..74b16ca78 100644 --- a/src/Orchard.Web/Core/Messaging/Models/MessageSettingsPartRecord.cs +++ b/src/Orchard.Web/Core/Messaging/Models/MessageSettingsPartRecord.cs @@ -1,10 +1,14 @@ +using System.ComponentModel.DataAnnotations; using Orchard.ContentManagement.Records; namespace Orchard.Core.Messaging.Models { public class MessageSettingsPartRecord : ContentPartRecord { + public const ushort DefaultChannelServiceLength = 64; + /// /// Default service used for messages /// + [StringLength(DefaultChannelServiceLength)] public virtual string DefaultChannelService { get; set; } } diff --git a/src/Orchard.Web/Core/Messaging/Placement.info b/src/Orchard.Web/Core/Messaging/Placement.info new file mode 100644 index 000000000..35c14f610 --- /dev/null +++ b/src/Orchard.Web/Core/Messaging/Placement.info @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/Orchard.Web/Core/Messaging/Views/EditorTemplates/Parts/Messaging.MessageSettings.cshtml b/src/Orchard.Web/Core/Messaging/Views/EditorTemplates/Parts/MessageSettings.cshtml similarity index 100% rename from src/Orchard.Web/Core/Messaging/Views/EditorTemplates/Parts/Messaging.MessageSettings.cshtml rename to src/Orchard.Web/Core/Messaging/Views/EditorTemplates/Parts/MessageSettings.cshtml diff --git a/src/Orchard.Web/Core/Orchard.Core.csproj b/src/Orchard.Web/Core/Orchard.Core.csproj index a6827f9b7..a4a8010c7 100644 --- a/src/Orchard.Web/Core/Orchard.Core.csproj +++ b/src/Orchard.Web/Core/Orchard.Core.csproj @@ -268,7 +268,7 @@ - + @@ -384,7 +384,12 @@ - + + Designer + + + Designer + diff --git a/src/Orchard.Web/Modules/Orchard.Modules/Orchard.Modules.csproj b/src/Orchard.Web/Modules/Orchard.Modules/Orchard.Modules.csproj index 41709e58d..e256af8af 100644 --- a/src/Orchard.Web/Modules/Orchard.Modules/Orchard.Modules.csproj +++ b/src/Orchard.Web/Modules/Orchard.Modules/Orchard.Modules.csproj @@ -103,7 +103,7 @@ - + From b88df3db3826521f18db5af5f7772f9a7e9fef98 Mon Sep 17 00:00:00 2001 From: Renaud Paquay Date: Mon, 18 Oct 2010 13:17:37 -0700 Subject: [PATCH 12/12] Convert AchiveLater to new Shape API --HG-- branch : dev --- .../Drivers/ArchiveLaterPartDriver.cs | 28 +++++++++++-------- .../Orchard.ArchiveLater/Migrations.cs | 19 ++----------- .../Orchard.ArchiveLater.csproj | 6 +++- .../Orchard.ArchiveLater/Placement.info | 6 ++++ .../ArchiveLater.Metadata.SummaryAdmin.cshtml | 11 +++----- .../Views/Parts/ArchiveLater.Metadata.cshtml | 1 - 6 files changed, 34 insertions(+), 37 deletions(-) create mode 100644 src/Orchard.Web/Modules/Orchard.ArchiveLater/Placement.info delete mode 100644 src/Orchard.Web/Modules/Orchard.ArchiveLater/Views/Parts/ArchiveLater.Metadata.cshtml diff --git a/src/Orchard.Web/Modules/Orchard.ArchiveLater/Drivers/ArchiveLaterPartDriver.cs b/src/Orchard.Web/Modules/Orchard.ArchiveLater/Drivers/ArchiveLaterPartDriver.cs index a32e595e0..a31204176 100644 --- a/src/Orchard.Web/Modules/Orchard.ArchiveLater/Drivers/ArchiveLaterPartDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.ArchiveLater/Drivers/ArchiveLaterPartDriver.cs @@ -29,22 +29,26 @@ namespace ArchiveLater.Drivers { public IOrchardServices Services { get; set; } protected override DriverResult Display(ArchiveLaterPart part, string displayType, dynamic shapeHelper) { - var metadata = shapeHelper.Parts_ArchiveLater_Metadata(ContentPart: part, ScheduledArchiveUtc: part.ScheduledArchiveUtc.Value); - if (!string.IsNullOrWhiteSpace(displayType)) - metadata.Metadata.Type = string.Format("{0}.{1}", metadata.Metadata.Type, displayType); - var location = part.GetLocation(displayType); - return ContentShape(metadata).Location(location); + return ContentShape("Parts_ArchiveLater_Metadata_SummaryAdmin", + shape => { + part.ScheduledArchiveUtc.Value = DateTime.UtcNow.AddDays(5); + + return shape + .ContentPart(part) + .ScheduledArchiveUtc(part.ScheduledArchiveUtc.Value) + .IsPublished(part.ContentItem.VersionRecord != null && part.ContentItem.VersionRecord.Published); + }); } protected override DriverResult Editor(ArchiveLaterPart part, dynamic shapeHelper) { - return ArchiveEditor(part, null); + return ArchiveEditor(part, null, shapeHelper); } protected override DriverResult Editor(ArchiveLaterPart instance, IUpdateModel updater, dynamic shapeHelper) { - return ArchiveEditor(instance, updater); + return ArchiveEditor(instance, updater, shapeHelper); } - DriverResult ArchiveEditor(ArchiveLaterPart part, IUpdateModel updater) { + DriverResult ArchiveEditor(ArchiveLaterPart part, IUpdateModel updater, dynamic shapeHelper) { var model = new ArchiveLaterViewModel(part); if ( updater != null && updater.TryUpdateModel(model, TemplatePrefix, null, null) ) { @@ -53,14 +57,14 @@ namespace ArchiveLater.Drivers { if (DateTime.TryParse(string.Format("{0} {1}", model.ScheduledArchiveDate, model.ScheduledArchiveTime), out scheduled)) model.ScheduledArchiveUtc = scheduled.ToUniversalTime(); _archiveLaterService.ArchiveLater(model.ContentItem, model.ScheduledArchiveUtc.HasValue ? model.ScheduledArchiveUtc.Value : DateTime.MaxValue); - //Services.Notifier.Information(T("{0} has been scheduled for publishing!", model.ContentItem.TypeDefinition.DisplayName)); } else { - //_archiveLaterService.RemoveArchiveLaterTasks(model.ContentItem); + _archiveLaterService.RemoveArchiveLaterTasks(model.ContentItem); } } - return ContentPartTemplate(model, "Parts/ArchiveLater", TemplatePrefix).Location(part.GetLocation("Editor")); + return ContentShape("Parts_ArchiveLater_Edit", + () => shapeHelper.EditorTemplate(TemplateName: "Parts/ArchiveLater", Model: model, Prefix: Prefix)); } } -} \ No newline at end of file +} diff --git a/src/Orchard.Web/Modules/Orchard.ArchiveLater/Migrations.cs b/src/Orchard.Web/Modules/Orchard.ArchiveLater/Migrations.cs index 14940045d..28cc7b6b7 100644 --- a/src/Orchard.Web/Modules/Orchard.ArchiveLater/Migrations.cs +++ b/src/Orchard.Web/Modules/Orchard.ArchiveLater/Migrations.cs @@ -1,25 +1,12 @@ -using System.Collections.Generic; -using Orchard.ArchiveLater.Models; -using Orchard.ContentManagement.Drivers; -using Orchard.ContentManagement.MetaData; -using Orchard.ContentManagement.MetaData.Builders; +using Orchard.ContentManagement.MetaData; using Orchard.Core.Contents.Extensions; using Orchard.Data.Migration; namespace Orchard.ArchiveLater { public class Migrations : DataMigrationImpl { public int Create() { - ContentDefinitionManager.AlterPartDefinition(typeof(ArchiveLaterPart).Name, cfg => cfg - .WithLocation(new Dictionary { - {"Default", new ContentLocation { Zone = "metadata", Position = "2" }}, - {"Editor", new ContentLocation { Zone = "secondary", Position = "2" }} - })); + ContentDefinitionManager.AlterPartDefinition("ArchiveLaterPart", builder => builder.Attachable()); return 1; } - - public int UpdateFrom1() { - ContentDefinitionManager.AlterPartDefinition("ArchiveLaterPart", builder => builder.Attachable()); - return 2; - } } -} \ No newline at end of file +} diff --git a/src/Orchard.Web/Modules/Orchard.ArchiveLater/Orchard.ArchiveLater.csproj b/src/Orchard.Web/Modules/Orchard.ArchiveLater/Orchard.ArchiveLater.csproj index f832b63ad..fa3c54c21 100644 --- a/src/Orchard.Web/Modules/Orchard.ArchiveLater/Orchard.ArchiveLater.csproj +++ b/src/Orchard.Web/Modules/Orchard.ArchiveLater/Orchard.ArchiveLater.csproj @@ -98,10 +98,14 @@ - + + + Designer + +