Skip to content

Commit b62671e

Browse files
authored
Больше ссылочек на группы хороших и разных (#3047)
1 parent 8ce2216 commit b62671e

File tree

3 files changed

+36
-16
lines changed

3 files changed

+36
-16
lines changed

src/JoinRpg.Domain/CharacterFields/FieldWithValue.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public IEnumerable<ProjectFieldVariant> GetPossibleValues(AccessArguments modelA
6666

6767
public IEnumerable<ProjectFieldVariant> GetDropdownValues() => Field.SortedVariants.Where(v => SelectedIds.Contains(v.Id.ProjectFieldVariantId));
6868

69-
public IEnumerable<int> GetSpecialGroupsToApply() => Field.HasSpecialGroup ? GetDropdownValues().Select(c => c.CharacterGroupId).WhereNotNull() : Enumerable.Empty<int>();
69+
public IEnumerable<int> GetSpecialGroupsToApply() => Field.HasSpecialGroup ? GetDropdownValues().Select(c => c.CharacterGroupId).WhereNotNull() : [];
7070

7171
public override string ToString() => $"{Field.Name}={Value}";
7272

src/JoinRpg.Portal/Views/CharacterList/_CharacterList.cshtml

Lines changed: 34 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
@using JoinRpg.Web.Models.Characters
66
@model CharacterListViewModel
77
@{
8-
ViewBag.CountString = Html.DisplayCount_OfX(Model.Items.Count(), "персонаж", "персонажа", "персонажей");
8+
ViewBag.CountString = Html.DisplayCount_OfX(Model.Items.Count(), "персонаж", "персонажа", "персонажей");
99
}
1010

1111
@await Html.PartialAsync("_ListOperationsDropdown", Model)
@@ -32,14 +32,14 @@
3232
<th>@Html.DisplayNameFor(model => firstItem!.Problems)</th>
3333
@foreach (var field in Model.Fields)
3434
{
35-
if (!field.CanHaveValue)
36-
{
35+
if (!field.CanHaveValue)
36+
{
3737
<th>&nbsp;</th>
38-
}
39-
else
40-
{
41-
<th>@field.Name</th>
42-
}
38+
}
39+
else
40+
{
41+
<th>@field.Name</th>
42+
}
4343
}
4444

4545
</tr>
@@ -55,9 +55,9 @@
5555
<td>
5656
@if (item.Player is not null)
5757
{
58-
<text>
59-
@Html.DisplayFor(modelItem => item.Player) (@Html.ActionLink("заявка", "Edit", "Claim", new { Model.ProjectId, ClaimId = item.ApprovedClaimId }, null))
60-
</text>
58+
<text>
59+
@Html.DisplayFor(modelItem => item.Player) (@Html.ActionLink("заявка", "Edit", "Claim", new { Model.ProjectId, ClaimId = item.ApprovedClaimId }, null))
60+
</text>
6161
}
6262
else
6363
{
@@ -79,12 +79,12 @@
7979
{
8080
<td>
8181
@Html.DisplayFor(model => item.Groups)
82-
</td>
82+
</td>
8383
}
8484
<td>
8585
@foreach (var pr in item.Problems)
8686
{
87-
@Html.DisplayFor(model => pr)
87+
@Html.DisplayFor(model => pr)
8888
}
8989
</td>
9090

@@ -96,11 +96,31 @@
9696
}
9797
else
9898
{
99-
var fieldValueViewModel = item.Fields.SingleOrDefault(f => f.Field.Id.ProjectFieldId == field.Id.ProjectFieldId);
99+
var fieldValueViewModel = item.Fields.SingleOrDefault(f => f.Field.Id.ProjectFieldId == field.Id.ProjectFieldId);
100100
<td>
101101
@if (fieldValueViewModel != null)
102102
{
103+
if (fieldValueViewModel.Field.HasValueList)
104+
{
105+
var sep = "";
106+
foreach (var variant in fieldValueViewModel.GetDropdownValues())
107+
{
108+
@sep
109+
if (variant.CharacterGroupId is int characterGroupId)
110+
{
111+
<a asp-controller="CharacterList" asp-action="ByGroup" asp-route-ProjectId="@Model.ProjectId" asp-route-CharacterGroupId="@characterGroupId">@variant.Label</a>
112+
}
113+
else
114+
{
115+
@variant.Label
116+
}
117+
sep = "";
118+
}
119+
}
120+
else
121+
{
103122
@fieldValueViewModel.DisplayString
123+
}
104124
}
105125
</td>
106126
}

src/JoinRpg.Portal/Views/Shared/EditorTemplates/FieldValueViewModel.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@
210210
foreach (var value in Model.ValueList.Where(v => v.SpecialGroupId != null))
211211
{
212212
@sep
213-
Html.ActionLink(value.Label, "Details", "GameGroups", new { Model.ProjectId, CharacterGroupId = value.SpecialGroupId }, null);
213+
<a asp-controller="GameGroups" asp-action="Details" asp-route-ProjectId="@Model.ProjectId" asp-route-CharacterGroupId="@value.SpecialGroupId">@value.Label</a>
214214
sep = "";
215215
}
216216
}

0 commit comments

Comments
 (0)