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"));
        }
Beispiel #2
0
        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));
        }