From c68206c19f9c29d7a88844045eefe0b00ec66627 Mon Sep 17 00:00:00 2001 From: Andre Rodrigues Date: Mon, 29 Nov 2010 17:21:14 -0800 Subject: [PATCH 1/4] #16872: Setting contentitem container. Fixing publish now. --HG-- branch : dev --- .../Controllers/AdminController.cs | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Localization/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Orchard.Localization/Controllers/AdminController.cs index 185e8ee1f..0fbb8fa66 100644 --- a/src/Orchard.Web/Modules/Orchard.Localization/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Orchard.Localization/Controllers/AdminController.cs @@ -3,6 +3,8 @@ using System.Linq; using System.Web.Mvc; using Orchard.ContentManagement; using Orchard.ContentManagement.Aspects; +using Orchard.Core.Contents.Controllers; +using Orchard.Core.Contents.Settings; using Orchard.Core.Routable.Models; using Orchard.DisplayManagement; using Orchard.Localization.Models; @@ -46,14 +48,14 @@ namespace Orchard.Localization.Controllers { var metadata = _contentManager.GetItemMetadata(contentItem); return RedirectToAction(Convert.ToString(metadata.EditorRouteValues["action"]), metadata.EditorRouteValues); } - + var siteCultures = _cultureManager.ListCultures().Where(s => s != _localizationService.GetContentCulture(contentItem) && s != _cultureManager.GetSiteCulture()); var selectedCulture = siteCultures.SingleOrDefault(s => string.Equals(s, to, StringComparison.OrdinalIgnoreCase)) ?? _cultureManager.GetCurrentCulture(HttpContext); // could be null but the person doing the translating might be translating into their current culture //todo: need a better solution for modifying some parts when translating - or go with a completely different experience if (contentItem.Has()) { - var routePart = contentItem.As(); + RoutePart routePart = contentItem.As(); routePart.Slug = string.Format("{0}{2}{1}", routePart.Slug, siteCultures.Any(s => string.Equals(s, selectedCulture, StringComparison.OrdinalIgnoreCase)) ? selectedCulture : "", !string.IsNullOrWhiteSpace(routePart.Slug) ? "-" : ""); routePart.Path = null; } @@ -66,13 +68,29 @@ namespace Orchard.Localization.Controllers { SiteCultures = siteCultures, Content = _contentManager.BuildEditor(contentItem) }; + + // Cancel transaction so that the routepart is not modified. Services.TransactionManager.Cancel(); return View(model); } [HttpPost, ActionName("Translate")] + [FormValueRequired("submit.Save")] public ActionResult TranslatePOST(int id) { + return TranslatePOST(id, contentItem => { + if (!contentItem.Has() && !contentItem.TypeDefinition.Settings.GetModel().Draftable) + Services.ContentManager.Publish(contentItem); + }); + } + + [HttpPost, ActionName("Translate")] + [FormValueRequired("submit.Publish")] + public ActionResult TranslateAndPublishPOST(int id) { + return TranslatePOST(id, contentItem => Services.ContentManager.Publish(contentItem)); + } + + public ActionResult TranslatePOST(int id, Action conditionallyPublish) { var contentItem = _contentManager.Get(id, VersionOptions.Latest); if (contentItem == null) @@ -86,19 +104,18 @@ namespace Orchard.Localization.Controllers { if (existingTranslation != null) { // edit existing contentItemTranslation = _contentManager.Get(existingTranslation.ContentItem.Id, VersionOptions.DraftRequired); - } - else { + } else { // create contentItemTranslation = _contentManager.New(contentItem.ContentType); + contentItemTranslation.As().Container = contentItem.As().Container; + var localized = contentItemTranslation.As(); localized.MasterContentItem = contentItem; if (!string.IsNullOrWhiteSpace(model.SelectedCulture)) localized.Culture = _cultureManager.GetCultureByName(model.SelectedCulture); _contentManager.Create(contentItemTranslation, VersionOptions.Draft); - if (!contentItem.Has() && contentItem.VersionRecord != null && contentItem.VersionRecord.Published) { - _contentManager.Publish(contentItemTranslation); - } + conditionallyPublish(contentItemTranslation); } model.Content = _contentManager.UpdateEditor(contentItemTranslation, this); From 40b89a256799df4c14c1b4f23a28cf3faf1e13e7 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Mon, 29 Nov 2010 17:35:48 -0800 Subject: [PATCH 2/4] Adding the new Scripting module to Azure solution, and defining an auto generated MachineKey --HG-- branch : dev --- .../Orchard.Azure.Web/Orchard.Azure.Web.csproj | 4 ++++ src/Orchard.Azure/Orchard.Azure.Web/Web.Debug.config | 4 ---- src/Orchard.Azure/Orchard.Azure.Web/Web.Release.config | 4 ---- src/Orchard.Azure/Orchard.Azure.Web/Web.config | 1 - src/Orchard.Azure/Orchard.Azure.sln | 9 ++++++++- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj b/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj index ff4b07e10..1fc26a0e5 100644 --- a/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj +++ b/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj @@ -256,6 +256,10 @@ {D10AD48F-407D-4DB5-A328-173EC7CB010F} Orchard.Roles + + {2AD6973D-C7BB-416E-89FE-EEE34664E05F} + Orchard.Scripting.Dlr + {2AD6973D-C7BB-416E-89FE-EEE34664E05F} Orchard.Scripting diff --git a/src/Orchard.Azure/Orchard.Azure.Web/Web.Debug.config b/src/Orchard.Azure/Orchard.Azure.Web/Web.Debug.config index 3a38cc0c5..a8eacfd77 100644 --- a/src/Orchard.Azure/Orchard.Azure.Web/Web.Debug.config +++ b/src/Orchard.Azure/Orchard.Azure.Web/Web.Debug.config @@ -1,9 +1,5 @@  - \ No newline at end of file diff --git a/src/Orchard.Azure/Orchard.Azure.Web/Web.Release.config b/src/Orchard.Azure/Orchard.Azure.Web/Web.Release.config index 3a38cc0c5..a8eacfd77 100644 --- a/src/Orchard.Azure/Orchard.Azure.Web/Web.Release.config +++ b/src/Orchard.Azure/Orchard.Azure.Web/Web.Release.config @@ -1,9 +1,5 @@  - \ No newline at end of file diff --git a/src/Orchard.Azure/Orchard.Azure.Web/Web.config b/src/Orchard.Azure/Orchard.Azure.Web/Web.config index 5e78c822b..f84174283 100644 --- a/src/Orchard.Azure/Orchard.Azure.Web/Web.config +++ b/src/Orchard.Azure/Orchard.Azure.Web/Web.config @@ -40,7 +40,6 @@ -