mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
154: Added category filter.
This commit is contained in:
@@ -133,6 +133,7 @@
|
||||
<Content Include="Views\AuditTrailFilter-ContentType.cshtml" />
|
||||
<Content Include="Views\AuditTrailFilter-Common-Date.cshtml" />
|
||||
<Content Include="Views\AuditTrailFilter-ContentItem.cshtml" />
|
||||
<Content Include="Views\AuditTrailFilter-Common-Category.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Orchard\Orchard.Framework.csproj">
|
||||
|
||||
@@ -16,17 +16,19 @@ namespace Orchard.AuditTrail.Services {
|
||||
}
|
||||
|
||||
public override void Filter(QueryFilterContext context) {
|
||||
// Common filters (username, from and to).
|
||||
// Common filters (username, from and to, category).
|
||||
var userName = context.Filters.Get("username");
|
||||
var fromDate = context.Filters.Get("from.Date");
|
||||
var fromTime = context.Filters.Get("from.Time");
|
||||
var toDate = context.Filters.Get("to.Date");
|
||||
var toTime = context.Filters.Get("to.Time");
|
||||
var category = context.Filters.Get("category");
|
||||
var from = _dateServices.ConvertFromLocalString(fromDate, fromTime).Earliest();
|
||||
var to = _dateServices.ConvertFromLocalString(toDate, toTime).Latest();
|
||||
var query = context.Query;
|
||||
|
||||
if (!String.IsNullOrWhiteSpace(userName)) query = query.Where(x => x.UserName == userName);
|
||||
if (!String.IsNullOrWhiteSpace(category)) query = query.Where(x => x.Category == category);
|
||||
if (from != null) query = query.Where(x => x.CreatedUtc >= from);
|
||||
if (to != null) query = query.Where(x => x.CreatedUtc <= to);
|
||||
|
||||
@@ -34,16 +36,21 @@ namespace Orchard.AuditTrail.Services {
|
||||
}
|
||||
|
||||
public override void DisplayFilter(DisplayFilterContext context) {
|
||||
// Common filters (username, from and to).
|
||||
// Common filters (username, from and to, category).
|
||||
var userName = context.Filters.Get("username");
|
||||
var fromDate = context.Filters.Get("from.Date");
|
||||
var toDate = context.Filters.Get("to.Date");
|
||||
var category = context.Filters.Get("category");
|
||||
var userNameFilterDisplay = context.ShapeFactory.AuditTrailFilter__Common__User(UserName: userName);
|
||||
var dateFilterDisplay = context.ShapeFactory.AuditTrailFilter__Common__Date(
|
||||
From: new DateTimeEditor {Date = fromDate, ShowDate = true},
|
||||
To: new DateTimeEditor {Date = toDate, ShowDate = true});
|
||||
var categoryFilterDisplay = context.ShapeFactory.AuditTrailFilter__Common__Category(
|
||||
Categories: _auditTrailManager.Value.DescribeCategories().ToArray(),
|
||||
Category: category);
|
||||
|
||||
context.FilterLayout.TripleFirst.Add(dateFilterDisplay);
|
||||
context.FilterLayout.TripleFirst.Add(categoryFilterDisplay);
|
||||
context.FilterLayout.TripleSecond.Add(userNameFilterDisplay);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
@using Orchard.AuditTrail.Services.Models
|
||||
@{
|
||||
var categories = (IList<AuditTrailCategoryDescriptor>)Model.Categories;
|
||||
var currentCategory = (string)Model.Category;
|
||||
var listItems = categories.Select(x => new SelectListItem { Text = x.Name.Text, Value = x.Category, Selected = x.Category == currentCategory });
|
||||
}
|
||||
<fieldset>
|
||||
@Html.Label("category", T("Category:").Text)
|
||||
@Html.DropDownList("category", listItems, "")
|
||||
</fieldset>
|
||||
Reference in New Issue
Block a user