mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-26 12:03:16 +08:00
Merge pull request #6677 from Skrypt/issue/#6512
Fixing multiple Media Library:clone Fixes #6512
This commit is contained in:
@@ -24,7 +24,7 @@ namespace Orchard.MediaLibrary.Controllers {
|
||||
private readonly IContentDefinitionManager _contentDefinitionManager;
|
||||
|
||||
public AdminController(
|
||||
IOrchardServices services,
|
||||
IOrchardServices services,
|
||||
IMediaLibraryService mediaLibraryService,
|
||||
INavigationManager navigationManager,
|
||||
IContentDefinitionManager contentDefinitionManager) {
|
||||
@@ -111,7 +111,7 @@ namespace Orchard.MediaLibrary.Controllers {
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
|
||||
var mediaParts = _mediaLibraryService.GetMediaContentItems(folderPath, skip, count, order, mediaType, VersionOptions.Latest);
|
||||
var mediaPartsCount = _mediaLibraryService.GetMediaContentItemsCount(folderPath, mediaType, VersionOptions.Latest);
|
||||
|
||||
@@ -149,7 +149,7 @@ namespace Orchard.MediaLibrary.Controllers {
|
||||
};
|
||||
|
||||
Response.ContentType = "text/json";
|
||||
|
||||
|
||||
return View(viewModel);
|
||||
}
|
||||
|
||||
@@ -213,8 +213,7 @@ namespace Orchard.MediaLibrary.Controllers {
|
||||
}
|
||||
|
||||
return Json(true);
|
||||
}
|
||||
catch(Exception e) {
|
||||
} catch (Exception e) {
|
||||
Logger.Error(e, "Could not delete media items.");
|
||||
return Json(false);
|
||||
}
|
||||
@@ -228,12 +227,12 @@ namespace Orchard.MediaLibrary.Controllers {
|
||||
try {
|
||||
var media = Services.ContentManager.Get(mediaItemId).As<MediaPart>();
|
||||
|
||||
if(!_mediaLibraryService.CanManageMediaFolder(media.FolderPath)) {
|
||||
if (!_mediaLibraryService.CanManageMediaFolder(media.FolderPath)) {
|
||||
return new HttpUnauthorizedResult();
|
||||
}
|
||||
|
||||
var newFileName = Path.GetFileNameWithoutExtension(media.FileName) + " Copy" + Path.GetExtension(media.FileName);
|
||||
|
||||
var newFileName = _mediaLibraryService.GetUniqueFilename(media.FolderPath, media.FileName);
|
||||
|
||||
_mediaLibraryService.CopyFile(media.FolderPath, media.FileName, media.FolderPath, newFileName);
|
||||
|
||||
var clonedContentItem = Services.ContentManager.Clone(media.ContentItem);
|
||||
@@ -241,13 +240,14 @@ namespace Orchard.MediaLibrary.Controllers {
|
||||
var clonedTitlePart = clonedContentItem.As<TitlePart>();
|
||||
|
||||
clonedMediaPart.FileName = newFileName;
|
||||
clonedMediaPart.FolderPath = media.FolderPath;
|
||||
clonedMediaPart.MimeType = media.MimeType;
|
||||
clonedTitlePart.Title = clonedTitlePart.Title + " Copy";
|
||||
|
||||
Services.ContentManager.Create(clonedContentItem);
|
||||
Services.ContentManager.Publish(clonedContentItem);
|
||||
|
||||
return Json(true);
|
||||
}
|
||||
catch (Exception e) {
|
||||
} catch (Exception e) {
|
||||
Logger.Error(e, "Could not clone media item.");
|
||||
return Json(false);
|
||||
}
|
||||
@@ -255,7 +255,7 @@ namespace Orchard.MediaLibrary.Controllers {
|
||||
|
||||
private FolderHierarchy GetFolderHierarchy(IMediaFolder root) {
|
||||
Argument.ThrowIfNull(root, "root");
|
||||
return new FolderHierarchy(root) {Children = _mediaLibraryService.GetMediaFolders(root.MediaPath).Select(GetFolderHierarchy)};
|
||||
return new FolderHierarchy(root) { Children = _mediaLibraryService.GetMediaFolders(root.MediaPath).Select(GetFolderHierarchy) };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user