Skip to content

Commit c3db2a4

Browse files
committed
Change history UI
1 parent 461ed33 commit c3db2a4

File tree

30 files changed

+294
-107
lines changed

30 files changed

+294
-107
lines changed

src/EasyFrameWork/AuditTrail/Attributes/IgnoreAuditAttribute.cs renamed to src/EasyFrameWork/AuditTrail/Attributes/AuditIgnoreAttribute.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
namespace Easy.AuditTrail.Attributes
88
{
99
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
10-
public class IgnoreAuditAttribute : Attribute
10+
public class AuditIgnoreAttribute : Attribute
1111
{
1212
}
1313
}

src/ZKEACMS/Common/Attributes/AuditRecordStatusAttribute.cs renamed to src/EasyFrameWork/AuditTrail/Attributes/AuditRecordStatusAttribute.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using System.Text;
55
using System.Threading.Tasks;
66

7-
namespace ZKEACMS.Common.Attributes
7+
namespace Easy.AuditTrail.Attributes
88
{
99
[AttributeUsage(AttributeTargets.Property)]
1010
public class AuditRecordStatusAttribute : Attribute

src/EasyFrameWork/AuditTrail/FieldChange.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ namespace Easy.AuditTrail
88
{
99
public class FieldChange
1010
{
11+
public int Sequence { get; set; }
1112
public string Field { get; set; }
13+
public int? ValueType { get; set; }
1214
public string OldValue { get; set; }
1315
public string NewValue { get; set; }
1416
}

src/EasyFrameWork/IApplicationContext.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public interface IApplicationContext
1313
IUser CurrentUser { get; }
1414
IUser CurrentCustomer { get; }
1515
IWebHostEnvironment HostingEnvironment { get; }
16+
IServiceProvider ServiceProvider { get; }
1617
bool IsAuthenticated { get; }
1718
T As<T>() where T : class, IApplicationContext;
1819
T Get<T>(string name);

src/EasyFrameWork/Models/EditorEntity.cs

Lines changed: 11 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,41 +10,26 @@ namespace Easy.Models
1010
{
1111
public class EditorEntity
1212
{
13-
1413
public virtual string Title { get; set; }
15-
/// <summary>
16-
/// 说明
17-
/// </summary>
14+
1815
public virtual string Description { get; set; }
19-
/// <summary>
20-
/// 是否通过
21-
/// </summary>
16+
17+
[AuditRecordStatus]
2218
public virtual int? Status { get; set; }
23-
/// <summary>
24-
/// 创建人ID
25-
/// </summary>
19+
2620
public virtual string CreateBy { get; set; }
27-
/// <summary>
28-
/// 创建人
29-
/// </summary>
21+
3022
public virtual string CreatebyName { get; set; }
31-
/// <summary>
32-
/// 创建日期
33-
/// </summary>
23+
3424
public virtual DateTime? CreateDate { get; set; }
35-
/// <summary>
36-
/// 修改人ID
37-
/// </summary>
25+
3826
public virtual string LastUpdateBy { get; set; }
39-
/// <summary>
40-
/// 最后修改人
41-
/// </summary>
27+
4228
public virtual string LastUpdateByName { get; set; }
43-
/// <summary>
44-
/// 最后更新日期
45-
/// </summary>
29+
4630
public virtual DateTime? LastUpdateDate { get; set; }
47-
[NotMapped, IgnoreAudit]
31+
32+
[NotMapped, AuditIgnore]
4833
public virtual Constant.ActionType? ActionType { get; set; }
4934
}
5035

src/EasyFrameWork/Mvc/ApplicationContext.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public ApplicationContext(IHttpContextAccessor httpContextAccessor)
3030
{
3131
_stateResolvers = new ConcurrentDictionary<string, Func<object>>();
3232
HttpContextAccessor = httpContextAccessor;
33+
ServiceProvider = httpContextAccessor.HttpContext.RequestServices;
3334
}
3435
public IHttpContextAccessor HttpContextAccessor
3536
{
@@ -53,6 +54,7 @@ public IWebHostEnvironment HostingEnvironment
5354
{
5455
get { return Get<IWebHostEnvironment>(nameof(HostingEnvironment)); }
5556
}
57+
public IServiceProvider ServiceProvider { get; }
5658
public bool IsAuthenticated
5759
{
5860
get { return HttpContextAccessor.HttpContext.User.Identity.IsAuthenticated; }

src/Plugins/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</PropertyGroup>
1313

1414
<ItemGroup>
15-
<EmbeddedResource Include="**\*" Exclude="bin\**;obj\**;Views\**;*.csproj;data.db"/>
15+
<EmbeddedResource Include="**\*" Exclude="bin\**;obj\**;Views\**;*.csproj;data.db;*.cs;zkea.plugin;*.md"/>
1616
</ItemGroup>
1717

1818
<ItemGroup>

src/Plugins/ZKEACMS.Article/ArticlePlug.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@ public override void ConfigureServices(IServiceCollection serviceCollection)
189189
serviceCollection.ConfigureMetaData<ArticleTypeWidget, ArticleTypeWidgetMetaData>();
190190
serviceCollection.ConfigureMetaData<ArticleSpecialDetailWidget, ArticleSpecialDetailWidgetMetaData>();
191191
serviceCollection.ConfigureMetaData<ArticleGalleryWidget, ArticleGalleryWidgetMetaData>();
192+
193+
serviceCollection.AddAuditValueProvider<ArticleTypeAuditValueProvider>();
192194
}
193195
}
194196
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
using Easy.AuditTrail;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Linq;
5+
using System.Reflection;
6+
using System.Text;
7+
using System.Threading.Tasks;
8+
using ZKEACMS.Article.Models;
9+
10+
namespace ZKEACMS.Article.Service
11+
{
12+
internal class ArticleTypeAuditValueProvider : IAuditValueProvider
13+
{
14+
private readonly IArticleTypeService _articleTypeService;
15+
16+
public ArticleTypeAuditValueProvider(IArticleTypeService articleTypeService)
17+
{
18+
_articleTypeService = articleTypeService;
19+
}
20+
21+
public bool CanHandle(PropertyInfo property, Type entityType, AuditOperationType operationType)
22+
{
23+
return property.Name == nameof(ArticleEntity.ArticleTypeID) && entityType == typeof(ArticleEntity);
24+
}
25+
26+
public string GetDisplayValue(PropertyInfo property, object rawValue)
27+
{
28+
if (rawValue != null && int.TryParse(rawValue.ToString(), out int articleTypeID))
29+
{
30+
var articleType = _articleTypeService.Get(articleTypeID);
31+
if (articleType != null)
32+
{
33+
return articleType.Title;
34+
}
35+
}
36+
return rawValue?.ToString() ?? string.Empty;
37+
}
38+
}
39+
}

src/Plugins/ZKEACMS.Article/Views/Article/Edit.cshtml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
{
3333
<input type="submit" class="btn btn-info publish" value="@L("Publish")" data-value="@ActionType.Publish" />
3434
}
35+
@Html.ChangeHistoryBtn(Model)
3536
<a class="btn btn-default" href="@Url.Action("Index")">@L("Cancel")</a>
3637
</div>
3738
}

0 commit comments

Comments
 (0)