Skip to content

Commit e51b402

Browse files
Fixed validation issues.
1 parent 630eaa0 commit e51b402

File tree

2 files changed

+25
-22
lines changed

2 files changed

+25
-22
lines changed

DigitalLearningSolutions.Web/Controllers/SuperAdmin/Centres/CentresController.cs

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -360,31 +360,39 @@ public IActionResult CentreRoleLimits(int centreId = 0)
360360
[Route("SuperAdmin/Centres/{centreId=0:int}/CentreRoleLimits")]
361361
public IActionResult EditCentreRoleLimits(CentreRoleLimitsViewModel model)
362362
{
363-
if (!ModelState.IsValid)
363+
if (model.IsRoleLimitSetCmsAdministrators && model.RoleLimitCmsAdministrators == null)
364364
{
365-
return View("CentreRoleLimits", model);
365+
ModelState["RoleLimitCmsAdministrators.RoleLimitCmsAdministrators"]?.Errors.Clear();
366366
}
367+
model.RoleLimitCmsAdministrators ??= -1;
367368

368-
if (!(model.IsRoleLimitSetCmsAdministrators))
369+
if (model.IsRoleLimitSetCmsManagers && model.RoleLimitCmsManagers == null)
369370
{
370-
model.RoleLimitCmsAdministrators = -1;
371+
ModelState["RoleLimitCmsManagers.RoleLimitCmsManagers"]?.Errors.Clear();
371372
}
373+
model.RoleLimitCmsManagers ??= -1;
372374

373-
if (!(model.IsRoleLimitSetCmsManagers))
375+
if (model.IsRoleLimitSetContentCreatorLicences && model.RoleLimitContentCreatorLicences == null)
374376
{
375-
model.RoleLimitCmsManagers = -1;
377+
ModelState["RoleLimitContentCreatorLicences.RoleLimitContentCreatorLicences"]?.Errors.Clear();
376378
}
377-
if (!(model.IsRoleLimitSetContentCreatorLicences))
379+
model.RoleLimitContentCreatorLicences ??= -1;
380+
381+
if (model.IsRoleLimitSetCustomCourses && model.RoleLimitCustomCourses == null)
378382
{
379-
model.RoleLimitContentCreatorLicences = -1;
383+
ModelState["RoleLimitCustomCourses.RoleLimitCustomCourses"]?.Errors.Clear();
380384
}
381-
if (!(model.IsRoleLimitSetCustomCourses))
385+
model.RoleLimitCustomCourses ??= -1;
386+
387+
if (model.IsRoleLimitSetTrainers && model.RoleLimitTrainers == null)
382388
{
383-
model.RoleLimitCustomCourses = -1;
389+
ModelState["RoleLimitTrainers.RoleLimitTrainers"]?.Errors.Clear();
384390
}
385-
if (!(model.IsRoleLimitSetTrainers))
391+
model.RoleLimitTrainers ??= -1;
392+
393+
if (!ModelState.IsValid)
386394
{
387-
model.RoleLimitTrainers = -1;
395+
return View("CentreRoleLimits", model);
388396
}
389397

390398
centresDataService.UpdateCentreRoleLimits(

DigitalLearningSolutions.Web/ViewModels/SuperAdmin/Centres/CentreRoleLimitsViewModel.cs

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,19 @@ public class CentreRoleLimitsViewModel
1111
public bool IsRoleLimitSetCustomCourses { get; set; }
1212
public bool IsRoleLimitSetTrainers { get; set; }
1313

14-
[Required(ErrorMessage = "Please enter a number for the CMS Administrators role limit.")]
1514
[Range(-1, int.MaxValue, ErrorMessage = "The role limit must be a non-negative whole number.")]
16-
public int RoleLimitCmsAdministrators { get; set; }
15+
public int? RoleLimitCmsAdministrators { get; set; }
1716

18-
[Required(ErrorMessage = "Please enter a number for the CMS Managers role limit.")]
1917
[Range(-1, int.MaxValue, ErrorMessage = "The role limit must be a non-negative whole number.")]
20-
public int RoleLimitCmsManagers { get; set; }
18+
public int? RoleLimitCmsManagers { get; set; }
2119

22-
[Required(ErrorMessage = "Please enter a number for the Content Creator Licences role limit.")]
2320
[Range(-1, int.MaxValue, ErrorMessage = "The role limit must be a non-negative whole number.")]
24-
public int RoleLimitContentCreatorLicences { get; set; }
21+
public int? RoleLimitContentCreatorLicences { get; set; }
2522

26-
[Required(ErrorMessage = "Please enter a number for the Custom Courses role limit.")]
2723
[Range(-1, int.MaxValue, ErrorMessage = "The role limit must be a non-negative whole number.")]
28-
public int RoleLimitCustomCourses { get; set; }
24+
public int? RoleLimitCustomCourses { get; set; }
2925

30-
[Required(ErrorMessage = "Please enter a number for the Trainers role limit.")]
3126
[Range(-1, int.MaxValue, ErrorMessage = "The role limit must be a non-negative whole number.")]
32-
public int RoleLimitTrainers { get; set; }
27+
public int? RoleLimitTrainers { get; set; }
3328
}
3429
}

0 commit comments

Comments
 (0)