mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-12-02 19:44:02 +08:00
#17464: Populating module entries recently installed and notification fields only for the current page.
--HG-- branch : 1.x
This commit is contained in:
@@ -67,28 +67,25 @@ namespace Orchard.Modules.Controllers {
|
||||
Pager pager = new Pager(Services.WorkContext.CurrentSite, pagerParameters);
|
||||
|
||||
IEnumerable<ModuleEntry> modules = _extensionManager.AvailableExtensions()
|
||||
.Where(extensionDescriptor => DefaultExtensionTypes.IsModule(extensionDescriptor.ExtensionType) &&
|
||||
(string.IsNullOrEmpty(options.SearchText) || extensionDescriptor.Name.ToLowerInvariant().Contains(options.SearchText.ToLowerInvariant())))
|
||||
.Where(extensionDescriptor => DefaultExtensionTypes.IsModule(extensionDescriptor.ExtensionType) &&
|
||||
(string.IsNullOrEmpty(options.SearchText) || extensionDescriptor.Name.ToLowerInvariant().Contains(options.SearchText.ToLowerInvariant())))
|
||||
.OrderBy(extensionDescriptor => extensionDescriptor.Name)
|
||||
.Select(extensionDescriptor => {
|
||||
ModuleEntry moduleEntry = new ModuleEntry {
|
||||
Descriptor = extensionDescriptor,
|
||||
IsRecentlyInstalled = _moduleService.IsRecentlyInstalled(extensionDescriptor)
|
||||
};
|
||||
|
||||
if (_extensionDisplayEventHandler != null) {
|
||||
foreach (string notification in _extensionDisplayEventHandler.Displaying(moduleEntry.Descriptor)) {
|
||||
moduleEntry.Notifications.Add(notification);
|
||||
}
|
||||
}
|
||||
|
||||
return moduleEntry;
|
||||
});
|
||||
.Select(extensionDescriptor => new ModuleEntry { Descriptor = extensionDescriptor });
|
||||
|
||||
int totalItemCount = modules.Count();
|
||||
|
||||
if (pager.PageSize != 0) {
|
||||
modules = modules.Skip((pager.Page - 1) * pager.PageSize).Take(pager.PageSize);
|
||||
modules = modules.Skip((pager.Page - 1) * pager.PageSize).Take(pager.PageSize).ToList();
|
||||
}
|
||||
|
||||
foreach (ModuleEntry moduleEntry in modules) {
|
||||
moduleEntry.IsRecentlyInstalled = _moduleService.IsRecentlyInstalled(moduleEntry.Descriptor);
|
||||
|
||||
if (_extensionDisplayEventHandler != null) {
|
||||
foreach (string notification in _extensionDisplayEventHandler.Displaying(moduleEntry.Descriptor)) {
|
||||
moduleEntry.Notifications.Add(notification);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return View(new ModulesIndexViewModel {
|
||||
|
||||
Reference in New Issue
Block a user