Fix editing uploaded reports.

This commit is contained in:
2019-11-23 18:19:59 +00:00
parent 7e78f57be2
commit 57c3924add
2 changed files with 23 additions and 30 deletions

View File

@@ -60,36 +60,33 @@ namespace DiscImageChef.Server.Areas.Admin.Controllers
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598. // more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost, ValidateAntiForgeryToken] [HttpPost, ValidateAntiForgeryToken]
public async Task<IActionResult> Edit( public async Task<IActionResult> Edit(int id, [Bind("Id,CompactFlash,Manufacturer,Model,Revision,Type")]
int id, [Bind("UploadedWhen,Id,CompactFlash,Manufacturer,Model,Revision,Type")] UploadedReport uploadedReport)
UploadedReport uploadedReport)
{ {
if(id != uploadedReport.Id) if(id != uploadedReport.Id)
{ {
return NotFound(); return NotFound();
} }
if(ModelState.IsValid) if(!ModelState.IsValid)
return View(uploadedReport);
try
{ {
try _context.Update(uploadedReport);
await _context.SaveChangesAsync();
}
catch(DbUpdateConcurrencyException)
{
if(!UploadedReportExists(uploadedReport.Id))
{ {
_context.Update(uploadedReport); return NotFound();
await _context.SaveChangesAsync();
}
catch(DbUpdateConcurrencyException)
{
if(!UploadedReportExists(uploadedReport.Id))
{
return NotFound();
}
throw;
} }
return RedirectToAction(nameof(Index)); throw;
} }
return View(uploadedReport); return RedirectToAction(nameof(Index));
} }
// GET: Admin/Reports/Delete/5 // GET: Admin/Reports/Delete/5

View File

@@ -1,26 +1,17 @@
@using DiscImageChef.CommonTypes.Enums
@model UploadedReport @model UploadedReport
@{ @{
ViewData["Title"] = "Edit"; ViewData["Title"] = "Edit";
} }
<h1>Edit</h1> <h1>Edit</h1>
<h4>UploadedReport</h4> <h4>Uploaded report</h4>
<hr /> <hr />
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
<form asp-action="Edit"> <form asp-action="Edit">
<div asp-validation-summary="ModelOnly" class="text-danger"></div> <div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="UploadedWhen" class="control-label"></label>
<input asp-for="UploadedWhen" class="form-control" />
<span asp-validation-for="UploadedWhen" class="text-danger"></span>
</div>
<input type="hidden" asp-for="Id" /> <input type="hidden" asp-for="Id" />
<div class="form-check form-group">
<label class="form-check-label">
<input class="form-check-input" asp-for="CompactFlash" /> @Html.DisplayNameFor(model => model.CompactFlash)
</label>
</div>
<div class="form-group"> <div class="form-group">
<label asp-for="Manufacturer" class="control-label"></label> <label asp-for="Manufacturer" class="control-label"></label>
<input asp-for="Manufacturer" class="form-control" /> <input asp-for="Manufacturer" class="form-control" />
@@ -36,9 +27,14 @@
<input asp-for="Revision" class="form-control" /> <input asp-for="Revision" class="form-control" />
<span asp-validation-for="Revision" class="text-danger"></span> <span asp-validation-for="Revision" class="text-danger"></span>
</div> </div>
<div class="form-check form-group">
<label class="form-check-label">
<input class="form-check-input" asp-for="CompactFlash" /> @Html.DisplayNameFor(model => model.CompactFlash)
</label>
</div>
<div class="form-group"> <div class="form-group">
<label asp-for="Type" class="control-label"></label> <label asp-for="Type" class="control-label"></label>
<select asp-for="Type" class="form-control"></select> <select asp-for="Type" class="form-control" asp-items="Html.GetEnumSelectList<DeviceType>()"></select>
<span asp-validation-for="Type" class="text-danger"></span> <span asp-validation-for="Type" class="text-danger"></span>
</div> </div>
<div class="form-group"> <div class="form-group">