mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-23 09:53:15 +00:00
Move setting to registry and form type
This commit is contained in:
@@ -6,7 +6,6 @@ main:
|
||||
maintenance: false
|
||||
languages: []
|
||||
key: ''
|
||||
api_disable: true
|
||||
api_require_ssl: true
|
||||
database:
|
||||
host: 127.0.0.1
|
||||
|
@@ -11,6 +11,8 @@
|
||||
namespace Alchemy\Phrasea\Controller\Admin;
|
||||
|
||||
use Alchemy\Phrasea\Controller\Controller;
|
||||
use Alchemy\Phrasea\Core\Configuration\Configuration;
|
||||
use Alchemy\Phrasea\Core\Configuration\PropertyAccess;
|
||||
use Alchemy\Phrasea\Core\Configuration\RegistryManipulator;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
@@ -20,12 +22,15 @@ class SetupController extends Controller
|
||||
{
|
||||
/** @var RegistryManipulator $manipulator */
|
||||
$manipulator = $this->app['registry.manipulator'];
|
||||
/** @var PropertyAccess $config */
|
||||
$config = $this->app['conf'];
|
||||
|
||||
$form = $manipulator->createForm($this->app['conf']);
|
||||
|
||||
if ('POST' === $request->getMethod()) {
|
||||
$form->submit($request->request->all());
|
||||
if ($form->isValid()) {
|
||||
$this->app['conf']->set('registry', $manipulator->getRegistryData($form));
|
||||
$config->set('registry', $manipulator->getRegistryData($form));
|
||||
|
||||
return $this->app->redirectPath('setup_display_globals');
|
||||
}
|
||||
|
18
lib/Alchemy/Phrasea/ControllerProvider/Api/Api.php
Normal file
18
lib/Alchemy/Phrasea/ControllerProvider/Api/Api.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Alchemy\Phrasea\ControllerProvider\Api;
|
||||
|
||||
use Alchemy\Phrasea\Core\Configuration\PropertyAccess;
|
||||
use Silex\Application;
|
||||
|
||||
abstract class Api
|
||||
{
|
||||
|
||||
protected function isApiEnabled(Application $application)
|
||||
{
|
||||
/** @var PropertyAccess $config */
|
||||
$config = $application['conf'];
|
||||
|
||||
return $config->get([ 'registry', 'api-clients', 'api-enabled' ], true) == true;
|
||||
}
|
||||
}
|
@@ -19,7 +19,7 @@ use Silex\ControllerCollection;
|
||||
use Silex\ControllerProviderInterface;
|
||||
use Silex\ServiceProviderInterface;
|
||||
|
||||
class OAuth2 implements ControllerProviderInterface, ServiceProviderInterface
|
||||
class OAuth2 extends Api implements ControllerProviderInterface, ServiceProviderInterface
|
||||
{
|
||||
public function register(Application $app)
|
||||
{
|
||||
@@ -35,10 +35,7 @@ class OAuth2 implements ControllerProviderInterface, ServiceProviderInterface
|
||||
|
||||
public function connect(Application $app)
|
||||
{
|
||||
/** @var PropertyAccess $config */
|
||||
$config = $app['conf'];
|
||||
|
||||
if ($config->get([ 'main', 'api_disable' ], false) == true) {
|
||||
if (! $this->isApiEnabled($app)) {
|
||||
return $app['controllers_factory'];
|
||||
}
|
||||
|
||||
|
@@ -21,7 +21,7 @@ use Silex\ControllerCollection;
|
||||
use Silex\ControllerProviderInterface;
|
||||
use Silex\ServiceProviderInterface;
|
||||
|
||||
class V1 implements ControllerProviderInterface, ServiceProviderInterface
|
||||
class V1 extends Api implements ControllerProviderInterface, ServiceProviderInterface
|
||||
{
|
||||
const VERSION = '1.5.0';
|
||||
|
||||
@@ -47,10 +47,7 @@ class V1 implements ControllerProviderInterface, ServiceProviderInterface
|
||||
|
||||
public function connect(Application $app)
|
||||
{
|
||||
/** @var PropertyAccess $config */
|
||||
$config = $app['conf'];
|
||||
|
||||
if ($config->get([ 'main', 'api_disable' ], false) == true) {
|
||||
if (! $this->isApiEnabled($app)) {
|
||||
return $app['controllers_factory'];
|
||||
}
|
||||
|
||||
|
@@ -23,7 +23,7 @@ use Silex\Controller;
|
||||
use Silex\ControllerProviderInterface;
|
||||
use Silex\ServiceProviderInterface;
|
||||
|
||||
class V2 implements ControllerProviderInterface, ServiceProviderInterface
|
||||
class V2 extends Api implements ControllerProviderInterface, ServiceProviderInterface
|
||||
{
|
||||
use ControllerProviderTrait;
|
||||
|
||||
@@ -71,10 +71,7 @@ class V2 implements ControllerProviderInterface, ServiceProviderInterface
|
||||
|
||||
public function connect(Application $app)
|
||||
{
|
||||
/** @var PropertyAccess $config */
|
||||
$config = $app['conf'];
|
||||
|
||||
if ($config->get([ 'main', 'api_disable' ], false) == true) {
|
||||
if (! $this->isApiEnabled($app)) {
|
||||
return $app['controllers_factory'];
|
||||
}
|
||||
|
||||
|
@@ -19,10 +19,26 @@ use Symfony\Component\Translation\TranslatorInterface;
|
||||
|
||||
class RegistryManipulator
|
||||
{
|
||||
/**
|
||||
* @var FormFactoryInterface
|
||||
*/
|
||||
private $factory;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $languages;
|
||||
|
||||
/**
|
||||
* @var TranslatorInterface
|
||||
*/
|
||||
private $translator;
|
||||
|
||||
/**
|
||||
* @param FormFactoryInterface $factory
|
||||
* @param TranslatorInterface $translator
|
||||
* @param array $languages
|
||||
*/
|
||||
public function __construct(FormFactoryInterface $factory, TranslatorInterface $translator, array $languages)
|
||||
{
|
||||
$this->factory = $factory;
|
||||
@@ -128,6 +144,7 @@ class RegistryManipulator
|
||||
'enabled' => false,
|
||||
],
|
||||
'api-clients' => [
|
||||
'api-enabled' => true,
|
||||
'navigator-enabled' => true,
|
||||
'office-enabled' => true,
|
||||
],
|
||||
|
@@ -18,6 +18,11 @@ class APIClientsFormType extends AbstractType
|
||||
{
|
||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||
{
|
||||
$builder->add('api-enabled', 'checkbox', [
|
||||
'label' => 'Enable Phraseanet Web API',
|
||||
'help_message' => 'The Phraseanet Web API allows other web application to rely on this instance'
|
||||
]);
|
||||
|
||||
$builder->add('navigator-enabled', 'checkbox', [
|
||||
'label' => 'Authorize *Phraseanet Navigator*',
|
||||
'help_message' => '*Phraseanet Navigator* is a smartphone application that allow user to connect on this instance',
|
||||
|
@@ -6,7 +6,6 @@ main:
|
||||
maintenance: false
|
||||
key: ''
|
||||
api_require_ssl: true
|
||||
api_disable: true
|
||||
database:
|
||||
host: 'sql-host'
|
||||
port: 3306
|
||||
|
@@ -48,7 +48,7 @@
|
||||
chdir: /vagrant/
|
||||
|
||||
- name: Enable API routes
|
||||
shell: bin/setup system:config set main.api_disable false
|
||||
shell: bin/setup system:config set registry.api-clients.api-enable true
|
||||
args:
|
||||
chdir: /vagrant/
|
||||
|
||||
|
@@ -1,10 +0,0 @@
|
||||
# Autodetect text files
|
||||
* text=auto
|
||||
|
||||
# Force the following filetypes to have unix eols, so Windows does not break them
|
||||
*.pp text eol=lf
|
||||
*.sh text eol=lf
|
||||
*.yaml text eol=lf
|
||||
Puppetfile text eol=lf
|
||||
.bash_aliases text eol=lf
|
||||
.vimrc text eol=lf
|
Reference in New Issue
Block a user