protected override DriverResult Editor(AuditTrailTrimmingSettingsPart part, IUpdateModel updater, dynamic shapeHelper) { if (!_authorizer.Authorize(Permissions.ManageAuditTrailSettings)) { return(null); } return(ContentShape("Parts_AuditTrailTrimmingSettings_Edit", () => { var viewModel = new AuditTrailTrimmingSettingsViewModel { RetentionPeriod = part.RetentionPeriod, MinimumRunInterval = part.MinimumRunInterval, LastRunDateString = _dateLocalizationServices.ConvertToLocalizedString(part.LastRunUtc, _dateTimeLocalization.ShortDateTimeFormat, new DateLocalizationOptions() { NullText = T("Never").Text }) }; if (updater != null) { if (updater.TryUpdateModel(viewModel, Prefix, null, null)) { part.RetentionPeriod = viewModel.RetentionPeriod; part.MinimumRunInterval = viewModel.MinimumRunInterval; } } return shapeHelper.EditorTemplate(TemplateName: "Parts.AuditTrailTrimmingSettings", Model: viewModel, Prefix: Prefix); }).OnGroup("Audit Trail")); }
public override async Task <IDisplayResult> UpdateAsync(AuditTrailTrimmingSettings section, BuildEditorContext context) { var user = _httpContextAccessor.HttpContext?.User; if (!await _authorizationService.AuthorizeAsync(user, AuditTrailPermissions.ManageAuditTrailSettings)) { return(null); } if (context.GroupId == AuditTrailSettingsGroup.Id) { var model = new AuditTrailTrimmingSettingsViewModel(); await context.Updater.TryUpdateModelAsync(model, Prefix); section.RetentionDays = model.RetentionDays; section.Disabled = model.Disabled; } return(await EditAsync(section, context)); }
public override async Task <IDisplayResult> UpdateAsync(AuditTrailTrimmingSettings settings, BuildEditorContext context) { if (context.GroupId == AuditTrailSettingsDisplayDriver.AuditTrailSettingsGroupId) { if (!await IsAuthorizedToManageAuditTrailSettingsAsync()) { return(null); } var model = new AuditTrailTrimmingSettingsViewModel(); await context.Updater.TryUpdateModelAsync(model, Prefix); settings.MinimumRunIntervalHours = model.MinimumRunIntervalHours; settings.RetentionPeriodDays = model.RetentionPeriodDays; settings.Disabled = model.Disabled; } return(await EditAsync(settings, context)); }