added database driven system configurations with admin screen (#647)

This commit is contained in:
Kevin Papst
2019-03-22 20:58:38 +01:00
committed by GitHub
parent e990ae4800
commit 13d9f8f3f7
142 changed files with 2262 additions and 64727 deletions

View File

@@ -0,0 +1,53 @@
<?php
/*
* This file is part of the Kimai time-tracking app.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Event;
use App\Form\Model\SystemConfiguration;
use Symfony\Component\EventDispatcher\Event;
/**
* This event should be used, if system configurations should be changed/added dynamically.
*/
class SystemConfigurationEvent extends Event
{
public const CONFIGURE = 'app.system_configuration';
/**
* @var SystemConfiguration[]
*/
protected $preferences;
/**
* @param SystemConfiguration[] $configurations
*/
public function __construct(array $configurations)
{
$this->preferences = $configurations;
}
/**
* @return SystemConfiguration[]
*/
public function getConfigurations()
{
return $this->preferences;
}
/**
* @param SystemConfiguration $configuration
* @return SystemConfigurationEvent
*/
public function addConfiguration(SystemConfiguration $configuration): SystemConfigurationEvent
{
$this->preferences[] = $configuration;
return $this;
}
}