예제 #1
0
        public async Task <IActionResult> CustomStyleSheet(CustomStyleSheetSettingsViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var settings = _blogConfig.CustomStyleSheetSettings;

            if (model.EnableCustomCss && string.IsNullOrWhiteSpace(model.CssCode))
            {
                ModelState.AddModelError(nameof(CustomStyleSheetSettingsViewModel.CssCode), "CSS Code is required");
                return(BadRequest(ModelState));
            }

            var uglifyTest = Uglify.Css(model.CssCode);

            if (uglifyTest.HasErrors)
            {
                foreach (var err in uglifyTest.Errors)
                {
                    ModelState.AddModelError(model.CssCode, err.ToString());
                }
                return(BadRequest(ModelState));
            }

            settings.EnableCustomCss = model.EnableCustomCss;
            settings.CssCode         = model.CssCode;

            await _blogConfig.SaveAsync(settings);

            await _blogAudit.AddAuditEntry(EventType.Settings, AuditEventId.SettingsSavedAdvanced, "Custom Style Sheet Settings updated.");

            return(Ok());
        }
예제 #2
0
     public void OnGet()
     {
         var settings = _blogConfig.CustomStyleSheetSettings;
         ViewModel = new()
         {
             EnableCustomCss = settings.EnableCustomCss,
             CssCode = settings.CssCode
         };
     }
 }
예제 #3
0
        public IActionResult CustomStyleSheet()
        {
            var settings = _blogConfig.CustomStyleSheetSettings;
            var vm       = new CustomStyleSheetSettingsViewModel
            {
                EnableCustomCss = settings.EnableCustomCss,
                CssCode         = settings.CssCode
            };

            return(View(vm));
        }