Browse Source

修正用户组无法准确列出仓库的BUG

v1.4
大石头 9 years ago
parent
commit
846bcb4443
  1. 12
      GitCandy.Web/Data/MembershipService.cs
  2. 4
      GitCandy.Web/Views/Shared/DisplayTemplates/Members.cshtml
  3. 9
      GitCandy.Web/Views/Shared/DisplayTemplates/Members.generated.cs
  4. 2
      GitCandy/Entity/Entity/仓库.Biz.cs
  5. 8
      GitCandy/Entity/Entity/用户仓库.Biz.cs
  6. 5
      GitCandy/Entity/Entity/用户团队.Biz.cs

12
GitCandy.Web/Data/MembershipService.cs

@ -34,7 +34,7 @@ namespace GitCandy.Data
var vu = User.FindByName(viewUser);
rs = rs.Where(e => e.CanViewFor(vu));
}
model.Respositories = rs.Select(e => e.Name).OrderBy(e => e).ToArray();
model.Respositories = rs.Select(e => e.Owner.Name + "@" + e.Name).ToArray();
}
return model;
}
@ -238,7 +238,7 @@ namespace GitCandy.Data
};
if (withMembers)
{
var list = UserTeam.FindAllByTeamID(team.ID).ToList().Where(e => e.User != null);
var list = UserTeam.FindAllByTeamID(team.ID).ToList().Where(e => e.User != null).ToList();
model.MembersRole = list
.Select(s => new TeamModel.UserRole
{
@ -249,11 +249,11 @@ namespace GitCandy.Data
.ToArray();
model.Members = list.ToDictionary(e => e.User.Name, e => e.User.Nickname);
var rs = team.Repositories.Where(e => e.Repository.Enable);
var rs = team.Repositories.Where(e => e.Repository.Enable).ToList();
if (!viewUser.IsNullOrEmpty())
{
var vu = User.FindByName(viewUser);
rs = rs.Where(e => e.Repository.CanViewFor(vu));
rs = rs.Where(e => e.Repository.CanViewFor(vu)).ToList();
}
model.RepositoriesRole = rs.Select(s => new TeamModel.RepositoryRole
{
@ -263,8 +263,8 @@ namespace GitCandy.Data
})
.OrderBy(s => s.Name, new StringLogicalComparer())
.ToArray();
model.Repositories = model.RepositoriesRole
.Select(s => s.Name)
model.Repositories = rs
.Select(s => s.Repository.Owner.Name + "@" + s.Repository.Name)
.ToArray();
}
return model;

4
GitCandy.Web/Views/Shared/DisplayTemplates/Members.cshtml

@ -6,8 +6,8 @@
@for (var i = 0; i < Model.Length; i++)
{
var item = Model[i];
var ss = Model[i].Split("@");
if (i != 0)
{<text> , </text>}
@Html.ActionLink(item, "Detail", controller, new { name = item }, null)
@Html.ActionLink(ss[1], "Tree", controller, new { owner = ss[0], name = ss[1] }, null)
}

9
GitCandy.Web/Views/Shared/DisplayTemplates/Members.generated.cs

@ -27,11 +27,12 @@ namespace ASP
using System.Web.UI;
using System.Web.WebPages;
using GitCandy;
using GitCandy.Web.App_GlobalResources;
using GitCandy.Base;
using GitCandy.Configuration;
using GitCandy.Extensions;
using GitCandy.Models;
using GitCandy.Web;
using GitCandy.Web.App_GlobalResources;
using NewLife;
using NewLife.Cube;
using NewLife.Reflection;
@ -63,7 +64,7 @@ WriteLiteral("\r\n\r\n");
#line 7 "..\..\Views\Shared\DisplayTemplates\Members.cshtml"
for (var i = 0; i < Model.Length; i++)
{
var item = Model[i];
var ss = Model[i].Split("@");
if (i != 0)
{
@ -80,14 +81,14 @@ WriteLiteral(" , ");
#line hidden
#line 12 "..\..\Views\Shared\DisplayTemplates\Members.cshtml"
Write(Html.ActionLink(item, "Detail", controller, new { name = item }, null));
Write(Html.ActionLink(ss[1], "Tree", controller, new { owner = ss[0], name = ss[1] }, null));
#line default
#line hidden
#line 12 "..\..\Views\Shared\DisplayTemplates\Members.cshtml"
}
#line default

2
GitCandy/Entity/Entity/仓库.Biz.cs

@ -172,7 +172,7 @@ namespace NewLife.GitCandy.Entity
// 团队
foreach (var team in user.Teams)
{
if (team.UserID == OwnerID) return true;
if (team.TeamID == OwnerID) return true;
}
return false;

8
GitCandy/Entity/Entity/用户仓库.Biz.cs

@ -4,14 +4,14 @@
* 2016-11-21 15:48:51
* (C) 2002~2016
*/
using System;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Xml.Serialization;
using NewLife.Log;
using NewLife.Web;
using NewLife.Data;
using NewLife.Data;
using XCode;
using XCode.Configuration;
using XCode.Membership;
@ -140,6 +140,10 @@ namespace NewLife.GitCandy.Entity
#endregion
#region 业务
public override String ToString()
{
return "{0},{1}".F(UserName, RepositoryName);
}
#endregion
}
}

5
GitCandy/Entity/Entity/用户团队.Biz.cs

@ -166,6 +166,11 @@ namespace NewLife.GitCandy.Entity
return ut;
}
public override String ToString()
{
return "{0},{1}".F(UserName, TeamName);
}
#endregion
}
}
Loading…
Cancel
Save