Roughing in Containers module

Container/containable editor templates appear
Container id settable via drop list
ContainerPathConstraint of higher priority providing list view

--HG--
branch : dev
This commit is contained in:
Louis DeJardin
2010-11-08 17:44:43 -08:00
parent ecdb058802
commit 5673576425
13 changed files with 216 additions and 11 deletions

View File

@@ -0,0 +1,34 @@
using System.Linq;
using Orchard.ContentManagement;
using Orchard.Core.Containers.Models;
using Orchard.Core.Routable.Models;
using Orchard.Environment;
using Orchard.Tasks;
namespace Orchard.Core.Containers.Services {
public class ContainersPathConstraintUpdater : IOrchardShellEvents, IBackgroundTask {
private readonly IContainersPathConstraint _containersPathConstraint;
private readonly IContentManager _contentManager;
public ContainersPathConstraintUpdater(IContainersPathConstraint containersPathConstraint, IContentManager contentManager) {
_containersPathConstraint = containersPathConstraint;
_contentManager = contentManager;
}
void IOrchardShellEvents.Activated() {
Refresh();
}
void IOrchardShellEvents.Terminating() {
}
void IBackgroundTask.Sweep() {
Refresh();
}
private void Refresh() {
var routeParts = _contentManager.Query<RoutePart, RoutePartRecord>().Join<ContainerPartRecord>().List();
_containersPathConstraint.SetPaths(routeParts.Select(x=>x.Path));
}
}
}