From 8aae36cf6052ecc3816a4ffce70067698fedd91d Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Fri, 5 Jul 2013 12:45:54 -0700 Subject: [PATCH] #19866: oEmbed media could not be moved --HG-- branch : 1.x --- .../Controllers/FolderController.cs | 11 ++++++++--- .../Controllers/OEmbedController.cs | 4 +++- .../Modules/Orchard.MediaLibrary/Models/OEmbedPart.cs | 4 ++++ .../Views/Parts/OEmbed.Summary.cshtml | 8 +++----- .../Views/Parts/OEmbed.SummaryAdmin.cshtml | 6 ++---- 5 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/FolderController.cs b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/FolderController.cs index e4ed6744c..63697e4d7 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/FolderController.cs +++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/FolderController.cs @@ -134,10 +134,15 @@ namespace Orchard.MediaLibrary.Controllers { return new HttpUnauthorizedResult(); foreach (var media in Services.ContentManager.Query().ForPart().ForContentItems(mediaItemIds).List()) { - var uniqueFilename = _mediaLibraryService.GetUniqueFilename(folderPath, media.FileName); - _mediaLibraryService.MoveFile(media.FolderPath, media.FileName, folderPath, uniqueFilename); + + // don't try to rename the file if there is no associated media file + if (!String.IsNullOrEmpty(media.FileName)) { + var uniqueFilename = _mediaLibraryService.GetUniqueFilename(folderPath, media.FileName); + _mediaLibraryService.MoveFile(media.FolderPath, media.FileName, folderPath, uniqueFilename); + media.FileName = uniqueFilename; + } + media.FolderPath = folderPath; - media.FileName = uniqueFilename; } return Json(true); diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/OEmbedController.cs b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/OEmbedController.cs index 977a5063a..397891db5 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/OEmbedController.cs +++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/OEmbedController.cs @@ -80,7 +80,7 @@ namespace Orchard.MediaLibrary.Controllers { var part = Services.ContentManager.New("OEmbed"); - part.FileName = url; + part.MimeType = "text/html"; part.FolderPath = folderPath; part.Title = oembed.Element("title").Value; @@ -89,6 +89,8 @@ namespace Orchard.MediaLibrary.Controllers { } var oembedPart = part.As(); + oembedPart.Source = url; + foreach (var element in oembed.Elements()) { oembedPart[element.Name.LocalName] = element.Value; } diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Models/OEmbedPart.cs b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Models/OEmbedPart.cs index 17ac26e75..9fed89ee5 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Models/OEmbedPart.cs +++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Models/OEmbedPart.cs @@ -9,5 +9,9 @@ namespace Orchard.MediaLibrary.Models { set { this.As().Set("OEmbedPart", index, null, value); } } + public string Source { + get { return this.As().Get("OEmbedPart", "Source"); } + set { this.As().Set("OEmbedPart", "Source", value); } + } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Parts/OEmbed.Summary.cshtml b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Parts/OEmbed.Summary.cshtml index b7861cd35..1bf14e540 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Parts/OEmbed.Summary.cshtml +++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Parts/OEmbed.Summary.cshtml @@ -1,10 +1,8 @@ -@using Orchard.ContentManagement -@using Orchard.MediaLibrary.Models +@using Orchard.MediaLibrary.Models @{ - OEmbedPart oembedPart = Model.ContentPart; - var mediaPart = ((ContentItem)Model.ContentItem).As(); + OEmbedPart oEmbedPart = Model.ContentPart; } - + @T("Preview") \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Parts/OEmbed.SummaryAdmin.cshtml b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Parts/OEmbed.SummaryAdmin.cshtml index 2bc33d7d5..19650fbf4 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Parts/OEmbed.SummaryAdmin.cshtml +++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Parts/OEmbed.SummaryAdmin.cshtml @@ -1,10 +1,8 @@ -@using Orchard.ContentManagement -@using Orchard.MediaLibrary.Models +@using Orchard.MediaLibrary.Models @{ OEmbedPart oEmbedPart = Model.ContentPart; - var mediaPart = ((ContentItem)Model.ContentItem).As(); } - + @T("Preview")