From 0ee57bdf6ece281c2b6eef6d94fd4483e087bc38 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Wed, 28 Jul 2010 13:39:56 -0700 Subject: [PATCH 1/4] Corrected Tags deletion - When a content item is deleted, correctly delete tags if there are no other content items attached to it - When searching for a non existing tag, don't display an error message and a null reference exception anymore --HG-- branch : dev --- .../Orchard.Tags/Controllers/HomeController.cs | 1 - .../Modules/Orchard.Tags/Handlers/TagsPartHandler.cs | 12 ++++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Controllers/HomeController.cs b/src/Orchard.Web/Modules/Orchard.Tags/Controllers/HomeController.cs index 513414002..d1ea5c696 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Controllers/HomeController.cs +++ b/src/Orchard.Web/Modules/Orchard.Tags/Controllers/HomeController.cs @@ -109,7 +109,6 @@ namespace Orchard.Tags.Controllers { } catch (Exception exception) { - _notifier.Error(T("Retrieving tagged items failed: " + exception.Message)); return RedirectToAction("Index"); } } diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Handlers/TagsPartHandler.cs b/src/Orchard.Web/Modules/Orchard.Tags/Handlers/TagsPartHandler.cs index 50ba44eee..206d2763d 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Handlers/TagsPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Tags/Handlers/TagsPartHandler.cs @@ -32,11 +32,19 @@ namespace Orchard.Tags.Handlers { tagsContentItemsRepository.Flush(); TagsPart tagsPart = context.ContentItem.As(); - foreach (var tag in tagsPart.CurrentTags) { - if (!tagsContentItemsRepository.Fetch(x => x.ContentItemId == context.ContentItem.Id).Any()) { + + // delete orphan tags (for each tag, if there is no other contentItem than the one being deleted, it's an orphan) + foreach ( var tag in tagsPart.CurrentTags ) { + if ( tagsContentItemsRepository.Fetch(x => x.ContentItemId != context.ContentItem.Id).Count() == 0 ) { tagsRepository.Delete(tag); } } + + // delete tag links with this contentItem (tagsContentItems) + foreach ( var tagsContentItem in tagsContentItemsRepository.Fetch(x => x.ContentItemId == context.ContentItem.Id) ) { + tagsContentItemsRepository.Delete(tagsContentItem); + } + }); } } From b5b52413356ae14ba1a3842bd5635af3fc7c82af Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Wed, 28 Jul 2010 13:45:10 -0700 Subject: [PATCH 2/4] Fixing the setting of route's slug and path in the RoutePartDriver --HG-- branch : dev --- src/Orchard.Web/Core/Routable/Drivers/RoutePartDriver.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Orchard.Web/Core/Routable/Drivers/RoutePartDriver.cs b/src/Orchard.Web/Core/Routable/Drivers/RoutePartDriver.cs index 3f938a911..0dab4f10d 100644 --- a/src/Orchard.Web/Core/Routable/Drivers/RoutePartDriver.cs +++ b/src/Orchard.Web/Core/Routable/Drivers/RoutePartDriver.cs @@ -75,8 +75,6 @@ namespace Orchard.Core.Routable.Drivers { updater.TryUpdateModel(model, Prefix, null, null); part.Title = model.Title; part.Slug = model.Slug; - - // TEMP: path format patterns replaces this logic part.Path = part.GetPathFromSlug(model.Slug); if (!_routableService.IsSlugValid(part.Slug)) { @@ -89,6 +87,9 @@ namespace Orchard.Core.Routable.Drivers { originalSlug, part.Slug, part.ContentItem.ContentType)); } + // TEMP: path format patterns replaces this logic + part.Path = part.GetPathFromSlug(part.Slug); + if (part.ContentItem.Id != 0 && model.PromoteToHomePage && _routableHomePageProvider != null) { CurrentSite.HomePage = _routableHomePageProvider.GetSettingValue(part.ContentItem.Id); } From 334223f532fb475e5be12d5da6edbb46a5e0deab Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Wed, 28 Jul 2010 13:45:29 -0700 Subject: [PATCH 3/4] Changed Modules Gallery url to /Modules instead of /Atom --HG-- branch : dev --- .../Controllers/{AtomController.cs => ModulesController.cs} | 4 ++-- .../PackageIndexReferenceImplementation.csproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename src/Tools/PackageIndexReferenceImplementation/Controllers/{AtomController.cs => ModulesController.cs} (95%) diff --git a/src/Tools/PackageIndexReferenceImplementation/Controllers/AtomController.cs b/src/Tools/PackageIndexReferenceImplementation/Controllers/ModulesController.cs similarity index 95% rename from src/Tools/PackageIndexReferenceImplementation/Controllers/AtomController.cs rename to src/Tools/PackageIndexReferenceImplementation/Controllers/ModulesController.cs index 150e54a93..6f63855c0 100644 --- a/src/Tools/PackageIndexReferenceImplementation/Controllers/AtomController.cs +++ b/src/Tools/PackageIndexReferenceImplementation/Controllers/ModulesController.cs @@ -15,13 +15,13 @@ using PackageIndexReferenceImplementation.Services; namespace PackageIndexReferenceImplementation.Controllers { [HandleError] - public class AtomController : Controller { + public class ModulesController : Controller { private readonly FeedStorage _feedStorage; private readonly MediaStorage _mediaStorage; public IMembershipService MembershipService { get; set; } - public AtomController() { + public ModulesController() { _feedStorage = new FeedStorage(); _mediaStorage = new MediaStorage(); if ( MembershipService == null ) { MembershipService = new AccountMembershipService(); } diff --git a/src/Tools/PackageIndexReferenceImplementation/PackageIndexReferenceImplementation.csproj b/src/Tools/PackageIndexReferenceImplementation/PackageIndexReferenceImplementation.csproj index ab89c67a8..356ba8dd6 100644 --- a/src/Tools/PackageIndexReferenceImplementation/PackageIndexReferenceImplementation.csproj +++ b/src/Tools/PackageIndexReferenceImplementation/PackageIndexReferenceImplementation.csproj @@ -72,7 +72,7 @@ - + From 63ce9ea1e556aee5dda77ab0e99c4e93c54e4f0b Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Wed, 28 Jul 2010 14:01:29 -0700 Subject: [PATCH 4/4] Add Orchard Module Gallery Feed by default in Gallery module --HG-- branch : dev --- .../DefaultPackagingUpdater.cs | 30 +++++++++++++++++++ .../Orchard.Packaging.csproj | 1 + .../Orchard.Setup/Orchard.Setup.csproj | 4 +++ 3 files changed, 35 insertions(+) create mode 100644 src/Orchard.Web/Modules/Orchard.Packaging/DefaultPackagingUpdater.cs diff --git a/src/Orchard.Web/Modules/Orchard.Packaging/DefaultPackagingUpdater.cs b/src/Orchard.Web/Modules/Orchard.Packaging/DefaultPackagingUpdater.cs new file mode 100644 index 000000000..eb5a9568a --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Packaging/DefaultPackagingUpdater.cs @@ -0,0 +1,30 @@ +using System; +using Orchard.Environment; +using Orchard.Environment.Extensions; +using Orchard.Environment.Extensions.Models; +using Orchard.Packaging.Services; + +namespace Orchard.Packaging { + [OrchardFeature("Gallery")] + public class DefaultPackagingUpdater : IFeatureEventHandler { + private readonly IPackagingSourceManager _packagingSourceManager; + + public DefaultPackagingUpdater(IPackagingSourceManager packagingSourceManager) { + _packagingSourceManager = packagingSourceManager; + } + + public void Install(Feature feature) { + // add http://orchardproject.net/feeds/modules as the default Modules Feed + _packagingSourceManager.AddSource(new PackagingSource { Id = Guid.NewGuid(), FeedTitle = "Orchard Module Gallery", FeedUrl = "http://orchardproject.net/feeds/modules" }); + } + + public void Enable(Feature feature) { + } + + public void Disable(Feature feature) { + } + + public void Uninstall(Feature feature) { + } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Packaging/Orchard.Packaging.csproj b/src/Orchard.Web/Modules/Orchard.Packaging/Orchard.Packaging.csproj index e66330312..3acc9b164 100644 --- a/src/Orchard.Web/Modules/Orchard.Packaging/Orchard.Packaging.csproj +++ b/src/Orchard.Web/Modules/Orchard.Packaging/Orchard.Packaging.csproj @@ -74,6 +74,7 @@ + diff --git a/src/Orchard.Web/Modules/Orchard.Setup/Orchard.Setup.csproj b/src/Orchard.Web/Modules/Orchard.Setup/Orchard.Setup.csproj index 47e1b5f1d..6dfbc4d49 100644 --- a/src/Orchard.Web/Modules/Orchard.Setup/Orchard.Setup.csproj +++ b/src/Orchard.Web/Modules/Orchard.Setup/Orchard.Setup.csproj @@ -98,6 +98,10 @@ {14C049FD-B35B-415A-A824-87F26B26E7FD} Orchard.Comments + + {DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059} + Orchard.Packaging +