share(function (PhraseaApplication $app) { return (new EditController($app)) ->setDataboxLoggerLocator($app['phraseanet.logger']) ->setDispatcher($app['dispatcher']) ->setSubDefinitionSubstituerLocator(new LazyLocator($app, 'subdef.substituer')) ; }); } public function boot(Application $app) { // no-op } public function connect(Application $app) { $controllers = $this->createAuthenticatedCollection($app); $firewall = $this->getFirewall($app); $controllers->before(function () use ($firewall) { $firewall ->requireNotGuest() ->requireRight(\ACL::CANMODIFRECORD); }); $controllers->post('/', 'controller.prod.edit:submitAction'); $controllers->get('/vocabulary/{vocabulary}/', 'controller.prod.edit:searchVocabularyAction'); /** @uses \Alchemy\Phrasea\Controller\Prod\EditController::applyJSAction */ $controllers ->post('/applyjs/', 'controller.prod.edit:applyJSAction') ->bind('prod_edit_applyJSAction'); $controllers->post('/apply/', 'controller.prod.edit:applyAction'); $controllers->get('/presets/{preset_id}', 'controller.prod.edit:presetsLoadAction'); $controllers->get('/presets', 'controller.prod.edit:presetsListAction'); $controllers->delete('/presets/{preset_id}', 'controller.prod.edit:presetsDeleteAction'); $controllers->post('/presets', 'controller.prod.edit:presetsSaveAction'); return $controllers; } }