Skip to content

Commit 13b3d04

Browse files
authored
Поправить баг с показом списка сюжетов (#3370)
1 parent 77f6956 commit 13b3d04

File tree

3 files changed

+35
-45
lines changed

3 files changed

+35
-45
lines changed

src/JoinRpg.Domain/ProjectEntityExtensions.cs

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public static bool HasMasterAccess(this IProjectEntity entity, ICurrentUserAcces
2424
{
2525
ArgumentNullException.ThrowIfNull(entity);
2626

27-
return entity.Project.ProjectAcls.Where(acl => permission.GetPermssionExpression()(acl)).Any(pa => pa.UserId == currentUserAccessor.UserId);
27+
return currentUserAccessor.UserIdOrDefault is int userId && entity.Project.ProjectAcls.Where(acl => permission.GetPermssionExpression()(acl)).Any(pa => pa.UserId == userId);
2828
}
2929

3030
[Pure]
@@ -38,28 +38,13 @@ public static bool HasMasterAccess(this ProjectInfo entity, ICurrentUserAccessor
3838
}
3939

4040
[Pure]
41-
public static bool HasMasterAccess(this IProjectEntity entity, int? currentUserId, Permission permission)
41+
public static bool HasMasterAccess(this IProjectEntity entity, int? currentUserId, Permission permission = Permission.None)
4242
{
4343
ArgumentNullException.ThrowIfNull(entity);
4444

4545
return entity.Project.ProjectAcls.Where(acl => permission.GetPermssionExpression()(acl)).Any(pa => pa.UserId == currentUserId);
4646
}
4747

48-
public static bool HasMasterAccess(this IProjectEntity entity, int? currentUserId)
49-
{
50-
ArgumentNullException.ThrowIfNull(entity);
51-
52-
return entity.HasMasterAccess(currentUserId, acl => true);
53-
}
54-
55-
public static bool HasMasterAccess(this IProjectEntity entity, ICurrentUserAccessor currentUserAccessor)
56-
{
57-
ArgumentNullException.ThrowIfNull(entity);
58-
ArgumentNullException.ThrowIfNull(currentUserAccessor);
59-
60-
return entity.HasMasterAccess(currentUserAccessor.UserIdOrDefault, acl => true);
61-
}
62-
6348
public static T RequestMasterAccess<T>([NotNull] this T? field, ICurrentUserAccessor currentUserAccessor, Permission permission = Permission.None)
6449
where T : IProjectEntity
6550
{

src/JoinRpg.Portal/Views/Shared/Components/MainMenu/MainMenu.cshtml

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
@using JoinRpg.Helpers
1+
@using JoinRpg.Helpers
22
@model MainMenuViewModel
3-
<nav class="navbar navbar-inverse navbar-fixed-top">
4-
<div class="container">
5-
<div class="navbar-header">
6-
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
7-
<span class="icon-bar"></span>
8-
<span class="icon-bar"></span>
9-
<span class="icon-bar"></span>
10-
</button>
11-
@Html.ActionLink("JoinRpg", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
12-
</div>
13-
<div class="navbar-collapse collapse">
14-
<ul class="nav navbar-nav">
15-
<li class="dropdown">
3+
<nav class="navbar navbar-inverse navbar-fixed-top">
4+
<div class="container">
5+
<div class="navbar-header">
6+
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
7+
<span class="icon-bar"></span>
8+
<span class="icon-bar"></span>
9+
<span class="icon-bar"></span>
10+
</button>
11+
@Html.ActionLink("JoinRpg", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
12+
</div>
13+
<div class="navbar-collapse collapse">
14+
<ul class="nav navbar-nav">
15+
<li class="dropdown">
1616

17-
@if (Model.CurrentProjectId is not null)
18-
{
17+
@if (Model.CurrentProjectId is not null)
18+
{
1919

2020
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">@Model.CurrentProjectName <span class="caret"></span></a>
21-
}
22-
else
23-
{
24-
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Мои проекты и заявки <span class="caret"></span></a>
25-
}
21+
}
22+
else
23+
{
24+
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Мои проекты и заявки <span class="caret"></span></a>
25+
}
2626

27-
<ul class="dropdown-menu">
28-
@foreach (var project in Model.ProjectLinks.OrderBy(p => p.ProjectName))
29-
{
27+
<ul class="dropdown-menu">
28+
@foreach (var project in Model.ProjectLinks.OrderBy(p => p.ProjectName).Take(20))
29+
{
3030
<li>
3131
@if (!project.IAmMaster)
3232
{
@@ -37,8 +37,13 @@
3737
{
3838
@Html.ActionLink(@project.ProjectName, "Details", "Game", new { ProjectId = project.ProjectId.Value, area = "" }, null)
3939
}
40-
</li>
41-
}
40+
</li>
41+
}
42+
43+
@if (Model.ProjectLinks.Length > 20)
44+
{
45+
<li><a asp-action="BrowseGames" asp-controller="Home">...Еще игры</a></li>
46+
}
4247

4348
@if (Model.ProjectLinks.Length > 0)
4449
{

src/JoinRpg.Portal/Views/Shared/Components/ProjectMenu/PlayerMenu.cshtml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Сюжеты <span class="caret"></span></a>
4141

4242
<ul class="dropdown-menu">
43-
<li>@Html.ActionLink("Все", "Index", "Plot", new { Model.ProjectId }, null)</li>
44-
<li>@Html.ActionLink("Одним списком", "FlatList", "Plot", new { Model.ProjectId }, null)</li>
43+
<li>@Html.ActionLink("Все", "Index", "PlotList", new { Model.ProjectId }, null)</li>
44+
<li>@Html.ActionLink("Одним списком", "FlatList", "PlotList", new { Model.ProjectId }, null)</li>
4545
</ul>
4646
</li>
4747
}

0 commit comments

Comments
 (0)