3defd3f486
* don't run build commands in release
* fix test file
* Set up CI with Azure Pipelines
[skip ci]
* Include fonts and fix automessage hidden command
* more project changes
* migration from bower to libman
* more lib man changes
* project update for sneaky commands
* add missing canvas.js dep
update projects not to have stupid extra dlls
include in previous
* update pipeline file
* update post publish script and pipeline definition
* fix broken yaml
* move encoding conversion to seperate script
* remove extra uneeded rank icons
remove garbage language files being created
remove frontend lib when done
* fix publish script path
* grab localizations through powershell
* fix broken batch 🤷
* actually fixed
* only include runtime compilation in debug mode for webfront
* don't deploy un minified css
use full jquery version
* add step to download the scss for open iconic
change the font path
* update mkdir for iconic path
* don't include old iconic css
* correct font path for real now
* copy script plugins
* lots of changes for deployment
* build the projects
* use projectdir instead of solution dir
* nerf script commands plugin
fix live radar left over command
* actually kill script command post build
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
* fix the font file copy (I think)
* maybe fix delete folder issue
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
82 lines
2.5 KiB
C#
82 lines
2.5 KiB
C#
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using SharedLibraryCore;
|
|
using SharedLibraryCore.Configuration;
|
|
using SharedLibraryCore.Interfaces;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using WebfrontCore.ViewModels;
|
|
|
|
namespace WebfrontCore.Controllers
|
|
{
|
|
[Authorize]
|
|
public class ConfigurationController : BaseController
|
|
{
|
|
public ConfigurationController(IManager manager) : base (manager)
|
|
{
|
|
|
|
}
|
|
|
|
public IActionResult Edit()
|
|
{
|
|
if (Client.Level < SharedLibraryCore.Database.Models.EFClient.Permission.Owner)
|
|
{
|
|
return Unauthorized();
|
|
}
|
|
|
|
return View("Index", Manager.GetApplicationSettings().Configuration());
|
|
}
|
|
|
|
[HttpPost]
|
|
public async Task<IActionResult> Edit(ApplicationConfiguration newConfiguration, bool addNewServer = false, bool shouldSave = false)
|
|
{
|
|
if (Client.Level < SharedLibraryCore.Database.Models.EFClient.Permission.Owner)
|
|
{
|
|
return Unauthorized();
|
|
}
|
|
|
|
if (shouldSave)
|
|
{
|
|
var currentConfiguration = Manager.GetApplicationSettings().Configuration();
|
|
|
|
var newConfigurationProperties = newConfiguration.GetType().GetProperties();
|
|
foreach (var property in currentConfiguration.GetType().GetProperties())
|
|
{
|
|
var newProp = newConfigurationProperties.First(_prop => _prop.Name == property.Name);
|
|
var newPropValue = newProp.GetValue(newConfiguration);
|
|
|
|
if (newPropValue != null && newProp.CanWrite)
|
|
{
|
|
property.SetValue(currentConfiguration, newPropValue);
|
|
}
|
|
}
|
|
|
|
await Manager.GetApplicationSettings().Save();
|
|
}
|
|
|
|
if (addNewServer)
|
|
{
|
|
newConfiguration.Servers.Add(new ServerConfiguration());
|
|
}
|
|
|
|
|
|
return View("Index", newConfiguration);
|
|
}
|
|
|
|
public IActionResult GetNewListItem(string propertyName, int itemCount)
|
|
{
|
|
if (Client.Level != SharedLibraryCore.Database.Models.EFClient.Permission.Owner)
|
|
{
|
|
return Unauthorized();
|
|
}
|
|
|
|
var configInfo = new ConfigurationInfo()
|
|
{
|
|
NewItemCount = itemCount,
|
|
PropertyName = propertyName
|
|
};
|
|
|
|
return PartialView("_ListItem", configInfo);
|
|
}
|
|
}
|
|
} |