make the version name match the actual name for FTP deployment

fix rare issue with summing session scores
copy font to expected wwwroot dir in debug mode so we get pretty icons when developing
upgrade some packages

pretty much reworked the entire server web config to support better validation and stuff.. not really a small fix

finish web configuration changes (I think)

finish up configuration changes and update shared library nuget
This commit is contained in:
RaidMax
2020-01-17 17:31:53 -06:00
parent 3a1cfba251
commit 697a752be0
38 changed files with 531 additions and 200 deletions

View File

@ -1,52 +1,59 @@
@model IList<SharedLibraryCore.Configuration.ServerConfiguration>
@model SharedLibraryCore.Configuration.ServerConfiguration
@{
string labelClass = "mb-2 mt-1";
string editorClass = "form-control bg-dark text-white-50 text-box single-line mb-2 mt-0";
string addText = SharedLibraryCore.Utilities.CurrentLocalization.LocalizationIndex["WEBFRONT_CONFIGURATION_ADD"];
string optionalText = SharedLibraryCore.Utilities.CurrentLocalization.LocalizationIndex["COMMAND_HELP_OPTIONAL"];
int startAt = ViewBag.AddNew ?? false ? Model.Count - 1 : 0;
int i = 0;
}
@for (int i = startAt; i < Model.Count; i++)
{
<div class="h4 text-white mb-0">@Model[i].IPAddress:@Model[i].Port</div>
<div class="server-configuration-header">
<div class="d-flex h4">
<div class="text-white mb-0">@Model.IPAddress:@Model.Port</div>
<!--span class="oi oi-trash link-inverse ml-auto delete-server-button"></!--span>-->
</div>
<div class="border-bottom mb-3">
@Html.LabelFor(model => model[i].IPAddress, null, new { @class = labelClass })
@Html.EditorFor(model => model[i].IPAddress, new { htmlAttributes = new { @class = editorClass } })
<label asp-for="@Model.IPAddress" class="@labelClass"></label>
<input asp-for="@Model.IPAddress" class="@editorClass" />
@Html.LabelFor(model => model[i].Port, null, new { @class = labelClass })
@Html.EditorFor(model => model[i].Port, new { htmlAttributes = new { @class = editorClass } })
<label asp-for="@Model.Port" class="@labelClass"></label>
<input asp-for="@Model.Port" class="@editorClass" />
@Html.LabelFor(model => model[i].Password, null, new { @class = labelClass })
@Html.EditorFor(model => model[i].Password, new { htmlAttributes = new { @class = editorClass } })
<label asp-for="@Model.Password" class="@labelClass"></label>
<input asp-for="@Model.Password" class="@editorClass" />
@Html.LabelFor(model => model[i].ManualLogPath, null, new { @class = labelClass })
@Html.EditorFor(model => model[i].ManualLogPath, new { htmlAttributes = new { @class = editorClass, placeholder = optionalText } })
<label asp-for="@Model.ManualLogPath" class="@labelClass"></label>
<input asp-for="@Model.ManualLogPath" class="@editorClass" placeholder="@optionalText" />
@Html.LabelFor(model => model[i].GameLogServerUrl, null, new { @class = labelClass })
@Html.EditorFor(model => model[i].GameLogServerUrl, new { htmlAttributes = new { @class = editorClass, placeholder = optionalText } })
<label asp-for="@Model.GameLogServerUrl" class="@labelClass"></label>
<input asp-for="@Model.GameLogServerUrl" class="@editorClass" placeholder="@optionalText" />
@Html.LabelFor(model => model[i].RConParserVersion, null, new { @class = labelClass })
@Html.EditorFor(model => model[i].RConParserVersion, new { htmlAttributes = new { @class = editorClass } })
<label asp-for="@Model.RConParserVersion" class="@labelClass"></label>
<input asp-for="@Model.RConParserVersion" class="@editorClass" />
@Html.LabelFor(model => model[i].EventParserVersion, null, new { @class = labelClass })
@Html.EditorFor(model => model[i].EventParserVersion, new { htmlAttributes = new { @class = editorClass } })
<label asp-for="@Model.EventParserVersion" class="@labelClass"></label>
<input asp-for="@Model.EventParserVersion" class="@editorClass" />
@Html.LabelFor(model => model[i].ReservedSlotNumber, null, new { @class = labelClass })
@Html.EditorFor(model => model[i].ReservedSlotNumber, new { htmlAttributes = new { @class = editorClass } })
<label asp-for="@Model.ReservedSlotNumber" class="@labelClass"></label>
<input asp-for="@Model.ReservedSlotNumber" class="@editorClass" />
<div>
@Html.LabelFor(model => model[i].Rules, null, new { @class = "bg-primary pl-3 pr-3 p-2 w-100 mt-3" })
@Html.EditorFor(model => model[i].Rules, new { htmlAttributes = new { @class = editorClass } })
<a asp-controller="Configuration" asp-action="GetNewListItem" asp-route-propertyName="@($"Servers[{i}].Rules")" class="btn btn-primary configuration-add-new mt-2">@addText</a>
<label asp-for="@Model.Rules" class="bg-primary pl-3 pr-3 p-2 w-100 mt-3"></label>
@for(i = 0; i < Model.Rules.Length; i++)
{
<input asp-for="@Model.Rules[i]" class="@editorClass" />
}
<a asp-controller="Configuration" asp-action="GetNewListItem" asp-route-propertyName="Servers.Rules" class="btn btn-primary configuration-add-new mt-2">@addText</a>
</div>
<div class="mb-3">
@Html.LabelFor(model => model[i].AutoMessages, null, new { @class = "bg-primary pl-3 pr-3 p-2 w-100 mt-3" })
@Html.EditorFor(model => model[i].AutoMessages, new { htmlAttributes = new { @class = editorClass } })
<a asp-controller="Configuration" asp-action="GetNewListItem" asp-route-propertyName="@($"Servers[{i}].Automessages")" class="btn btn-primary configuration-add-new mt-2">@addText</a>
<label asp-for="@Model.AutoMessages" class="bg-primary pl-3 pr-3 p-2 w-100 mt-3"></label>
@for(i = 0; i < Model.AutoMessages.Length; i++)
{
<input asp-for="@Model.AutoMessages[i]" class="@editorClass" />
}
<a asp-controller="Configuration" asp-action="GetNewListItem" asp-route-propertyName="Servers.Automessages" class="btn btn-primary configuration-add-new mt-2">@addText</a>
</div>
</div>
}
@*<button asp-controller="Configuration" asp-action="Edit" asp-route-addNewServer="true" class="btn btn-primary">@addServerText</button>*@
</div>