mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-18 07:23:13 +00:00
Merge branch 'master' into PHRAS-3584_story-cover-link
This commit is contained in:
@@ -13,5 +13,5 @@ module.exports = {
|
|||||||
setupDir: _root + 'tests/setup/node.js',
|
setupDir: _root + 'tests/setup/node.js',
|
||||||
karmaConf: _root + 'config/karma.conf.js',
|
karmaConf: _root + 'config/karma.conf.js',
|
||||||
// change this version when you change JS file for lazy loading
|
// change this version when you change JS file for lazy loading
|
||||||
assetFileVersion: 30
|
assetFileVersion: 31
|
||||||
};
|
};
|
||||||
|
13
Phraseanet-production-client/dist/account.js
vendored
13
Phraseanet-production-client/dist/account.js
vendored
@@ -4210,6 +4210,19 @@ var account = function account(services) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$container.on('click', '.update-listened-event', function () {
|
||||||
|
var $this = (0, _jquery2.default)(this);
|
||||||
|
_jquery2.default.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: $this.attr('data-path'),
|
||||||
|
dataType: 'json',
|
||||||
|
data: {
|
||||||
|
action: $this.is(':checked') ? 'add' : 'remove'
|
||||||
|
},
|
||||||
|
success: function success(data) {}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// delete an application
|
// delete an application
|
||||||
/* $('a.delete-app').bind('click', function (e) {
|
/* $('a.delete-app').bind('click', function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
13
Phraseanet-production-client/dist/account.min.js
vendored
13
Phraseanet-production-client/dist/account.min.js
vendored
@@ -4210,6 +4210,19 @@ var account = function account(services) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$container.on('click', '.update-listened-event', function () {
|
||||||
|
var $this = (0, _jquery2.default)(this);
|
||||||
|
_jquery2.default.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: $this.attr('data-path'),
|
||||||
|
dataType: 'json',
|
||||||
|
data: {
|
||||||
|
action: $this.is(':checked') ? 'add' : 'remove'
|
||||||
|
},
|
||||||
|
success: function success(data) {}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// delete an application
|
// delete an application
|
||||||
/* $('a.delete-app').bind('click', function (e) {
|
/* $('a.delete-app').bind('click', function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
@@ -96,7 +96,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|||||||
/******/ if (__webpack_require__.nc) {
|
/******/ if (__webpack_require__.nc) {
|
||||||
/******/ script.setAttribute("nonce", __webpack_require__.nc);
|
/******/ script.setAttribute("nonce", __webpack_require__.nc);
|
||||||
/******/ }
|
/******/ }
|
||||||
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".js?v=30";
|
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".js?v=31";
|
||||||
/******/ var timeout = setTimeout(onScriptComplete, 120000);
|
/******/ var timeout = setTimeout(onScriptComplete, 120000);
|
||||||
/******/ script.onerror = script.onload = onScriptComplete;
|
/******/ script.onerror = script.onload = onScriptComplete;
|
||||||
/******/ function onScriptComplete() {
|
/******/ function onScriptComplete() {
|
||||||
|
@@ -96,7 +96,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|||||||
/******/ if (__webpack_require__.nc) {
|
/******/ if (__webpack_require__.nc) {
|
||||||
/******/ script.setAttribute("nonce", __webpack_require__.nc);
|
/******/ script.setAttribute("nonce", __webpack_require__.nc);
|
||||||
/******/ }
|
/******/ }
|
||||||
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".min.js?v=30";
|
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".min.js?v=31";
|
||||||
/******/ var timeout = setTimeout(onScriptComplete, 120000);
|
/******/ var timeout = setTimeout(onScriptComplete, 120000);
|
||||||
/******/ script.onerror = script.onload = onScriptComplete;
|
/******/ script.onerror = script.onload = onScriptComplete;
|
||||||
/******/ function onScriptComplete() {
|
/******/ function onScriptComplete() {
|
||||||
|
2
Phraseanet-production-client/dist/commons.js
vendored
2
Phraseanet-production-client/dist/commons.js
vendored
@@ -91,7 +91,7 @@
|
|||||||
/******/ if (__webpack_require__.nc) {
|
/******/ if (__webpack_require__.nc) {
|
||||||
/******/ script.setAttribute("nonce", __webpack_require__.nc);
|
/******/ script.setAttribute("nonce", __webpack_require__.nc);
|
||||||
/******/ }
|
/******/ }
|
||||||
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".js?v=30";
|
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".js?v=31";
|
||||||
/******/ var timeout = setTimeout(onScriptComplete, 120000);
|
/******/ var timeout = setTimeout(onScriptComplete, 120000);
|
||||||
/******/ script.onerror = script.onload = onScriptComplete;
|
/******/ script.onerror = script.onload = onScriptComplete;
|
||||||
/******/ function onScriptComplete() {
|
/******/ function onScriptComplete() {
|
||||||
|
@@ -91,7 +91,7 @@
|
|||||||
/******/ if (__webpack_require__.nc) {
|
/******/ if (__webpack_require__.nc) {
|
||||||
/******/ script.setAttribute("nonce", __webpack_require__.nc);
|
/******/ script.setAttribute("nonce", __webpack_require__.nc);
|
||||||
/******/ }
|
/******/ }
|
||||||
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".min.js?v=30";
|
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".min.js?v=31";
|
||||||
/******/ var timeout = setTimeout(onScriptComplete, 120000);
|
/******/ var timeout = setTimeout(onScriptComplete, 120000);
|
||||||
/******/ script.onerror = script.onload = onScriptComplete;
|
/******/ script.onerror = script.onload = onScriptComplete;
|
||||||
/******/ function onScriptComplete() {
|
/******/ function onScriptComplete() {
|
||||||
|
@@ -168,6 +168,20 @@ const account = (services) => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$container.on('click', '.update-listened-event', function () {
|
||||||
|
let $this = $(this);
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: $this.attr('data-path'),
|
||||||
|
dataType: 'json',
|
||||||
|
data: {
|
||||||
|
action: $this.is(':checked') ? 'add' : 'remove'
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// delete an application
|
// delete an application
|
||||||
/* $('a.delete-app').bind('click', function (e) {
|
/* $('a.delete-app').bind('click', function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
@@ -748,7 +748,9 @@ class Application extends SilexApplication
|
|||||||
$dispatcher->addSubscriber(new BasketSubscriber($app));
|
$dispatcher->addSubscriber(new BasketSubscriber($app));
|
||||||
$dispatcher->addSubscriber(new LazaretSubscriber($app));
|
$dispatcher->addSubscriber(new LazaretSubscriber($app));
|
||||||
$dispatcher->addSubscriber(new ValidationSubscriber($app));
|
$dispatcher->addSubscriber(new ValidationSubscriber($app));
|
||||||
$dispatcher->addSubscriber(new WebhookUserEventSubscriber($app));
|
if ($this['configuration.store']->isSetup()) {
|
||||||
|
$dispatcher->addSubscriber(new WebhookUserEventSubscriber($app));
|
||||||
|
}
|
||||||
|
|
||||||
return $dispatcher;
|
return $dispatcher;
|
||||||
})
|
})
|
||||||
|
@@ -134,6 +134,7 @@ class RegenerateSqliteDb extends Command
|
|||||||
$fixtures['user']['user_guest'] = $DI['user_guest']->getId();
|
$fixtures['user']['user_guest'] = $DI['user_guest']->getId();
|
||||||
|
|
||||||
$fixtures['oauth']['user'] = $DI['api-app-user']->getId();
|
$fixtures['oauth']['user'] = $DI['api-app-user']->getId();
|
||||||
|
$fixtures['oauth']['user1'] = $DI['api-app-user1']->getId();
|
||||||
$fixtures['oauth']['acc-user'] = $DI['api-app-acc-user']->getId();
|
$fixtures['oauth']['acc-user'] = $DI['api-app-acc-user']->getId();
|
||||||
$fixtures['oauth']['user-not-admin'] = $DI['api-app-user-not-admin']->getId();
|
$fixtures['oauth']['user-not-admin'] = $DI['api-app-user-not-admin']->getId();
|
||||||
$fixtures['oauth']['acc-user-not-admin'] = $DI['api-app-acc-user-not-admin']->getId();
|
$fixtures['oauth']['acc-user-not-admin'] = $DI['api-app-acc-user-not-admin']->getId();
|
||||||
@@ -209,6 +210,17 @@ class RegenerateSqliteDb extends Command
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (null === $DI['api-app-user1'] = $this->container['repo.api-applications']->findOneByName('test-web-user1')) {
|
||||||
|
$DI['api-app-user1'] = $this->container['manipulator.api-application']->create(
|
||||||
|
'test-web-user1',
|
||||||
|
ApiApplication::WEB_TYPE,
|
||||||
|
'',
|
||||||
|
'http://website.com/',
|
||||||
|
$DI['user_1'],
|
||||||
|
'http://callback.com/callback/'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function insertOauthAccounts(\Pimple $DI)
|
public function insertOauthAccounts(\Pimple $DI)
|
||||||
@@ -221,6 +233,8 @@ class RegenerateSqliteDb extends Command
|
|||||||
$apiOAuthTokenManipulator->create($DI['api-app-acc-user']);
|
$apiOAuthTokenManipulator->create($DI['api-app-acc-user']);
|
||||||
$DI['api-app-acc-user-not-admin'] = $apiAccountManipulator->create($DI['api-app-user-not-admin'], $DI['user_notAdmin'], V2::VERSION);
|
$DI['api-app-acc-user-not-admin'] = $apiAccountManipulator->create($DI['api-app-user-not-admin'], $DI['user_notAdmin'], V2::VERSION);
|
||||||
$apiOAuthTokenManipulator->create($DI['api-app-acc-user-not-admin']);
|
$apiOAuthTokenManipulator->create($DI['api-app-acc-user-not-admin']);
|
||||||
|
$DI['api-app-acc-user1'] = $apiAccountManipulator->create($DI['api-app-user1'], $DI['user_1'], V2::VERSION);
|
||||||
|
$apiOAuthTokenManipulator->create($DI['api-app-acc-user1']);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function insertNativeApps()
|
public function insertNativeApps()
|
||||||
@@ -665,12 +679,20 @@ class RegenerateSqliteDb extends Command
|
|||||||
$publisher->setFeed($feed);
|
$publisher->setFeed($feed);
|
||||||
|
|
||||||
$feed->addPublisher($publisher);
|
$feed->addPublisher($publisher);
|
||||||
|
|
||||||
|
$publisher1 = new FeedPublisher();
|
||||||
|
|
||||||
|
$publisher1->setUser($DI['user_1']);
|
||||||
|
$publisher1->setIsOwner(false);
|
||||||
|
$publisher1->setFeed($feed);
|
||||||
|
|
||||||
$feed->setTitle("Feed test, Public!");
|
$feed->setTitle("Feed test, Public!");
|
||||||
$feed->setIsPublic(true);
|
$feed->setIsPublic(true);
|
||||||
$feed->setSubtitle("description");
|
$feed->setSubtitle("description");
|
||||||
|
|
||||||
$em->persist($feed);
|
$em->persist($feed);
|
||||||
$em->persist($publisher);
|
$em->persist($publisher);
|
||||||
|
$em->persist($publisher1);
|
||||||
|
|
||||||
$entry = $this->insertOneFeedEntry($em, $DI, $feed, true);
|
$entry = $this->insertOneFeedEntry($em, $DI, $feed, true);
|
||||||
$token = $this->insertOneFeedToken($em, $DI, $feed);
|
$token = $this->insertOneFeedToken($em, $DI, $feed);
|
||||||
|
@@ -9,10 +9,12 @@
|
|||||||
*/
|
*/
|
||||||
namespace Alchemy\Phrasea\Controller\Root;
|
namespace Alchemy\Phrasea\Controller\Root;
|
||||||
|
|
||||||
|
use Alchemy\Phrasea\Application\Helper\EntityManagerAware;
|
||||||
use Alchemy\Phrasea\Controller\Controller;
|
use Alchemy\Phrasea\Controller\Controller;
|
||||||
use Alchemy\Phrasea\ControllerProvider\Api\V2;
|
use Alchemy\Phrasea\ControllerProvider\Api\V2;
|
||||||
use Alchemy\Phrasea\Exception\InvalidArgumentException;
|
use Alchemy\Phrasea\Exception\InvalidArgumentException;
|
||||||
use Alchemy\Phrasea\Model\Entities\ApiApplication;
|
use Alchemy\Phrasea\Model\Entities\ApiApplication;
|
||||||
|
use Alchemy\Phrasea\Model\Entities\WebhookEvent;
|
||||||
use Alchemy\Phrasea\Model\Manipulator\ApiAccountManipulator;
|
use Alchemy\Phrasea\Model\Manipulator\ApiAccountManipulator;
|
||||||
use Alchemy\Phrasea\Model\Manipulator\ApiApplicationManipulator;
|
use Alchemy\Phrasea\Model\Manipulator\ApiApplicationManipulator;
|
||||||
use Alchemy\Phrasea\Model\Manipulator\ApiOauthTokenManipulator;
|
use Alchemy\Phrasea\Model\Manipulator\ApiOauthTokenManipulator;
|
||||||
@@ -29,6 +31,8 @@ use Symfony\Component\Validator\Validator\ValidatorInterface;
|
|||||||
|
|
||||||
class DeveloperController extends Controller
|
class DeveloperController extends Controller
|
||||||
{
|
{
|
||||||
|
use EntityManagerAware;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete application.
|
* Delete application.
|
||||||
*
|
*
|
||||||
@@ -253,9 +257,34 @@ class DeveloperController extends Controller
|
|||||||
"deliveries" => $deliveries,
|
"deliveries" => $deliveries,
|
||||||
"user" => $user,
|
"user" => $user,
|
||||||
"token" => $token,
|
"token" => $token,
|
||||||
|
"webhook_event_list" => $this->getWebhookEventsList()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update listenedEvents in application
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
* @param ApiApplication $application
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function updateListenedEvent(Request $request, ApiApplication $application)
|
||||||
|
{
|
||||||
|
$manager = $this->getEntityManager();
|
||||||
|
$eventName = $request->query->get('event_name');
|
||||||
|
|
||||||
|
if ($request->request->get('action') == 'add') {
|
||||||
|
$application->addListenedEvent($eventName);
|
||||||
|
} elseif ($request->request->get('action') == 'remove') {
|
||||||
|
$application->removeListenedEvent($eventName);
|
||||||
|
}
|
||||||
|
|
||||||
|
$manager->persist($application);
|
||||||
|
$manager->flush();
|
||||||
|
|
||||||
|
return $this->app->json(['success' => true]);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return ApiAccountRepository
|
* @return ApiAccountRepository
|
||||||
*/
|
*/
|
||||||
@@ -311,4 +340,38 @@ class DeveloperController extends Controller
|
|||||||
{
|
{
|
||||||
return $this->app['webhook.delivery_repository'];
|
return $this->app['webhook.delivery_repository'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getWebhookEventsList()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
WebhookEvent::RECORD_TYPE => [
|
||||||
|
WebhookEvent::RECORD_CREATED => $this->app->trans("developers:: record or story created"),
|
||||||
|
WebhookEvent::RECORD_EDITED => $this->app->trans('developers:: record or story edited'),
|
||||||
|
WebhookEvent::RECORD_DELETED => $this->app->trans('developers:: record or story deleted'),
|
||||||
|
WebhookEvent::RECORD_MEDIA_SUBSTITUTED => $this->app->trans('developers:: media substituted for record'),
|
||||||
|
WebhookEvent::RECORD_COLLECTION_CHANGED => $this->app->trans('developers:: collection changed for record'),
|
||||||
|
WebhookEvent::RECORD_STATUS_CHANGED => $this->app->trans('developers:: status changed for record')
|
||||||
|
],
|
||||||
|
WebhookEvent::RECORD_SUBDEF_TYPE => [
|
||||||
|
WebhookEvent::RECORD_SUBDEF_CREATED => $this->app->trans('developers:: subdef created for a record'),
|
||||||
|
WebhookEvent::RECORD_SUBDEF_FAILED => $this->app->trans('developers:: subdef creation failed for a record'),
|
||||||
|
],
|
||||||
|
WebhookEvent::USER_TYPE => [
|
||||||
|
WebhookEvent::USER_CREATED => $this->app->trans('developers:: new user created'),
|
||||||
|
WebhookEvent::USER_DELETED => $this->app->trans('developers:: user deleted on phraseanet')
|
||||||
|
],
|
||||||
|
WebhookEvent::USER_REGISTRATION_TYPE => [
|
||||||
|
WebhookEvent::USER_REGISTRATION_GRANTED => $this->app->trans('developers:: user registration granted on phraseanet'),
|
||||||
|
WebhookEvent::USER_REGISTRATION_REJECTED => $this->app->trans('developers:: user registration rejected on phraseanet')
|
||||||
|
],
|
||||||
|
WebhookEvent::FEED_ENTRY_TYPE => [
|
||||||
|
WebhookEvent::NEW_FEED_ENTRY => $this->app->trans('developers:: new feed entry on phraseanet')
|
||||||
|
],
|
||||||
|
WebhookEvent::ORDER_TYPE => [
|
||||||
|
WebhookEvent::ORDER_CREATED => $this->app->trans('developers:: new order created'),
|
||||||
|
WebhookEvent::ORDER_DELIVERED => $this->app->trans('developers:: a order delivered'),
|
||||||
|
WebhookEvent::ORDER_DENIED => $this->app->trans('developers:: a order denied')
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -14,6 +14,7 @@ namespace Alchemy\Phrasea\ControllerProvider\Root;
|
|||||||
use Alchemy\Phrasea\Application as PhraseaApplication;
|
use Alchemy\Phrasea\Application as PhraseaApplication;
|
||||||
use Alchemy\Phrasea\Controller\Root\DeveloperController;
|
use Alchemy\Phrasea\Controller\Root\DeveloperController;
|
||||||
use Alchemy\Phrasea\ControllerProvider\ControllerProviderTrait;
|
use Alchemy\Phrasea\ControllerProvider\ControllerProviderTrait;
|
||||||
|
use Alchemy\Phrasea\Core\LazyLocator;
|
||||||
use Silex\Application;
|
use Silex\Application;
|
||||||
use Silex\ControllerProviderInterface;
|
use Silex\ControllerProviderInterface;
|
||||||
use Silex\ServiceProviderInterface;
|
use Silex\ServiceProviderInterface;
|
||||||
@@ -25,7 +26,8 @@ class Developers implements ControllerProviderInterface, ServiceProviderInterfac
|
|||||||
public function register(Application $app)
|
public function register(Application $app)
|
||||||
{
|
{
|
||||||
$app['controller.account.developers'] = $app->share(function (PhraseaApplication $app) {
|
$app['controller.account.developers'] = $app->share(function (PhraseaApplication $app) {
|
||||||
return (new DeveloperController($app));
|
return (new DeveloperController($app))
|
||||||
|
->setEntityManagerLocator(new LazyLocator($app, 'orm.em'));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,6 +60,11 @@ class Developers implements ControllerProviderInterface, ServiceProviderInterfac
|
|||||||
->assert('application', '\d+')
|
->assert('application', '\d+')
|
||||||
->bind('developers_application');
|
->bind('developers_application');
|
||||||
|
|
||||||
|
$controllers->post('/application/{application}/listened-event', 'controller.account.developers:updateListenedEvent')
|
||||||
|
->before($app['middleware.api-application.converter'])
|
||||||
|
->assert('application', '\d+')
|
||||||
|
->bind('developers_application_listened_event');
|
||||||
|
|
||||||
$controllers->delete('/application/{application}/', 'controller.account.developers:deleteApp')
|
$controllers->delete('/application/{application}/', 'controller.account.developers:deleteApp')
|
||||||
->before($app['middleware.api-application.converter'])
|
->before($app['middleware.api-application.converter'])
|
||||||
->assert('application', '\d+')
|
->assert('application', '\d+')
|
||||||
|
@@ -13,4 +13,40 @@ namespace Alchemy\Phrasea\Core\Event\Record;
|
|||||||
|
|
||||||
class CollectionChangedEvent extends RecordEvent
|
class CollectionChangedEvent extends RecordEvent
|
||||||
{
|
{
|
||||||
|
/** @var array */
|
||||||
|
private $beforeCollection;
|
||||||
|
|
||||||
|
/** @var array */
|
||||||
|
private $afterCollection;
|
||||||
|
|
||||||
|
public function __construct(\record_adapter $record, \collection $beforeCol, \collection $afterCol)
|
||||||
|
{
|
||||||
|
parent::__construct($record);
|
||||||
|
|
||||||
|
$this->beforeCollection = [
|
||||||
|
'collection_name' => $beforeCol->get_name(),
|
||||||
|
'collection_id' => $beforeCol->get_base_id()
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->afterCollection = [
|
||||||
|
'collection_name' => $afterCol->get_name(),
|
||||||
|
'collection_id' => $afterCol->get_base_id()
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getBeforeCollection()
|
||||||
|
{
|
||||||
|
return $this->beforeCollection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getAfterCollection()
|
||||||
|
{
|
||||||
|
return $this->afterCollection;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -13,4 +13,26 @@ namespace Alchemy\Phrasea\Core\Event\Record;
|
|||||||
|
|
||||||
class StatusChangedEvent extends RecordEvent
|
class StatusChangedEvent extends RecordEvent
|
||||||
{
|
{
|
||||||
|
/** @var array */
|
||||||
|
private $statusBefore;
|
||||||
|
|
||||||
|
/** @var array */
|
||||||
|
private $statusAfter;
|
||||||
|
|
||||||
|
public function __construct(\record_adapter $record, array $statusBefore, array $statusAfter)
|
||||||
|
{
|
||||||
|
parent::__construct($record);
|
||||||
|
$this->statusBefore = $statusBefore;
|
||||||
|
$this->statusAfter = $statusAfter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getStatusBefore()
|
||||||
|
{
|
||||||
|
return $this->statusBefore;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getStatusAfter()
|
||||||
|
{
|
||||||
|
return $this->statusAfter;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -34,7 +34,7 @@ class FeedEntrySubscriber extends AbstractNotificationSubscriber
|
|||||||
WebhookEvent::NEW_FEED_ENTRY,
|
WebhookEvent::NEW_FEED_ENTRY,
|
||||||
WebhookEvent::FEED_ENTRY_TYPE,
|
WebhookEvent::FEED_ENTRY_TYPE,
|
||||||
array_merge(array('feed_id' => $entry->getFeed()->getId()), $params),
|
array_merge(array('feed_id' => $entry->getFeed()->getId()), $params),
|
||||||
$entry->getFeed()->getBaseId() ? [$entry->getFeed()->getBaseId()] : []
|
[]
|
||||||
);
|
);
|
||||||
|
|
||||||
$datas = json_encode($params);
|
$datas = json_encode($params);
|
||||||
|
@@ -0,0 +1,172 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Alchemy\Phrasea\Core\Event\Subscriber;
|
||||||
|
|
||||||
|
use Alchemy\Phrasea\Application;
|
||||||
|
use Alchemy\Phrasea\Core\Event\Record\CollectionChangedEvent;
|
||||||
|
use Alchemy\Phrasea\Core\Event\Record\RecordEvent;
|
||||||
|
use Alchemy\Phrasea\Core\Event\Record\RecordEvents;
|
||||||
|
use Alchemy\Phrasea\Core\Event\Record\StatusChangedEvent;
|
||||||
|
use Alchemy\Phrasea\Core\LazyLocator;
|
||||||
|
use Alchemy\Phrasea\Core\PhraseaEvents;
|
||||||
|
use Alchemy\Phrasea\Model\Entities\WebhookEvent;
|
||||||
|
use Alchemy\Phrasea\Model\RecordInterface;
|
||||||
|
use Assert\Assertion;
|
||||||
|
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||||
|
|
||||||
|
class WebhookRecordEventSubscriber implements EventSubscriberInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var Application
|
||||||
|
*/
|
||||||
|
private $app;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var callable
|
||||||
|
*/
|
||||||
|
private $appboxLocator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Application $application
|
||||||
|
*/
|
||||||
|
public function __construct(Application $application)
|
||||||
|
{
|
||||||
|
$this->app = $application;
|
||||||
|
$this->appboxLocator = new LazyLocator($this->app, 'phraseanet.appbox');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onRecordCreated(RecordEvent $event)
|
||||||
|
{
|
||||||
|
$this->createWebhookEvent($event, WebhookEvent::RECORD_CREATED);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onRecordEdit(RecordEvent $event)
|
||||||
|
{
|
||||||
|
$this->createWebhookEvent($event, WebhookEvent::RECORD_EDITED);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onRecordDeleted(RecordEvent $event)
|
||||||
|
{
|
||||||
|
$this->createWebhookEvent($event, WebhookEvent::RECORD_DELETED);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onRecordMediaSubstituted(RecordEvent $event)
|
||||||
|
{
|
||||||
|
// event only from record_type = record
|
||||||
|
$this->createWebhookEvent($event, WebhookEvent::RECORD_MEDIA_SUBSTITUTED);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onRecordCollectionChanged(CollectionChangedEvent $event)
|
||||||
|
{
|
||||||
|
$record = $this->convertToRecordAdapter($event->getRecord());
|
||||||
|
|
||||||
|
if ($record !== null) {
|
||||||
|
$eventData = [
|
||||||
|
'databox_id' => $event->getRecord()->getDataboxId(),
|
||||||
|
'record_id' => $event->getRecord()->getRecordId(),
|
||||||
|
'collection_name' => $record->getCollection()->get_name(),
|
||||||
|
'base_id' => $record->getBaseId(),
|
||||||
|
'record_type' => $event->getRecord()->isStory() ? "story" : "record",
|
||||||
|
'before' => $event->getBeforeCollection(),
|
||||||
|
'after' => $event->getAfterCollection()
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->app['manipulator.webhook-event']->create(
|
||||||
|
WebhookEvent::RECORD_COLLECTION_CHANGED,
|
||||||
|
WebhookEvent::RECORD_TYPE,
|
||||||
|
$eventData,
|
||||||
|
[$event->getRecord()->getBaseId()]
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$this->app['logger']->error("Record not found when wanting to create webhook data!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onRecordStatusChanged(StatusChangedEvent $event)
|
||||||
|
{
|
||||||
|
$record = $this->convertToRecordAdapter($event->getRecord());
|
||||||
|
|
||||||
|
if ($record !== null) {
|
||||||
|
$eventData = [
|
||||||
|
'databox_id' => $event->getRecord()->getDataboxId(),
|
||||||
|
'record_id' => $event->getRecord()->getRecordId(),
|
||||||
|
'collection_name' => $record->getCollection()->get_name(),
|
||||||
|
'base_id' => $record->getBaseId(),
|
||||||
|
'record_type' => $event->getRecord()->isStory() ? "story" : "record",
|
||||||
|
'before' => $event->getStatusBefore(),
|
||||||
|
'after' => $event->getStatusAfter()
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->app['manipulator.webhook-event']->create(
|
||||||
|
WebhookEvent::RECORD_STATUS_CHANGED,
|
||||||
|
WebhookEvent::RECORD_TYPE,
|
||||||
|
$eventData,
|
||||||
|
[$event->getRecord()->getBaseId()]
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$this->app['logger']->error("Record not found when wanting to create webhook data!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
|
public static function getSubscribedEvents()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
RecordEvents::CREATED => 'onRecordCreated', /** @uses onRecordCreated */
|
||||||
|
PhraseaEvents::RECORD_EDIT => 'onRecordEdit', /** @uses onRecordEdit */
|
||||||
|
RecordEvents::DELETED => 'onRecordDeleted', /** @uses onRecordDeleted */
|
||||||
|
RecordEvents::MEDIA_SUBSTITUTED => 'onRecordMediaSubstituted', /** @uses onRecordMediaSubstituted */
|
||||||
|
RecordEvents::COLLECTION_CHANGED => 'onRecordCollectionChanged', /** @uses onRecordCollectionChanged */
|
||||||
|
RecordEvents::STATUS_CHANGED => 'onRecordStatusChanged', /** @uses onRecordStatusChanged */
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
private function createWebhookEvent(RecordEvent $event, $webhookEventName)
|
||||||
|
{
|
||||||
|
$record = $this->convertToRecordAdapter($event->getRecord());
|
||||||
|
|
||||||
|
if ($record !== null) {
|
||||||
|
$eventData = [
|
||||||
|
'databox_id' => $event->getRecord()->getDataboxId(),
|
||||||
|
'record_id' => $event->getRecord()->getRecordId(),
|
||||||
|
'collection_name' => $record->getCollection()->get_name(),
|
||||||
|
'base_id' => $record->getBaseId(),
|
||||||
|
'record_type' => $event->getRecord()->isStory() ? "story" : "record"
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->app['manipulator.webhook-event']->create(
|
||||||
|
$webhookEventName,
|
||||||
|
WebhookEvent::RECORD_TYPE,
|
||||||
|
$eventData,
|
||||||
|
[$event->getRecord()->getBaseId()]
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$this->app['logger']->error("Record not found when wanting to create webhook data!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function convertToRecordAdapter(RecordInterface $record)
|
||||||
|
{
|
||||||
|
if ($record instanceof \record_adapter) {
|
||||||
|
return $record;
|
||||||
|
}
|
||||||
|
|
||||||
|
$databox = $this->getApplicationBox()->get_databox($record->getDataboxId());
|
||||||
|
|
||||||
|
$recordAdapter = $databox->getRecordRepository()->find($record->getRecordId());
|
||||||
|
|
||||||
|
return ($recordAdapter !== null) ? $recordAdapter : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return \appbox
|
||||||
|
*/
|
||||||
|
private function getApplicationBox()
|
||||||
|
{
|
||||||
|
$callable = $this->appboxLocator;
|
||||||
|
|
||||||
|
return $callable();
|
||||||
|
}
|
||||||
|
}
|
@@ -5,7 +5,9 @@ namespace Alchemy\Phrasea\Core\Event\Subscriber;
|
|||||||
use Alchemy\Phrasea\Core\Event\Record\RecordEvents;
|
use Alchemy\Phrasea\Core\Event\Record\RecordEvents;
|
||||||
use Alchemy\Phrasea\Core\Event\Record\SubDefinitionCreatedEvent;
|
use Alchemy\Phrasea\Core\Event\Record\SubDefinitionCreatedEvent;
|
||||||
use Alchemy\Phrasea\Core\Event\Record\SubDefinitionCreationFailedEvent;
|
use Alchemy\Phrasea\Core\Event\Record\SubDefinitionCreationFailedEvent;
|
||||||
|
use Alchemy\Phrasea\Core\LazyLocator;
|
||||||
use Alchemy\Phrasea\Model\Entities\WebhookEvent;
|
use Alchemy\Phrasea\Model\Entities\WebhookEvent;
|
||||||
|
use Alchemy\Phrasea\Model\RecordInterface;
|
||||||
use Silex\Application;
|
use Silex\Application;
|
||||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||||
|
|
||||||
@@ -13,17 +15,27 @@ class WebhookSubdefEventSubscriber implements EventSubscriberInterface
|
|||||||
{
|
{
|
||||||
private $app;
|
private $app;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var callable
|
||||||
|
*/
|
||||||
|
private $appboxLocator;
|
||||||
|
|
||||||
public function __construct(Application $app)
|
public function __construct(Application $app)
|
||||||
{
|
{
|
||||||
$this->app = $app;
|
$this->app = $app;
|
||||||
|
$this->appboxLocator = new LazyLocator($this->app, 'phraseanet.appbox');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onSubdefCreated(SubDefinitionCreatedEvent $event)
|
public function onSubdefCreated(SubDefinitionCreatedEvent $event)
|
||||||
{
|
{
|
||||||
|
$record = $this->convertToRecordAdapter($event->getRecord());
|
||||||
|
|
||||||
$eventData = [
|
$eventData = [
|
||||||
'databox_id' => $event->getRecord()->getDataboxId(),
|
'databox_id' => $record->getDataboxId(),
|
||||||
'record_id' => $event->getRecord()->getRecordId(),
|
'record_id' => $record->getRecordId(),
|
||||||
'subdef' => $event->getSubDefinitionName()
|
'collection_name' => $record->getCollection()->get_name(),
|
||||||
|
'base_id' => $record->getBaseId(),
|
||||||
|
'subdef_name' => $event->getSubDefinitionName()
|
||||||
];
|
];
|
||||||
|
|
||||||
$this->app['manipulator.webhook-event']->create(
|
$this->app['manipulator.webhook-event']->create(
|
||||||
@@ -36,10 +48,14 @@ class WebhookSubdefEventSubscriber implements EventSubscriberInterface
|
|||||||
|
|
||||||
public function onSubdefCreationFailed(SubDefinitionCreationFailedEvent $event)
|
public function onSubdefCreationFailed(SubDefinitionCreationFailedEvent $event)
|
||||||
{
|
{
|
||||||
|
$record = $this->convertToRecordAdapter($event->getRecord());
|
||||||
|
|
||||||
$eventData = [
|
$eventData = [
|
||||||
'databox_id' => $event->getRecord()->getDataboxId(),
|
'databox_id' => $record->getDataboxId(),
|
||||||
'record_id' => $event->getRecord()->getRecordId(),
|
'record_id' => $record->getRecordId(),
|
||||||
'subdef' => $event->getSubDefinitionName()
|
'collection_name' => $record->getCollection()->get_name(),
|
||||||
|
'base_id' => $record->getBaseId(),
|
||||||
|
'subdef_name' => $event->getSubDefinitionName()
|
||||||
];
|
];
|
||||||
|
|
||||||
$this->app['manipulator.webhook-event']->create(
|
$this->app['manipulator.webhook-event']->create(
|
||||||
@@ -57,4 +73,27 @@ class WebhookSubdefEventSubscriber implements EventSubscriberInterface
|
|||||||
RecordEvents::SUB_DEFINITION_CREATION_FAILED => 'onSubdefCreationFailed'
|
RecordEvents::SUB_DEFINITION_CREATION_FAILED => 'onSubdefCreationFailed'
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function convertToRecordAdapter(RecordInterface $record)
|
||||||
|
{
|
||||||
|
if ($record instanceof \record_adapter) {
|
||||||
|
return $record;
|
||||||
|
}
|
||||||
|
|
||||||
|
$databox = $this->getApplicationBox()->get_databox($record->getDataboxId());
|
||||||
|
|
||||||
|
$recordAdapter = $databox->getRecordRepository()->find($record->getRecordId());
|
||||||
|
|
||||||
|
return ($recordAdapter !== null) ? $recordAdapter : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return \appbox
|
||||||
|
*/
|
||||||
|
private function getApplicationBox()
|
||||||
|
{
|
||||||
|
$callable = $this->appboxLocator;
|
||||||
|
|
||||||
|
return $callable();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
namespace Alchemy\Phrasea\Core\Event\Subscriber;
|
namespace Alchemy\Phrasea\Core\Event\Subscriber;
|
||||||
|
|
||||||
use Alchemy\Phrasea\Application;
|
use Alchemy\Phrasea\Application;
|
||||||
|
use Alchemy\Phrasea\Core\Event\User\CreatedEvent;
|
||||||
use Alchemy\Phrasea\Core\Event\User\DeletedEvent;
|
use Alchemy\Phrasea\Core\Event\User\DeletedEvent;
|
||||||
use Alchemy\Phrasea\Core\Event\User\UserEvents;
|
use Alchemy\Phrasea\Core\Event\User\UserEvents;
|
||||||
use Alchemy\Phrasea\Model\Entities\WebhookEvent;
|
use Alchemy\Phrasea\Model\Entities\WebhookEvent;
|
||||||
@@ -40,18 +41,30 @@ class WebhookUserEventSubscriber implements EventSubscriberInterface
|
|||||||
{
|
{
|
||||||
/** @var WebhookEventManipulator $manipulator */
|
/** @var WebhookEventManipulator $manipulator */
|
||||||
$manipulator = $this->app['manipulator.webhook-event'];
|
$manipulator = $this->app['manipulator.webhook-event'];
|
||||||
|
$manipulator->create(WebhookEvent::USER_DELETED, WebhookEvent::USER_TYPE, [
|
||||||
$manipulator->create(WebhookEvent::USER_DELETED, WebhookEvent::USER_DELETED_TYPE, [
|
|
||||||
'user_id' => $event->getUserId(),
|
'user_id' => $event->getUserId(),
|
||||||
'email' => $event->getEmailAddress(),
|
'email' => $event->getEmailAddress(),
|
||||||
'login' => $event->getLogin()
|
'login' => $event->getLogin()
|
||||||
], $event->getGrantedBaseIds());
|
], $event->getGrantedBaseIds());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function onUserCreated(CreatedEvent $event)
|
||||||
|
{
|
||||||
|
/** @var WebhookEventManipulator $manipulator */
|
||||||
|
$manipulator = $this->app['manipulator.webhook-event'];
|
||||||
|
$user = $event->getUser();
|
||||||
|
$manipulator->create(WebhookEvent::USER_CREATED, WebhookEvent::USER_TYPE, [
|
||||||
|
'user_id' => $user->getId(),
|
||||||
|
'email' => $user->getEmail(),
|
||||||
|
'login' => $user->getLogin()
|
||||||
|
], []);
|
||||||
|
}
|
||||||
|
|
||||||
public static function getSubscribedEvents()
|
public static function getSubscribedEvents()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
UserEvents::DELETED => 'onUserDeleted'
|
UserEvents::DELETED => 'onUserDeleted',
|
||||||
|
UserEvents::CREATED => 'onUserCreated'
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Alchemy\Phrasea\Core\Provider;
|
namespace Alchemy\Phrasea\Core\Provider;
|
||||||
|
|
||||||
|
use Alchemy\Phrasea\Core\Event\Subscriber\WebhookRecordEventSubscriber;
|
||||||
use Alchemy\Phrasea\Core\Event\Subscriber\WebhookSubdefEventSubscriber;
|
use Alchemy\Phrasea\Core\Event\Subscriber\WebhookSubdefEventSubscriber;
|
||||||
use Alchemy\Phrasea\Webhook\EventProcessorFactory;
|
use Alchemy\Phrasea\Webhook\EventProcessorFactory;
|
||||||
use Alchemy\Phrasea\Webhook\EventProcessorWorker;
|
use Alchemy\Phrasea\Webhook\EventProcessorWorker;
|
||||||
@@ -64,6 +65,7 @@ class WebhookServiceProvider implements ServiceProviderInterface
|
|||||||
$app['dispatcher'] = $app->share(
|
$app['dispatcher'] = $app->share(
|
||||||
$app->extend('dispatcher', function (EventDispatcher $dispatcher, Application $app) {
|
$app->extend('dispatcher', function (EventDispatcher $dispatcher, Application $app) {
|
||||||
$dispatcher->addSubscriber(new WebhookSubdefEventSubscriber($app));
|
$dispatcher->addSubscriber(new WebhookSubdefEventSubscriber($app));
|
||||||
|
$dispatcher->addSubscriber(new WebhookRecordEventSubscriber($app));
|
||||||
|
|
||||||
return $dispatcher;
|
return $dispatcher;
|
||||||
})
|
})
|
||||||
|
@@ -131,6 +131,28 @@ class ApiApplication
|
|||||||
*/
|
*/
|
||||||
private $webhookUrl;
|
private $webhookUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of events to trigger webhook
|
||||||
|
* @var array
|
||||||
|
*
|
||||||
|
* @ORM\Column(name="listened_events", type="json_array", nullable=true)
|
||||||
|
*/
|
||||||
|
private $listenedEvents;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string
|
||||||
|
*
|
||||||
|
* @ORM\Column(name="hmac_key", type="string", length=1024, nullable=true)
|
||||||
|
*/
|
||||||
|
private $hmacKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var integer
|
||||||
|
*
|
||||||
|
* @ORM\Column(name="webhook_unactivate", type="boolean", nullable=false)
|
||||||
|
*/
|
||||||
|
private $webhookUnactivate = false;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->accounts = new ArrayCollection();
|
$this->accounts = new ArrayCollection();
|
||||||
@@ -431,4 +453,69 @@ class ApiApplication
|
|||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param array $listenedEvents
|
||||||
|
*/
|
||||||
|
public function setListenedEvents(array $listenedEvents)
|
||||||
|
{
|
||||||
|
$this->listenedEvents = $listenedEvents;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $eventName
|
||||||
|
*/
|
||||||
|
public function addListenedEvent($eventName)
|
||||||
|
{
|
||||||
|
$this->listenedEvents[] = $eventName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $eventName
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function removeListenedEvent($eventName)
|
||||||
|
{
|
||||||
|
$keys = array_keys($this->listenedEvents, $eventName, true);
|
||||||
|
|
||||||
|
foreach ($keys as $key) {
|
||||||
|
unset($this->listenedEvents[$key]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getListenedEvents()
|
||||||
|
{
|
||||||
|
return $this->listenedEvents;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getHmacKey()
|
||||||
|
{
|
||||||
|
return $this->hmacKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setHmacKey($hmacKey)
|
||||||
|
{
|
||||||
|
$this->hmacKey = $hmacKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function isWebhookUnactivate()
|
||||||
|
{
|
||||||
|
return $this->webhookUnactivate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param boolean $webhookUnactivate
|
||||||
|
*/
|
||||||
|
public function setWebhookUnactivate($webhookUnactivate)
|
||||||
|
{
|
||||||
|
$this->webhookUnactivate = (Boolean) $webhookUnactivate;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -77,6 +77,11 @@ class FeedEntry
|
|||||||
*/
|
*/
|
||||||
private $feed;
|
private $feed;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Column(name="notifyemail_on", type="datetime", nullable=true)
|
||||||
|
*/
|
||||||
|
private $notifyEmailOn;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*/
|
*/
|
||||||
@@ -213,7 +218,7 @@ class FeedEntry
|
|||||||
/**
|
/**
|
||||||
* Set updated
|
* Set updated
|
||||||
*
|
*
|
||||||
* @param \DateTime $updated
|
* @param \DateTime $updatedOn
|
||||||
* @return FeedEntry
|
* @return FeedEntry
|
||||||
*/
|
*/
|
||||||
public function setUpdatedOn($updatedOn)
|
public function setUpdatedOn($updatedOn)
|
||||||
@@ -312,6 +317,26 @@ class FeedEntry
|
|||||||
return $this->feed;
|
return $this->feed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get notifyEmailOn
|
||||||
|
*
|
||||||
|
* @return \DateTime|null
|
||||||
|
*/
|
||||||
|
public function getNotifyEmailOn()
|
||||||
|
{
|
||||||
|
return $this->notifyEmailOn;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set notifyEmailOn
|
||||||
|
*
|
||||||
|
* @param \DateTime $notifyEmailOn
|
||||||
|
*/
|
||||||
|
public function setNotifyEmailOn($notifyEmailOn)
|
||||||
|
{
|
||||||
|
$this->notifyEmailOn = $notifyEmailOn;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a boolean indicating whether the given User is the publisher of the entry.
|
* Returns a boolean indicating whether the given User is the publisher of the entry.
|
||||||
*
|
*
|
||||||
|
@@ -261,6 +261,11 @@ class User
|
|||||||
**/
|
**/
|
||||||
private $notificationSettings;
|
private $notificationSettings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="boolean", name="granted_api", options={"default" = 0})
|
||||||
|
*/
|
||||||
|
private $grantedApi = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*/
|
*/
|
||||||
@@ -1053,6 +1058,26 @@ class User
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function hasGrantedApi()
|
||||||
|
{
|
||||||
|
return $this->grantedApi;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param boolean $grantedApi
|
||||||
|
*
|
||||||
|
* @return User
|
||||||
|
*/
|
||||||
|
public function setGrantedApi($grantedApi)
|
||||||
|
{
|
||||||
|
$this->grantedApi = (Boolean) $grantedApi;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
|
@@ -11,6 +11,8 @@ use Gedmo\Mapping\Annotation as Gedmo;
|
|||||||
*/
|
*/
|
||||||
class WebhookEvent
|
class WebhookEvent
|
||||||
{
|
{
|
||||||
|
const WEBHOOK_VERSION = 1;
|
||||||
|
|
||||||
const NEW_FEED_ENTRY = 'new_feed_entry';
|
const NEW_FEED_ENTRY = 'new_feed_entry';
|
||||||
const FEED_ENTRY_TYPE = 'feed_entry';
|
const FEED_ENTRY_TYPE = 'feed_entry';
|
||||||
|
|
||||||
@@ -18,9 +20,6 @@ class WebhookEvent
|
|||||||
const USER_REGISTRATION_REJECTED = 'user.registration.rejected';
|
const USER_REGISTRATION_REJECTED = 'user.registration.rejected';
|
||||||
const USER_REGISTRATION_TYPE = 'user.registration';
|
const USER_REGISTRATION_TYPE = 'user.registration';
|
||||||
|
|
||||||
const USER_DELETED = 'user.deleted';
|
|
||||||
const USER_DELETED_TYPE = 'user.deleted';
|
|
||||||
|
|
||||||
const RECORD_SUBDEF_CREATED = 'record.subdef.created';
|
const RECORD_SUBDEF_CREATED = 'record.subdef.created';
|
||||||
const RECORD_SUBDEF_FAILED = 'record.subdef.creation_failed';
|
const RECORD_SUBDEF_FAILED = 'record.subdef.creation_failed';
|
||||||
const RECORD_SUBDEFS_CREATED = 'record.subdefs.created';
|
const RECORD_SUBDEFS_CREATED = 'record.subdefs.created';
|
||||||
@@ -31,6 +30,38 @@ class WebhookEvent
|
|||||||
const ORDER_DELIVERED = 'order.delivered';
|
const ORDER_DELIVERED = 'order.delivered';
|
||||||
const ORDER_DENIED = 'order.denied';
|
const ORDER_DENIED = 'order.denied';
|
||||||
|
|
||||||
|
const USER_TYPE = 'user';
|
||||||
|
const USER_CREATED = 'user.created';
|
||||||
|
const USER_DELETED = 'user.deleted';
|
||||||
|
|
||||||
|
// const use only as name and type of a webhook
|
||||||
|
const RECORD_TYPE = 'record';
|
||||||
|
const RECORD_CREATED = 'record.created';
|
||||||
|
const RECORD_EDITED = 'record.edited';
|
||||||
|
const RECORD_DELETED = 'record.deleted';
|
||||||
|
const RECORD_MEDIA_SUBSTITUTED = 'record.media_substituted';
|
||||||
|
const RECORD_COLLECTION_CHANGED = 'record.collection_changed';
|
||||||
|
const RECORD_STATUS_CHANGED = 'record.status_changed';
|
||||||
|
|
||||||
|
public static $eventsAccessRight = [
|
||||||
|
self::RECORD_CREATED => [\ACL::ACCESS, \ACL::ACTIF],
|
||||||
|
self::RECORD_EDITED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANMODIFRECORD],
|
||||||
|
self::RECORD_DELETED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANDELETERECORD],
|
||||||
|
self::RECORD_MEDIA_SUBSTITUTED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::IMGTOOLS],
|
||||||
|
self::RECORD_COLLECTION_CHANGED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANADDRECORD, \ACL::CANDELETERECORD],
|
||||||
|
self::RECORD_STATUS_CHANGED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANMODIFRECORD],
|
||||||
|
self::RECORD_SUBDEF_CREATED => [\ACL::ACCESS, \ACL::ACTIF, [\ACL::IMGTOOLS, \ACL::CANADDRECORD]],// only one right required from the sub-array
|
||||||
|
self::RECORD_SUBDEF_FAILED => [\ACL::ACCESS, \ACL::ACTIF, [\ACL::IMGTOOLS, \ACL::CANADDRECORD]],
|
||||||
|
self::USER_CREATED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANADMIN],
|
||||||
|
self::USER_DELETED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANADMIN],
|
||||||
|
self::USER_REGISTRATION_GRANTED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANADMIN],
|
||||||
|
self::USER_REGISTRATION_REJECTED=> [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANADMIN],
|
||||||
|
self::NEW_FEED_ENTRY => [\ACL::ACCESS, \ACL::ACTIF, \ACL::BAS_CHUPUB],
|
||||||
|
self::ORDER_CREATED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::ORDER_MASTER],
|
||||||
|
self::ORDER_DELIVERED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::ORDER_MASTER],
|
||||||
|
self::ORDER_DENIED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::ORDER_MASTER]
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="integer")
|
* @ORM\Column(type="integer")
|
||||||
* @ORM\Id
|
* @ORM\Id
|
||||||
|
@@ -67,8 +67,11 @@ class WebhookEventManipulator implements ManipulatorInterface
|
|||||||
|
|
||||||
public function update(WebhookEvent $event)
|
public function update(WebhookEvent $event)
|
||||||
{
|
{
|
||||||
$this->om->persist($event);
|
try {
|
||||||
$this->om->flush();
|
$this->om->persist($event);
|
||||||
|
$this->om->flush();
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function processed(WebhookEvent $event)
|
public function processed(WebhookEvent $event)
|
||||||
|
@@ -20,6 +20,7 @@ use Alchemy\Phrasea\Core\Event\Record\Structure\RecordStructureEvents;
|
|||||||
use Alchemy\Phrasea\Core\Event\Thesaurus\ReindexRequiredEvent;
|
use Alchemy\Phrasea\Core\Event\Thesaurus\ReindexRequiredEvent;
|
||||||
use Alchemy\Phrasea\Core\Event\Thesaurus\ThesaurusEvent;
|
use Alchemy\Phrasea\Core\Event\Thesaurus\ThesaurusEvent;
|
||||||
use Alchemy\Phrasea\Core\Event\Thesaurus\ThesaurusEvents;
|
use Alchemy\Phrasea\Core\Event\Thesaurus\ThesaurusEvents;
|
||||||
|
use Alchemy\Phrasea\WorkerManager\Event\WorkerEvents;
|
||||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -81,6 +82,7 @@ class IndexerSubscriber implements EventSubscriberInterface
|
|||||||
CollectionEvents::NAME_CHANGED => 'onCollectionChange',
|
CollectionEvents::NAME_CHANGED => 'onCollectionChange',
|
||||||
RecordEvents::CREATED => 'onRecordChange',
|
RecordEvents::CREATED => 'onRecordChange',
|
||||||
RecordEvents::DELETED => 'onRecordDelete',
|
RecordEvents::DELETED => 'onRecordDelete',
|
||||||
|
WorkerEvents::RECORD_DELETE_INDEX => 'onRecordDelete',
|
||||||
RecordEvents::COLLECTION_CHANGED => 'onRecordChange',
|
RecordEvents::COLLECTION_CHANGED => 'onRecordChange',
|
||||||
RecordEvents::METADATA_CHANGED => 'onRecordChange',
|
RecordEvents::METADATA_CHANGED => 'onRecordChange',
|
||||||
RecordEvents::ORIGINAL_NAME_CHANGED => 'onRecordChange',
|
RecordEvents::ORIGINAL_NAME_CHANGED => 'onRecordChange',
|
||||||
|
@@ -59,7 +59,7 @@ class PhraseanetExtension extends \Twig_Extension
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
// change this version when you change JS file to force the navigation to reload js file
|
// change this version when you change JS file to force the navigation to reload js file
|
||||||
'assetFileVersion' => 30
|
'assetFileVersion' => 31
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -10,7 +10,9 @@ use Alchemy\Phrasea\Webhook\Processor\FeedEntryProcessorFactory;
|
|||||||
use Alchemy\Phrasea\Webhook\Processor\OrderNotificationProcessorFactory;
|
use Alchemy\Phrasea\Webhook\Processor\OrderNotificationProcessorFactory;
|
||||||
use Alchemy\Phrasea\Webhook\Processor\ProcessorFactory;
|
use Alchemy\Phrasea\Webhook\Processor\ProcessorFactory;
|
||||||
use Alchemy\Phrasea\Webhook\Processor\ProcessorInterface;
|
use Alchemy\Phrasea\Webhook\Processor\ProcessorInterface;
|
||||||
|
use Alchemy\Phrasea\Webhook\Processor\RecordEventProcessor;
|
||||||
use Alchemy\Phrasea\Webhook\Processor\UserDeletedProcessorFactory;
|
use Alchemy\Phrasea\Webhook\Processor\UserDeletedProcessorFactory;
|
||||||
|
use Alchemy\Phrasea\Webhook\Processor\UserProcessorFactory;
|
||||||
use Alchemy\Phrasea\Webhook\Processor\UserRegistrationProcessorFactory;
|
use Alchemy\Phrasea\Webhook\Processor\UserRegistrationProcessorFactory;
|
||||||
use Alchemy\Phrasea\Webhook\Processor\SubdefEventProcessor;
|
use Alchemy\Phrasea\Webhook\Processor\SubdefEventProcessor;
|
||||||
|
|
||||||
@@ -30,10 +32,14 @@ class EventProcessorFactory
|
|||||||
$this->registerFactory(WebhookEvent::FEED_ENTRY_TYPE, new FeedEntryProcessorFactory($app));
|
$this->registerFactory(WebhookEvent::FEED_ENTRY_TYPE, new FeedEntryProcessorFactory($app));
|
||||||
$this->registerFactory(WebhookEvent::USER_REGISTRATION_TYPE, new UserRegistrationProcessorFactory($app));
|
$this->registerFactory(WebhookEvent::USER_REGISTRATION_TYPE, new UserRegistrationProcessorFactory($app));
|
||||||
$this->registerFactory(WebhookEvent::ORDER_TYPE, new OrderNotificationProcessorFactory($app));
|
$this->registerFactory(WebhookEvent::ORDER_TYPE, new OrderNotificationProcessorFactory($app));
|
||||||
$this->registerFactory(WebhookEvent::USER_DELETED_TYPE, new UserDeletedProcessorFactory());
|
|
||||||
|
$this->registerFactory(WebhookEvent::USER_TYPE, new UserProcessorFactory());
|
||||||
$this->registerCallableFactory(WebhookEvent::RECORD_SUBDEF_TYPE, function () {
|
$this->registerCallableFactory(WebhookEvent::RECORD_SUBDEF_TYPE, function () {
|
||||||
return new SubdefEventProcessor();
|
return new SubdefEventProcessor();
|
||||||
});
|
});
|
||||||
|
$this->registerCallableFactory(WebhookEvent::RECORD_TYPE, function () {
|
||||||
|
return new RecordEventProcessor();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -74,23 +74,28 @@ class FeedEntryProcessor implements ProcessorInterface
|
|||||||
} while (count($results) > 0);
|
} while (count($results) > 0);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'event' => $event->getName(),
|
'event' => $event->getName(),
|
||||||
'users_were_notified' => isset($data['notify_email']) ? (bool) $data['notify_email'] : false,
|
'webhookId' => $event->getId(),
|
||||||
|
'version' => WebhookEvent::WEBHOOK_VERSION,
|
||||||
|
'url' => $data['url'],
|
||||||
|
'instance_name' => $data['instance_name'],
|
||||||
|
'users_were_notified' => isset($data['notify_email']) ? (bool) $data['notify_email'] : false,
|
||||||
'feed' => [
|
'feed' => [
|
||||||
'id' => $feed->getId(),
|
'id' => $feed->getId(),
|
||||||
'title' => $feed->getTitle(),
|
'title' => $feed->getTitle(),
|
||||||
'description' => $feed->getSubtitle(),
|
'description' => $feed->getSubtitle(),
|
||||||
],
|
],
|
||||||
'entry' => [
|
'entry' => [
|
||||||
'id' => $entry->getId(),
|
'id' => $entry->getId(),
|
||||||
'author' => [
|
'author' => [
|
||||||
'name' => $entry->getAuthorName(),
|
'name' => $entry->getAuthorName(),
|
||||||
'email' => $entry->getAuthorEmail()
|
'email' => $entry->getAuthorEmail()
|
||||||
],
|
],
|
||||||
'title' => $entry->getTitle(),
|
'title' => $entry->getTitle(),
|
||||||
'description' => $entry->getSubtitle(),
|
'description' => $entry->getSubtitle(),
|
||||||
],
|
],
|
||||||
'users' => $users
|
'users' => $users,
|
||||||
|
'event_time' => $data['event_time']
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -44,7 +44,7 @@ class OrderNotificationProcessor implements ProcessorInterface
|
|||||||
/** @var Order $order */
|
/** @var Order $order */
|
||||||
$order = $this->orderRepository->find($data['order_id']);
|
$order = $this->orderRepository->find($data['order_id']);
|
||||||
|
|
||||||
return $this->getOrderData($event, $user, $order);
|
return $this->getOrderData($event, $user, $order, $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function processDeliveryOrder(WebhookEvent $event)
|
protected function processDeliveryOrder(WebhookEvent $event)
|
||||||
@@ -55,25 +55,32 @@ class OrderNotificationProcessor implements ProcessorInterface
|
|||||||
$order = $this->orderRepository->find($data['order_id']);
|
$order = $this->orderRepository->find($data['order_id']);
|
||||||
$user = $order->getUser();
|
$user = $order->getUser();
|
||||||
|
|
||||||
return $this->getOrderData($event, $user, $order);
|
return $this->getOrderData($event, $user, $order, $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param WebhookEvent $event
|
* @param WebhookEvent $event
|
||||||
* @param User $user
|
* @param User $user
|
||||||
* @param Order $order
|
* @param Order $order
|
||||||
|
* @param array $data
|
||||||
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected function getOrderData(WebhookEvent $event, User $user, Order $order)
|
protected function getOrderData(WebhookEvent $event, User $user, Order $order, $data)
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'event' => $event->getName(),
|
'event' => $event->getName(),
|
||||||
|
'webhookId' => $event->getId(),
|
||||||
|
'version' => WebhookEvent::WEBHOOK_VERSION,
|
||||||
|
'url' => $data['url'],
|
||||||
|
'instance_name' => $data['instance_name'],
|
||||||
'user' => [
|
'user' => [
|
||||||
'id' => $user->getId(),
|
'id' => $user->getId(),
|
||||||
'email' => $user->getEmail(),
|
'email' => $user->getEmail(),
|
||||||
'login' => $user->getLogin()
|
'login' => $user->getLogin()
|
||||||
],
|
],
|
||||||
'order' => $order->getId()
|
'order' => $order->getId(),
|
||||||
|
'event_time' => $data['event_time']
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Alchemy\Phrasea\Webhook\Processor;
|
||||||
|
|
||||||
|
use Alchemy\Phrasea\Model\Entities\WebhookEvent;
|
||||||
|
|
||||||
|
class RecordEventProcessor implements ProcessorInterface
|
||||||
|
{
|
||||||
|
public function process(WebhookEvent $event)
|
||||||
|
{
|
||||||
|
$data = $event->getData();
|
||||||
|
$eventTime = $data['event_time'];
|
||||||
|
$url = $data['url'];
|
||||||
|
$instanceName = $data['instance_name'];
|
||||||
|
|
||||||
|
unset($data['event_time']);
|
||||||
|
unset($data['url']);
|
||||||
|
unset($data['instance_name']);
|
||||||
|
|
||||||
|
return [
|
||||||
|
'event' => $event->getName(),
|
||||||
|
'webhookId' => $event->getId(),
|
||||||
|
'version' => WebhookEvent::WEBHOOK_VERSION,
|
||||||
|
'url' => $url,
|
||||||
|
'instance_name' => $instanceName,
|
||||||
|
'data' => $data,
|
||||||
|
'event_time' => $eventTime
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
@@ -9,9 +9,23 @@ class SubdefEventProcessor implements ProcessorInterface
|
|||||||
|
|
||||||
public function process(WebhookEvent $event)
|
public function process(WebhookEvent $event)
|
||||||
{
|
{
|
||||||
|
$data = $event->getData();
|
||||||
|
$eventTime = $data['event_time'];
|
||||||
|
$url = $data['url'];
|
||||||
|
$instanceName = $data['instance_name'];
|
||||||
|
|
||||||
|
unset($data['event_time']);
|
||||||
|
unset($data['url']);
|
||||||
|
unset($data['instance_name']);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'event' => $event->getName(),
|
'event' => $event->getName(),
|
||||||
'data' => $event->getData()
|
'webhookId' => $event->getId(),
|
||||||
|
'version' => WebhookEvent::WEBHOOK_VERSION,
|
||||||
|
'url' => $url,
|
||||||
|
'instance_name' => $instanceName,
|
||||||
|
'data' => $data,
|
||||||
|
'event_time' => $eventTime
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,36 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is part of phrasea-4.0.
|
|
||||||
*
|
|
||||||
* (c) Alchemy <info@alchemy.fr>
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view the LICENSE
|
|
||||||
* file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Alchemy\Phrasea\Webhook\Processor;
|
|
||||||
|
|
||||||
use Alchemy\Phrasea\Model\Entities\WebhookEvent;
|
|
||||||
|
|
||||||
class UserDeletedProcessor implements ProcessorInterface
|
|
||||||
{
|
|
||||||
|
|
||||||
public function process(WebhookEvent $event)
|
|
||||||
{
|
|
||||||
$data = $event->getData();
|
|
||||||
|
|
||||||
if (! isset($data['user_id'])) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return array(
|
|
||||||
'event' => $event->getName(),
|
|
||||||
'user' => array(
|
|
||||||
'id' => $data['user_id'],
|
|
||||||
'email' => $data['email'],
|
|
||||||
'login' => $data['login']
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,24 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is part of phrasea-4.0.
|
|
||||||
*
|
|
||||||
* (c) Alchemy <info@alchemy.fr>
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view the LICENSE
|
|
||||||
* file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Alchemy\Phrasea\Webhook\Processor;
|
|
||||||
|
|
||||||
class UserDeletedProcessorFactory implements ProcessorFactory
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return ProcessorInterface
|
|
||||||
*/
|
|
||||||
public function createProcessor()
|
|
||||||
{
|
|
||||||
return new UserDeletedProcessor();
|
|
||||||
}
|
|
||||||
}
|
|
32
lib/Alchemy/Phrasea/Webhook/Processor/UserProcessor.php
Normal file
32
lib/Alchemy/Phrasea/Webhook/Processor/UserProcessor.php
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Alchemy\Phrasea\Webhook\Processor;
|
||||||
|
|
||||||
|
use Alchemy\Phrasea\Model\Entities\WebhookEvent;
|
||||||
|
|
||||||
|
class UserProcessor implements ProcessorInterface
|
||||||
|
{
|
||||||
|
|
||||||
|
public function process(WebhookEvent $event)
|
||||||
|
{
|
||||||
|
$data = $event->getData();
|
||||||
|
|
||||||
|
if (! isset($data['user_id'])) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return [
|
||||||
|
'event' => $event->getName(),
|
||||||
|
'webhookId' => $event->getId(),
|
||||||
|
'version' => WebhookEvent::WEBHOOK_VERSION,
|
||||||
|
'url' => $data['url'],
|
||||||
|
'instance_name' => $data['instance_name'],
|
||||||
|
'user' => [
|
||||||
|
'id' => $data['user_id'],
|
||||||
|
'email' => $data['email'],
|
||||||
|
'login' => $data['login'],
|
||||||
|
],
|
||||||
|
'event_time' => $data['event_time']
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Alchemy\Phrasea\Webhook\Processor;
|
||||||
|
|
||||||
|
class UserProcessorFactory implements ProcessorFactory
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return ProcessorInterface|UserProcessor
|
||||||
|
*/
|
||||||
|
public function createProcessor()
|
||||||
|
{
|
||||||
|
return new UserProcessor();
|
||||||
|
}
|
||||||
|
}
|
@@ -29,14 +29,19 @@ class UserRegistrationProcessor implements ProcessorInterface
|
|||||||
$user = $this->userRepository->find($data['user_id']);
|
$user = $this->userRepository->find($data['user_id']);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'event' => $event->getName(),
|
'event' => $event->getName(),
|
||||||
'user' => [
|
'webhookId' => $event->getId(),
|
||||||
'id' => $user->getId(),
|
'version' => WebhookEvent::WEBHOOK_VERSION,
|
||||||
|
'url' => $data['url'],
|
||||||
|
'instance_name' => $data['instance_name'],
|
||||||
|
'user' => [
|
||||||
|
'id' => $user->getId(),
|
||||||
'email' => $user->getEmail(),
|
'email' => $user->getEmail(),
|
||||||
'login' => $user->getLogin()
|
'login' => $user->getLogin()
|
||||||
],
|
],
|
||||||
'granted' => $data['granted'],
|
'granted' => $data['granted'],
|
||||||
'rejected' => $data['rejected']
|
'rejected' => $data['rejected'],
|
||||||
|
'event_time'=> $data['event_time']
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -27,4 +27,6 @@ final class WorkerEvents
|
|||||||
const RECORD_EDIT_IN_WORKER = 'record.edit_in_worker';
|
const RECORD_EDIT_IN_WORKER = 'record.edit_in_worker';
|
||||||
|
|
||||||
const RECORDS_WRITE_META = 'records.write_meta';
|
const RECORDS_WRITE_META = 'records.write_meta';
|
||||||
|
|
||||||
|
const RECORD_DELETE_INDEX = 'record.delete_index';
|
||||||
}
|
}
|
||||||
|
@@ -108,6 +108,7 @@ class AlchemyWorkerServiceProvider implements PluginProviderInterface
|
|||||||
|
|
||||||
$app['alchemy_worker.type_based_worker_resolver']->addFactory(MessagePublisher::WEBHOOK_TYPE, new CallableWorkerFactory(function () use ($app) {
|
$app['alchemy_worker.type_based_worker_resolver']->addFactory(MessagePublisher::WEBHOOK_TYPE, new CallableWorkerFactory(function () use ($app) {
|
||||||
return (new WebhookWorker($app))
|
return (new WebhookWorker($app))
|
||||||
|
->setApplicationBox($app['phraseanet.appbox'])
|
||||||
->setDispatcher($app['dispatcher']);
|
->setDispatcher($app['dispatcher']);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@@ -78,7 +78,7 @@ class RecordSubscriber implements EventSubscriberInterface
|
|||||||
public function onDelete(DeleteEvent $event)
|
public function onDelete(DeleteEvent $event)
|
||||||
{
|
{
|
||||||
// first remove record from the grid answer, so first delete the record in the index elastic
|
// first remove record from the grid answer, so first delete the record in the index elastic
|
||||||
$this->app['dispatcher']->dispatch(RecordEvents::DELETED, new DeletedEvent($event->getRecord()));
|
$this->app['dispatcher']->dispatch(WorkerEvents::RECORD_DELETE_INDEX, new DeletedEvent($event->getRecord()));
|
||||||
|
|
||||||
// publish payload to queue
|
// publish payload to queue
|
||||||
$payload = [
|
$payload = [
|
||||||
|
@@ -3,9 +3,12 @@
|
|||||||
namespace Alchemy\Phrasea\WorkerManager\Worker;
|
namespace Alchemy\Phrasea\WorkerManager\Worker;
|
||||||
|
|
||||||
use Alchemy\Phrasea\Application;
|
use Alchemy\Phrasea\Application;
|
||||||
|
use Alchemy\Phrasea\Application\Helper\ApplicationBoxAware;
|
||||||
use Alchemy\Phrasea\Application\Helper\DispatcherAware;
|
use Alchemy\Phrasea\Application\Helper\DispatcherAware;
|
||||||
use Alchemy\Phrasea\Core\Version;
|
use Alchemy\Phrasea\Core\Version;
|
||||||
use Alchemy\Phrasea\Model\Entities\ApiApplication;
|
use Alchemy\Phrasea\Model\Entities\ApiApplication;
|
||||||
|
use Alchemy\Phrasea\Model\Entities\FeedEntry;
|
||||||
|
use Alchemy\Phrasea\Model\Entities\User;
|
||||||
use Alchemy\Phrasea\Model\Entities\WebhookEvent;
|
use Alchemy\Phrasea\Model\Entities\WebhookEvent;
|
||||||
use Alchemy\Phrasea\Model\Entities\WebhookEventDelivery;
|
use Alchemy\Phrasea\Model\Entities\WebhookEventDelivery;
|
||||||
use Alchemy\Phrasea\Model\Entities\WebhookEventPayload;
|
use Alchemy\Phrasea\Model\Entities\WebhookEventPayload;
|
||||||
@@ -29,6 +32,7 @@ use Psr\Http\Message\RequestInterface;
|
|||||||
class WebhookWorker implements WorkerInterface
|
class WebhookWorker implements WorkerInterface
|
||||||
{
|
{
|
||||||
use DispatcherAware;
|
use DispatcherAware;
|
||||||
|
use ApplicationBoxAware;
|
||||||
|
|
||||||
private $app;
|
private $app;
|
||||||
|
|
||||||
@@ -126,7 +130,17 @@ class WebhookWorker implements WorkerInterface
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function deliverEvent(Client $httpClient, array $thirdPartyApplications, WebhookEvent $webhookevent, $payload)
|
/**
|
||||||
|
* Deliver event to the webhook_url
|
||||||
|
* make as public function because used also for unit test
|
||||||
|
*
|
||||||
|
* @param Client $httpClient
|
||||||
|
* @param array $thirdPartyApplications
|
||||||
|
* @param WebhookEvent $webhookevent
|
||||||
|
* @param $payload
|
||||||
|
* @return array|void
|
||||||
|
*/
|
||||||
|
public function deliverEvent(Client $httpClient, array $thirdPartyApplications, WebhookEvent $webhookevent, $payload)
|
||||||
{
|
{
|
||||||
if (count($thirdPartyApplications) === 0) {
|
if (count($thirdPartyApplications) === 0) {
|
||||||
$workerMessage = 'No applications defined to listen for webhook events';
|
$workerMessage = 'No applications defined to listen for webhook events';
|
||||||
@@ -142,10 +156,15 @@ class WebhookWorker implements WorkerInterface
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// format event data
|
// add common information data before generating each type of data
|
||||||
if (!isset($payload['delivery_id'])) {
|
if (!isset($payload['delivery_id'])) {
|
||||||
$webhookData = $webhookevent->getData();
|
$webhookData = $webhookevent->getData();
|
||||||
$webhookData['time'] = $webhookevent->getCreated();
|
|
||||||
|
$webhookData['event_time'] = $webhookevent->getCreated();
|
||||||
|
$webhookData['url'] = $this->app['conf']->get(['servername'], '');
|
||||||
|
$webhookData['instance_name'] = $this->app['conf']->get(['registry', 'general', 'title'], '');
|
||||||
|
// a webhook version is also added when processing data
|
||||||
|
|
||||||
$webhookevent->setData($webhookData);
|
$webhookevent->setData($webhookData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -153,6 +172,11 @@ class WebhookWorker implements WorkerInterface
|
|||||||
$eventProcessor = $this->app['webhook.processor_factory']->get($webhookevent);
|
$eventProcessor = $this->app['webhook.processor_factory']->get($webhookevent);
|
||||||
$data = $eventProcessor->process($webhookevent);
|
$data = $eventProcessor->process($webhookevent);
|
||||||
|
|
||||||
|
$record = null;
|
||||||
|
if (isset($data['data']['databox_id']) && isset($data['data']['record_id'])) {
|
||||||
|
$record = $this->findDataboxById($data['data']['databox_id'])->get_record($data['data']['record_id']);
|
||||||
|
}
|
||||||
|
|
||||||
$requests = [];
|
$requests = [];
|
||||||
/** @var ApiApplication $thirdPartyApplication */
|
/** @var ApiApplication $thirdPartyApplication */
|
||||||
foreach ($thirdPartyApplications as $thirdPartyApplication) {
|
foreach ($thirdPartyApplications as $thirdPartyApplication) {
|
||||||
@@ -162,11 +186,25 @@ class WebhookWorker implements WorkerInterface
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$creatorGrantedBaseIds = array_keys($this->app['acl']->get($creator)->get_granted_base());
|
// check if the third-application listen this event
|
||||||
|
// if listenedEvents is empty, third-application can received all webhookevent
|
||||||
|
if (!empty($thirdPartyApplication->getListenedEvents()) && !in_array($webhookevent->getName(), $thirdPartyApplication->getListenedEvents())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @var \ACL $creatorACL */
|
||||||
|
$creatorACL = $this->app['acl']->get($creator);
|
||||||
|
$creatorGrantedBaseIds = array_keys($creatorACL->get_granted_base());
|
||||||
|
|
||||||
$concernedBaseIds = array_intersect($webhookevent->getCollectionBaseIds(), $creatorGrantedBaseIds);
|
$concernedBaseIds = array_intersect($webhookevent->getCollectionBaseIds(), $creatorGrantedBaseIds);
|
||||||
|
|
||||||
if (count($webhookevent->getCollectionBaseIds()) != 0 && count($concernedBaseIds) == 0) {
|
if (!$this->isCreatorHasRight($creator, $concernedBaseIds, $webhookevent)) {
|
||||||
|
continue; // not send, skip
|
||||||
|
}
|
||||||
|
|
||||||
|
// continue iteration if api creator has no access to the record
|
||||||
|
// it 's include the bas access and the record status bit access
|
||||||
|
if ($record !== null && !$creatorACL->has_access_to_record($record)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -300,6 +338,86 @@ class WebhookWorker implements WorkerInterface
|
|||||||
MessagePublisher::WEBHOOK_TYPE
|
MessagePublisher::WEBHOOK_TYPE
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $requests;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function isCreatorHasRight(User $creator, array $baseIds, WebhookEvent $webhookEvent)
|
||||||
|
{
|
||||||
|
/** @var \ACL $creatorACL */
|
||||||
|
$creatorACL = $this->app['acl']->get($creator);
|
||||||
|
|
||||||
|
$checked = false;
|
||||||
|
|
||||||
|
foreach ($baseIds as $baseId) {
|
||||||
|
foreach (WebhookEvent::$eventsAccessRight[$webhookEvent->getName()] as $right) {
|
||||||
|
// if it's a sub array, only one right is required from the sub array
|
||||||
|
if (is_array($right)) {
|
||||||
|
$childChecked = false;
|
||||||
|
foreach ($right as $r) {
|
||||||
|
if (strpos($r, 'bas_') === 0) {
|
||||||
|
// for the sbas right
|
||||||
|
$sbasId = \collection::getByBaseId($this->app, $baseId)->get_databox()->get_sbas_id();
|
||||||
|
if ($creatorACL->has_right_on_sbas($sbasId, $r)) {
|
||||||
|
$childChecked = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (($right === \ACL::ACCESS && $creatorACL->has_access_to_base($baseId)) || $creatorACL->has_right_on_base($baseId, $r)) {
|
||||||
|
$childChecked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!$childChecked) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (strpos($right, 'bas_') === 0) {
|
||||||
|
// for the sbas right
|
||||||
|
$sbasId = \collection::getByBaseId($this->app, $baseId)->get_databox()->get_sbas_id();
|
||||||
|
if (!$creatorACL->has_right_on_sbas($sbasId, $right)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($right === \ACL::ACCESS && !$creatorACL->has_access_to_base($baseId)) {
|
||||||
|
return false;
|
||||||
|
} elseif ($right !== \ACL::ACCESS && !$creatorACL->has_right_on_base($baseId, $right)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$checked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$specificRightOnType = [
|
||||||
|
WebhookEvent::USER_TYPE,
|
||||||
|
WebhookEvent::FEED_ENTRY_TYPE
|
||||||
|
];
|
||||||
|
|
||||||
|
if ($webhookEvent->getType() === WebhookEvent::FEED_ENTRY_TYPE) {
|
||||||
|
$data = $webhookEvent->getData();
|
||||||
|
if (isset($data['entry_id'])) {
|
||||||
|
/** @var FeedEntry $feedEntry */
|
||||||
|
$feedEntry = $this->app['repo.feed-entries']->find($data['entry_id']);
|
||||||
|
if ($feedEntry->getFeed()->isPublisher($creator)) {
|
||||||
|
$checked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// for user created and phantom user deleted
|
||||||
|
if (empty($baseIds) && $webhookEvent->getType() === WebhookEvent::USER_TYPE && empty($webhookEvent->getCollectionBaseIds()) ) {
|
||||||
|
// check if creatorUser has right canadmin in at least one collection
|
||||||
|
if ($creatorACL->has_right(\ACL::CANADMIN)) {
|
||||||
|
$checked = true;
|
||||||
|
}
|
||||||
|
} elseif (empty($baseIds) && empty($webhookEvent->getCollectionBaseIds()) && !in_array($webhookEvent->getType(), $specificRightOnType)) {
|
||||||
|
// in this case, for others type, there is not yet a specific rule defined
|
||||||
|
// so give the right true
|
||||||
|
$checked = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $checked;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getUrl(ApiApplication $application, WebhookEventDelivery $delivery)
|
private function getUrl(ApiApplication $application, WebhookEventDelivery $delivery)
|
||||||
|
@@ -225,6 +225,13 @@ class appbox extends base
|
|||||||
// it is need before applying patches
|
// it is need before applying patches
|
||||||
$advices = $this->upgradeDB(false, $app);
|
$advices = $this->upgradeDB(false, $app);
|
||||||
|
|
||||||
|
// update also the doctrine table schema before applying patch
|
||||||
|
if ($app['orm.em']->getConnection()->getDatabasePlatform()->supportsAlterTable()) {
|
||||||
|
$tool = new SchemaTool($app['orm.em']);
|
||||||
|
$metas = $app['orm.em']->getMetadataFactory()->getAllMetadata();
|
||||||
|
$tool->updateSchema($metas, true);
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($this->get_databoxes() as $s) {
|
foreach ($this->get_databoxes() as $s) {
|
||||||
$advices = array_merge($advices, $s->upgradeDB(false, $app));
|
$advices = array_merge($advices, $s->upgradeDB(false, $app));
|
||||||
}
|
}
|
||||||
@@ -240,12 +247,6 @@ class appbox extends base
|
|||||||
|
|
||||||
$app['phraseanet.cache-service']->flushAll();
|
$app['phraseanet.cache-service']->flushAll();
|
||||||
|
|
||||||
if ($app['orm.em']->getConnection()->getDatabasePlatform()->supportsAlterTable()) {
|
|
||||||
$tool = new SchemaTool($app['orm.em']);
|
|
||||||
$metas = $app['orm.em']->getMetadataFactory()->getAllMetadata();
|
|
||||||
$tool->updateSchema($metas, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (version::lt($from_version, '3.1')) {
|
if (version::lt($from_version, '3.1')) {
|
||||||
$upgrader->addRecommendation($app->trans('Your install requires data migration, please execute the following command'), 'bin/setup system:upgrade-datas --from=3.1');
|
$upgrader->addRecommendation($app->trans('Your install requires data migration, please execute the following command'), 'bin/setup system:upgrade-datas --from=3.1');
|
||||||
} elseif (version::lt($from_version, '3.5')) {
|
} elseif (version::lt($from_version, '3.5')) {
|
||||||
|
108
lib/classes/patch/415PHRAS3555.php
Normal file
108
lib/classes/patch/415PHRAS3555.php
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Alchemy\Phrasea\Application;
|
||||||
|
use Alchemy\Phrasea\Model\Entities\ApiApplication;
|
||||||
|
use Alchemy\Phrasea\Core\Configuration\PropertyAccess;
|
||||||
|
use Doctrine\ORM\EntityManager;
|
||||||
|
|
||||||
|
class patch_415PHRAS3555 implements patchInterface
|
||||||
|
{
|
||||||
|
/** @var string */
|
||||||
|
private $release = '4.1.5';
|
||||||
|
|
||||||
|
/** @var array */
|
||||||
|
private $concern = [base::APPLICATION_BOX, base::DATA_BOX];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function get_release()
|
||||||
|
{
|
||||||
|
return $this->release;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function getDoctrineMigrations()
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function require_all_upgrades()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function concern()
|
||||||
|
{
|
||||||
|
return $this->concern;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function apply(base $base, Application $app)
|
||||||
|
{
|
||||||
|
if ($base->get_base_type() === base::DATA_BOX) {
|
||||||
|
$this->patch_databox($base, $app);
|
||||||
|
}
|
||||||
|
elseif ($base->get_base_type() === base::APPLICATION_BOX) {
|
||||||
|
$this->patch_appbox($base, $app);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function patch_databox(base $databox, Application $app)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
private function patch_appbox(base $databox, Application $app)
|
||||||
|
{
|
||||||
|
/** @var EntityManager $em */
|
||||||
|
$em = $app['orm.em'];
|
||||||
|
|
||||||
|
/** @var PropertyAccess $conf */
|
||||||
|
$conf = $app['conf'];
|
||||||
|
|
||||||
|
$thirdPartyApplications = $app['repo.api-applications']->findAll();
|
||||||
|
$listenedEvents = [
|
||||||
|
'record.subdef.created',
|
||||||
|
'record.subdef.creation_failed',
|
||||||
|
'user.deleted',
|
||||||
|
'user.registration.granted',
|
||||||
|
'user.registration.rejected',
|
||||||
|
'new_feed_entry',
|
||||||
|
'order.created',
|
||||||
|
'order.delivered',
|
||||||
|
'order.denied'
|
||||||
|
];
|
||||||
|
|
||||||
|
/** @var ApiApplication $thirdPartyApplication */
|
||||||
|
foreach ($thirdPartyApplications as $thirdPartyApplication) {
|
||||||
|
$thirdPartyApplication->setListenedEvents($listenedEvents);
|
||||||
|
$em->persist($thirdPartyApplication);
|
||||||
|
|
||||||
|
$creator = $thirdPartyApplication->getCreator();
|
||||||
|
if ($creator != null) {
|
||||||
|
$creator->setGrantedApi(true);
|
||||||
|
|
||||||
|
$em->persist($creator);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
// set worker hearbeat if not exist
|
||||||
|
if (!$conf->has(['workers', 'queue', 'worker-queue', 'heartbeat'])) {
|
||||||
|
$conf->set(['workers', 'queue', 'worker-queue', 'heartbeat'], 60);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -562,6 +562,7 @@ class record_adapter implements RecordInterface, cache_cacheableInterface
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$beforeCollection = $this->getCollection();
|
||||||
$coll_id_from = $this->getCollectionId();
|
$coll_id_from = $this->getCollectionId();
|
||||||
$coll_id_to = $collection->get_coll_id();
|
$coll_id_to = $collection->get_coll_id();
|
||||||
|
|
||||||
@@ -584,7 +585,7 @@ class record_adapter implements RecordInterface, cache_cacheableInterface
|
|||||||
$this->app['phraseanet.logger']($this->getDatabox())
|
$this->app['phraseanet.logger']($this->getDatabox())
|
||||||
->log($this, Session_Logger::EVENT_MOVE, $collection->get_coll_id(), '', $coll_id_from);
|
->log($this, Session_Logger::EVENT_MOVE, $collection->get_coll_id(), '', $coll_id_from);
|
||||||
|
|
||||||
$this->dispatch(RecordEvents::COLLECTION_CHANGED, new CollectionChangedEvent($this));
|
$this->dispatch(RecordEvents::COLLECTION_CHANGED, new CollectionChangedEvent($this, $beforeCollection, $collection));
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
@@ -2440,6 +2441,14 @@ class record_adapter implements RecordInterface, cache_cacheableInterface
|
|||||||
*/
|
*/
|
||||||
public function setStatus($status)
|
public function setStatus($status)
|
||||||
{
|
{
|
||||||
|
$statusBefore['status'] = [];
|
||||||
|
foreach ($this->getStatusStructure() as $bit => $st) {
|
||||||
|
$statusBefore['status'][] = [
|
||||||
|
'bit' => $bit,
|
||||||
|
'state' => \databox_status::bitIsSet($this->getStatusBitField(), $bit),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
$this->getDataboxConnection()->executeUpdate(
|
$this->getDataboxConnection()->executeUpdate(
|
||||||
'UPDATE record SET moddate = NOW(), status = :status WHERE record_id=:record_id',
|
'UPDATE record SET moddate = NOW(), status = :status WHERE record_id=:record_id',
|
||||||
['status' => bindec($status), 'record_id' => $this->getRecordId()]
|
['status' => bindec($status), 'record_id' => $this->getRecordId()]
|
||||||
@@ -2449,7 +2458,15 @@ class record_adapter implements RecordInterface, cache_cacheableInterface
|
|||||||
// modification date is now unknown, delete from cache to reload on another record
|
// modification date is now unknown, delete from cache to reload on another record
|
||||||
$this->delete_data_from_cache();
|
$this->delete_data_from_cache();
|
||||||
|
|
||||||
$this->dispatch(RecordEvents::STATUS_CHANGED, new StatusChangedEvent($this));
|
$newStatus['status'] = [];
|
||||||
|
foreach ($this->getStatusStructure() as $bit => $st) {
|
||||||
|
$newStatus['status'][] = [
|
||||||
|
'bit' => $bit,
|
||||||
|
'state' => \databox_status::bitIsSet($this->getStatusBitField(), $bit),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->dispatch(RecordEvents::STATUS_CHANGED, new StatusChangedEvent($this, $statusBefore, $newStatus));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -1,14 +1,14 @@
|
|||||||
<?xml version='1.0' encoding='utf-8'?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
||||||
<file date="2021-09-24T11:10:19Z" source-language="en" target-language="de" datatype="plaintext" original="not.available">
|
<file date="2021-11-16T13:30:36Z" source-language="en" target-language="de" datatype="plaintext" original="not.available">
|
||||||
<header>
|
<header>
|
||||||
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
||||||
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
||||||
</header>
|
</header>
|
||||||
<body>
|
<body>
|
||||||
<trans-unit id="da39a3ee5e6b4b0d3255bfef95601890afd80709" resname="">
|
<trans-unit id="da39a3ee5e6b4b0d3255bfef95601890afd80709" resname="">
|
||||||
<source/>
|
<source></source>
|
||||||
<target state="new"/>
|
<target state="new"></target>
|
||||||
<jms:reference-file line="51">Form/Configuration/EmailFormType.php</jms:reference-file>
|
<jms:reference-file line="51">Form/Configuration/EmailFormType.php</jms:reference-file>
|
||||||
<jms:reference-file line="64">Form/Login/PhraseaAuthenticationForm.php</jms:reference-file>
|
<jms:reference-file line="64">Form/Login/PhraseaAuthenticationForm.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
<jms:reference-file line="7">Bridge/Dailymotion/element_informations.html.twig</jms:reference-file>
|
<jms:reference-file line="7">Bridge/Dailymotion/element_informations.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="de0804eb70c10b14d71df74292e45c6daa13d672" resname="%number% documents<br/>selectionnes" approved="yes">
|
<trans-unit id="de0804eb70c10b14d71df74292e45c6daa13d672" resname="%number% documents<br/>selectionnes" approved="yes">
|
||||||
<source>%number% documents<br/>selectionnes</source>
|
<source><![CDATA[%number% documents<br/>selectionnes]]></source>
|
||||||
<target state="translated"><![CDATA[%number% Dokumente<br/> ausgewählt]]></target>
|
<target state="translated"><![CDATA[%number% Dokumente<br/> ausgewählt]]></target>
|
||||||
<jms:reference-file line="263">Controller/Prod/QueryController.php</jms:reference-file>
|
<jms:reference-file line="263">Controller/Prod/QueryController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -249,7 +249,7 @@
|
|||||||
<trans-unit id="d7c38bf41291d1f920c6e0b56a1c4a1cfc0b6743" resname="%quantity% selected files" approved="yes">
|
<trans-unit id="d7c38bf41291d1f920c6e0b56a1c4a1cfc0b6743" resname="%quantity% selected files" approved="yes">
|
||||||
<source>%quantity% selected files</source>
|
<source>%quantity% selected files</source>
|
||||||
<target state="translated">%quantity% ausgewählte Dateien</target>
|
<target state="translated">%quantity% ausgewählte Dateien</target>
|
||||||
<jms:reference-file line="111">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="113">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="eae910e840fe7df8ef8211d587e72af74ab69463" resname="%quantity_records% records have been sent for validation to %quantity_users% users" approved="yes">
|
<trans-unit id="eae910e840fe7df8ef8211d587e72af74ab69463" resname="%quantity_records% records have been sent for validation to %quantity_users% users" approved="yes">
|
||||||
<source>%quantity_records% records have been sent for validation to %quantity_users% users</source>
|
<source>%quantity_records% records have been sent for validation to %quantity_users% users</source>
|
||||||
@@ -264,7 +264,7 @@
|
|||||||
<trans-unit id="4d90df6ce9691d4bc172b9129250a5af4bef4b7f" resname="%record_count% records match the unique identifier :" approved="yes">
|
<trans-unit id="4d90df6ce9691d4bc172b9129250a5af4bef4b7f" resname="%record_count% records match the unique identifier :" approved="yes">
|
||||||
<source>%record_count% records match the unique identifier :</source>
|
<source>%record_count% records match the unique identifier :</source>
|
||||||
<target state="translated">%record_count% Datensätze entsprechen dem eindeutigen Bezeichner:</target>
|
<target state="translated">%record_count% Datensätze entsprechen dem eindeutigen Bezeichner:</target>
|
||||||
<jms:reference-file line="590">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="592">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1d847e60f4e92e438c94f0eb3176ce96113c63e5" resname="%s field has been created with success." approved="yes">
|
<trans-unit id="1d847e60f4e92e438c94f0eb3176ce96113c63e5" resname="%s field has been created with success." approved="yes">
|
||||||
<source>%s field has been created with success.</source>
|
<source>%s field has been created with success.</source>
|
||||||
@@ -466,12 +466,12 @@
|
|||||||
<trans-unit id="fa591b39e82a5a47573a9ed70172620c2660596c" resname="A file with the same UUID already exists in database" approved="yes">
|
<trans-unit id="fa591b39e82a5a47573a9ed70172620c2660596c" resname="A file with the same UUID already exists in database" approved="yes">
|
||||||
<source>A file with the same UUID already exists in database</source>
|
<source>A file with the same UUID already exists in database</source>
|
||||||
<target state="translated">Eine Datei mit ähnlichen UUID ist schon in der Datenbank</target>
|
<target state="translated">Eine Datei mit ähnlichen UUID ist schon in der Datenbank</target>
|
||||||
<jms:reference-file line="95">Border/Checker/UUID.php</jms:reference-file>
|
<jms:reference-file line="84">Border/Checker/UUID.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3111a4c2d6a675604d8bed8fe7ac2d7ec859bca2" resname="A file with the same checksum already exists in database" approved="yes">
|
<trans-unit id="3111a4c2d6a675604d8bed8fe7ac2d7ec859bca2" resname="A file with the same checksum already exists in database" approved="yes">
|
||||||
<source>A file with the same checksum already exists in database</source>
|
<source>A file with the same checksum already exists in database</source>
|
||||||
<target state="translated">Eine Datei mit selber Checksumme ist schon in der Datenbank</target>
|
<target state="translated">Eine Datei mit selber Checksumme ist schon in der Datenbank</target>
|
||||||
<jms:reference-file line="85">Border/Checker/Sha256.php</jms:reference-file>
|
<jms:reference-file line="77">Border/Checker/Sha256.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="aee62b552774745bfc7778349545413b39c33a9a" resname="A file with the same filename already exists in database" approved="yes">
|
<trans-unit id="aee62b552774745bfc7778349545413b39c33a9a" resname="A file with the same filename already exists in database" approved="yes">
|
||||||
<source>A file with the same filename already exists in database</source>
|
<source>A file with the same filename already exists in database</source>
|
||||||
@@ -481,7 +481,7 @@
|
|||||||
<trans-unit id="e6558cad562de9eeae699e5f7fc7c8ae076d38c8" resname="A record matches the unique identifier :" approved="yes">
|
<trans-unit id="e6558cad562de9eeae699e5f7fc7c8ae076d38c8" resname="A record matches the unique identifier :" approved="yes">
|
||||||
<source>A record matches the unique identifier :</source>
|
<source>A record matches the unique identifier :</source>
|
||||||
<target state="translated">Ein Datensatz entspricht dem eindeutigen Bezeichner :</target>
|
<target state="translated">Ein Datensatz entspricht dem eindeutigen Bezeichner :</target>
|
||||||
<jms:reference-file line="588">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="590">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="b73e8cb42d796f56db9989972e41942d9135c2cc" resname="A required field is missing or has an empty value" approved="yes">
|
<trans-unit id="b73e8cb42d796f56db9989972e41942d9135c2cc" resname="A required field is missing or has an empty value" approved="yes">
|
||||||
<source>A required field is missing or has an empty value</source>
|
<source>A required field is missing or has an empty value</source>
|
||||||
@@ -670,8 +670,8 @@
|
|||||||
<target state="translated">Hinzufügen</target>
|
<target state="translated">Hinzufügen</target>
|
||||||
<jms:reference-file line="29">prod/User/Add.html.twig</jms:reference-file>
|
<jms:reference-file line="29">prod/User/Add.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="161">prod/actions/Push.html.twig</jms:reference-file>
|
<jms:reference-file line="161">prod/actions/Push.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="514">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="516">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="515">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="517">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="983c5aed52d2f74bf36e97dc34dbce97fdd43f5b" resname="Add a new field" approved="yes">
|
<trans-unit id="983c5aed52d2f74bf36e97dc34dbce97fdd43f5b" resname="Add a new field" approved="yes">
|
||||||
<source>Add a new field</source>
|
<source>Add a new field</source>
|
||||||
@@ -970,7 +970,7 @@
|
|||||||
<source>An error occured</source>
|
<source>An error occured</source>
|
||||||
<target state="translated">Ein Fehler ist aufgetreten</target>
|
<target state="translated">Ein Fehler ist aufgetreten</target>
|
||||||
<jms:reference-file line="120">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="120">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="285">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="245">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="164">Controller/Prod/MoveCollectionController.php</jms:reference-file>
|
<jms:reference-file line="164">Controller/Prod/MoveCollectionController.php</jms:reference-file>
|
||||||
<jms:reference-file line="257">Controller/Prod/LazaretController.php</jms:reference-file>
|
<jms:reference-file line="257">Controller/Prod/LazaretController.php</jms:reference-file>
|
||||||
<jms:reference-file line="262">Controller/Prod/BasketController.php</jms:reference-file>
|
<jms:reference-file line="262">Controller/Prod/BasketController.php</jms:reference-file>
|
||||||
@@ -1595,7 +1595,7 @@
|
|||||||
<trans-unit id="ae1f9ef7dc1cee4760e7f208f36c225e3ab1aa1f" resname="Cancel all" approved="yes">
|
<trans-unit id="ae1f9ef7dc1cee4760e7f208f36c225e3ab1aa1f" resname="Cancel all" approved="yes">
|
||||||
<source>Cancel all</source>
|
<source>Cancel all</source>
|
||||||
<target state="translated">Alle abbrechen</target>
|
<target state="translated">Alle abbrechen</target>
|
||||||
<jms:reference-file line="131">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="133">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="121">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="121">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="82695f04e6097106923a58949a9e1b0fadd1a989" resname="Cannot upload Zero Byte files" approved="yes">
|
<trans-unit id="82695f04e6097106923a58949a9e1b0fadd1a989" resname="Cannot upload Zero Byte files" approved="yes">
|
||||||
@@ -1791,7 +1791,7 @@
|
|||||||
<trans-unit id="7135ee5eaed0e404c4fcf48d6eb7d2808f8e55f2" resname="Clear list" approved="yes">
|
<trans-unit id="7135ee5eaed0e404c4fcf48d6eb7d2808f8e55f2" resname="Clear list" approved="yes">
|
||||||
<source>Clear list</source>
|
<source>Clear list</source>
|
||||||
<target state="translated">Liste löschen</target>
|
<target state="translated">Liste löschen</target>
|
||||||
<jms:reference-file line="112">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="114">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="109">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="109">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="0fcdb8c5215c8bd73769c3492e47d86ec3f6837e" resname="Client application" approved="yes">
|
<trans-unit id="0fcdb8c5215c8bd73769c3492e47d86ec3f6837e" resname="Client application" approved="yes">
|
||||||
@@ -2382,8 +2382,8 @@
|
|||||||
<trans-unit id="f6fdbe48dc54dd86f63097a03bd24094dedd713a" resname="Delete" approved="yes">
|
<trans-unit id="f6fdbe48dc54dd86f63097a03bd24094dedd713a" resname="Delete" approved="yes">
|
||||||
<source>Delete</source>
|
<source>Delete</source>
|
||||||
<target state="translated">Löschen</target>
|
<target state="translated">Löschen</target>
|
||||||
<jms:reference-file line="517">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="519">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="518">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="520">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="25">admin/task-manager/templates.html.twig</jms:reference-file>
|
<jms:reference-file line="25">admin/task-manager/templates.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1b5737dea168495fa0495e00ce58b4832772a492" resname="Delete account successfull" approved="yes">
|
<trans-unit id="1b5737dea168495fa0495e00ce58b4832772a492" resname="Delete account successfull" approved="yes">
|
||||||
@@ -2455,7 +2455,7 @@
|
|||||||
<trans-unit id="dcce9368ad626fe4addfa719b7a16807d464aa9b" resname="Derniers envois" approved="yes">
|
<trans-unit id="dcce9368ad626fe4addfa719b7a16807d464aa9b" resname="Derniers envois" approved="yes">
|
||||||
<source>Derniers envois</source>
|
<source>Derniers envois</source>
|
||||||
<target state="translated">Letzte Sendungen</target>
|
<target state="translated">Letzte Sendungen</target>
|
||||||
<jms:reference-file line="126">web/developers/application.html.twig</jms:reference-file>
|
<jms:reference-file line="165">web/developers/application.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="ec52b98c45f63139a4bee23fa7d177838f2b3628" resname="Des difficultes ont ete rencontres a la connection au serveur distant" approved="yes">
|
<trans-unit id="ec52b98c45f63139a4bee23fa7d177838f2b3628" resname="Des difficultes ont ete rencontres a la connection au serveur distant" approved="yes">
|
||||||
<source>Des difficultes ont ete rencontres a la connection au serveur distant</source>
|
<source>Des difficultes ont ete rencontres a la connection au serveur distant</source>
|
||||||
@@ -2534,7 +2534,7 @@
|
|||||||
<jms:reference-file line="68">Form/Configuration/ActionsFormType.php</jms:reference-file>
|
<jms:reference-file line="68">Form/Configuration/ActionsFormType.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="fa9fd169cd55f0433c6e7a4b5d758f90d0847411" resname="Display & action settings" approved="yes">
|
<trans-unit id="fa9fd169cd55f0433c6e7a4b5d758f90d0847411" resname="Display & action settings" approved="yes">
|
||||||
<source>Display & action settings</source>
|
<source><![CDATA[Display & action settings]]></source>
|
||||||
<target state="translated">Anzeige und Handlung-Einstellungen</target>
|
<target state="translated">Anzeige und Handlung-Einstellungen</target>
|
||||||
<jms:reference-file line="152">admin/fields/templates.html.twig</jms:reference-file>
|
<jms:reference-file line="152">admin/fields/templates.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -3283,8 +3283,8 @@
|
|||||||
<source>File is not present in quarantine anymore, please refresh</source>
|
<source>File is not present in quarantine anymore, please refresh</source>
|
||||||
<target state="translated">Datei befindet sich nicht mehr in der Quarantäne, bitte aktualisieren</target>
|
<target state="translated">Datei befindet sich nicht mehr in der Quarantäne, bitte aktualisieren</target>
|
||||||
<jms:reference-file line="56">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="56">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="140">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="136">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="170">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="157">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="78">Controller/Prod/LazaretController.php</jms:reference-file>
|
<jms:reference-file line="78">Controller/Prod/LazaretController.php</jms:reference-file>
|
||||||
<jms:reference-file line="207">Controller/Prod/LazaretController.php</jms:reference-file>
|
<jms:reference-file line="207">Controller/Prod/LazaretController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -5922,7 +5922,7 @@
|
|||||||
<trans-unit id="1d72d3b024f99631791dcfbc8288caa16d3ff388" resname="Résultats des derniers envois effectués pour cette application" approved="yes">
|
<trans-unit id="1d72d3b024f99631791dcfbc8288caa16d3ff388" resname="Résultats des derniers envois effectués pour cette application" approved="yes">
|
||||||
<source>Résultats des derniers envois effectués pour cette application</source>
|
<source>Résultats des derniers envois effectués pour cette application</source>
|
||||||
<target state="translated">Ergebnisse der letzten gesendeten Nachrichten für diese Anwendung</target>
|
<target state="translated">Ergebnisse der letzten gesendeten Nachrichten für diese Anwendung</target>
|
||||||
<jms:reference-file line="127">web/developers/application.html.twig</jms:reference-file>
|
<jms:reference-file line="166">web/developers/application.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="741cd64a01685389e2fabdb7091a3b70f6be63ee" resname="SMTP encryption" approved="yes">
|
<trans-unit id="741cd64a01685389e2fabdb7091a3b70f6be63ee" resname="SMTP encryption" approved="yes">
|
||||||
<source>SMTP encryption</source>
|
<source>SMTP encryption</source>
|
||||||
@@ -6113,7 +6113,7 @@
|
|||||||
<jms:reference-file line="46">web/login/forgot-password.html.twig</jms:reference-file>
|
<jms:reference-file line="46">web/login/forgot-password.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="330">prod/actions/Push.html.twig</jms:reference-file>
|
<jms:reference-file line="330">prod/actions/Push.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="332">prod/actions/Push.html.twig</jms:reference-file>
|
<jms:reference-file line="332">prod/actions/Push.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="113">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="115">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="110">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="110">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="185">prod/orders/order_item.html.twig</jms:reference-file>
|
<jms:reference-file line="185">prod/orders/order_item.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="220">prod/orders/order_item.html.twig</jms:reference-file>
|
<jms:reference-file line="220">prod/orders/order_item.html.twig</jms:reference-file>
|
||||||
@@ -6472,8 +6472,8 @@
|
|||||||
<trans-unit id="8017bd7de9961cf42f59abc587d0495a9d25c2a9" resname="Substitute" approved="yes">
|
<trans-unit id="8017bd7de9961cf42f59abc587d0495a9d25c2a9" resname="Substitute" approved="yes">
|
||||||
<source>Substitute</source>
|
<source>Substitute</source>
|
||||||
<target state="translated">Ersetzung</target>
|
<target state="translated">Ersetzung</target>
|
||||||
<jms:reference-file line="521">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="523">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="522">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="524">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3d48a1d66362cef46e567ddf521b0dc3233f57a2" resname="Substitution is not possible for this kind of record" approved="yes">
|
<trans-unit id="3d48a1d66362cef46e567ddf521b0dc3233f57a2" resname="Substitution is not possible for this kind of record" approved="yes">
|
||||||
<source>Substitution is not possible for this kind of record</source>
|
<source>Substitution is not possible for this kind of record</source>
|
||||||
@@ -6745,7 +6745,7 @@
|
|||||||
<trans-unit id="1d5dadcdeeecd294a88baf096ba0440053ecf738" resname="The file was moved to the quarantine" approved="yes">
|
<trans-unit id="1d5dadcdeeecd294a88baf096ba0440053ecf738" resname="The file was moved to the quarantine" approved="yes">
|
||||||
<source>The file was moved to the quarantine</source>
|
<source>The file was moved to the quarantine</source>
|
||||||
<target state="translated">Datei wurde unter Quarantäne gestellt</target>
|
<target state="translated">Datei wurde unter Quarantäne gestellt</target>
|
||||||
<jms:reference-file line="338">Controller/Prod/UploadController.php</jms:reference-file>
|
<jms:reference-file line="283">Controller/Prod/UploadController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1818502d42e14ffcb9c664fd1365fafa969971ff" resname="The following errors have been detected" approved="yes">
|
<trans-unit id="1818502d42e14ffcb9c664fd1365fafa969971ff" resname="The following errors have been detected" approved="yes">
|
||||||
<source>The following errors have been detected</source>
|
<source>The following errors have been detected</source>
|
||||||
@@ -6761,7 +6761,7 @@
|
|||||||
<trans-unit id="bae1c72ecbe1459751e4a0fee382a305bbf933b7" resname="The record was successfully created" approved="yes">
|
<trans-unit id="bae1c72ecbe1459751e4a0fee382a305bbf933b7" resname="The record was successfully created" approved="yes">
|
||||||
<source>The record was successfully created</source>
|
<source>The record was successfully created</source>
|
||||||
<target state="translated">Datensatz wurde erfolgreich erstellt</target>
|
<target state="translated">Datensatz wurde erfolgreich erstellt</target>
|
||||||
<jms:reference-file line="292">Controller/Prod/UploadController.php</jms:reference-file>
|
<jms:reference-file line="253">Controller/Prod/UploadController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="209817489c23cec8b7a15f6b8ca3e45daf08656d" resname="The records have been properly ordered" approved="yes">
|
<trans-unit id="209817489c23cec8b7a15f6b8ca3e45daf08656d" resname="The records have been properly ordered" approved="yes">
|
||||||
<source>The records have been properly ordered</source>
|
<source>The records have been properly ordered</source>
|
||||||
@@ -6996,7 +6996,7 @@
|
|||||||
<trans-unit id="9764c016bb5a296069109116fa95c49815dcba82" resname="Transmited files" approved="yes">
|
<trans-unit id="9764c016bb5a296069109116fa95c49815dcba82" resname="Transmited files" approved="yes">
|
||||||
<source>Transmited files</source>
|
<source>Transmited files</source>
|
||||||
<target state="translated">Übermittelte Dateien</target>
|
<target state="translated">Übermittelte Dateien</target>
|
||||||
<jms:reference-file line="122">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="124">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="118">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="118">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6e764776541fbe428a3566f42ee7956312af98b7" resname="Trier par" approved="yes">
|
<trans-unit id="6e764776541fbe428a3566f42ee7956312af98b7" resname="Trier par" approved="yes">
|
||||||
@@ -7058,7 +7058,7 @@
|
|||||||
<trans-unit id="d32751443628a0d2c5b31b441c1e2b3001f35dfd" resname="Unable to add file to Phraseanet" approved="yes">
|
<trans-unit id="d32751443628a0d2c5b31b441c1e2b3001f35dfd" resname="Unable to add file to Phraseanet" approved="yes">
|
||||||
<source>Unable to add file to Phraseanet</source>
|
<source>Unable to add file to Phraseanet</source>
|
||||||
<target state="translated">Unmöglich, Datei zu Phraseanet hinzuzufügen</target>
|
<target state="translated">Unmöglich, Datei zu Phraseanet hinzuzufügen</target>
|
||||||
<jms:reference-file line="350">Controller/Prod/UploadController.php</jms:reference-file>
|
<jms:reference-file line="295">Controller/Prod/UploadController.php</jms:reference-file>
|
||||||
<jms:reference-file line="195">Controller/Admin/FeedController.php</jms:reference-file>
|
<jms:reference-file line="195">Controller/Admin/FeedController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8b233593eb66b5be4da2f44ff527bd641b3a6fc1" resname="Unable to add usr to list" approved="yes">
|
<trans-unit id="8b233593eb66b5be4da2f44ff527bd641b3a6fc1" resname="Unable to add usr to list" approved="yes">
|
||||||
@@ -7848,7 +7848,7 @@
|
|||||||
<trans-unit id="4a67615bcd64fcc9443c499676a462d835ad841e" resname="You can not upload files" approved="yes">
|
<trans-unit id="4a67615bcd64fcc9443c499676a462d835ad841e" resname="You can not upload files" approved="yes">
|
||||||
<source>You can not upload files</source>
|
<source>You can not upload files</source>
|
||||||
<target state="translated">Sie dürfen Dateien nicht hochladen</target>
|
<target state="translated">Sie dürfen Dateien nicht hochladen</target>
|
||||||
<jms:reference-file line="144">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="146">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="102">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="102">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4faca55769348dcbc9714b19438181057aa2510e" resname="You do not enough rights to update status" approved="yes">
|
<trans-unit id="4faca55769348dcbc9714b19438181057aa2510e" resname="You do not enough rights to update status" approved="yes">
|
||||||
@@ -9988,7 +9988,7 @@
|
|||||||
<trans-unit id="e0af1d0d7872c48928d4faef76c45567426e62f9" resname="boutton::retour" approved="yes">
|
<trans-unit id="e0af1d0d7872c48928d4faef76c45567426e62f9" resname="boutton::retour" approved="yes">
|
||||||
<source>boutton::retour</source>
|
<source>boutton::retour</source>
|
||||||
<target state="translated">Zurück</target>
|
<target state="translated">Zurück</target>
|
||||||
<jms:reference-file line="154">web/developers/application.html.twig</jms:reference-file>
|
<jms:reference-file line="193">web/developers/application.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="116">web/developers/application_form.html.twig</jms:reference-file>
|
<jms:reference-file line="116">web/developers/application_form.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="20">Bridge/Flickr/photo_deleteelement.html.twig</jms:reference-file>
|
<jms:reference-file line="20">Bridge/Flickr/photo_deleteelement.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="20">Bridge/Flickr/photoset_deleteelement.html.twig</jms:reference-file>
|
<jms:reference-file line="20">Bridge/Flickr/photoset_deleteelement.html.twig</jms:reference-file>
|
||||||
@@ -10345,6 +10345,101 @@
|
|||||||
<target state="translated">absteigend</target>
|
<target state="translated">absteigend</target>
|
||||||
<jms:reference-file line="184">SearchEngine/Elastic/ElasticSearchEngine.php</jms:reference-file>
|
<jms:reference-file line="184">SearchEngine/Elastic/ElasticSearchEngine.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="8e82b164f61602c25d57b485ed09c7a59a8e0919" resname="developers:: Events name">
|
||||||
|
<source>developers:: Events name</source>
|
||||||
|
<target state="new">developers:: Events name</target>
|
||||||
|
<jms:reference-file line="134">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="f717955140c0a034f0e08cfc1416b8443e86cbb5" resname="developers:: Events trigger this webhook">
|
||||||
|
<source>developers:: Events trigger this webhook</source>
|
||||||
|
<target state="new">developers:: Events trigger this webhook</target>
|
||||||
|
<jms:reference-file line="125">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="3a425cde38ee310e52988e9e9970f1c8dd376c13" resname="developers:: Events type">
|
||||||
|
<source>developers:: Events type</source>
|
||||||
|
<target state="new">developers:: Events type</target>
|
||||||
|
<jms:reference-file line="131">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="0b3e5bbe37fa58fc7ce4682309017ffcebe95a23" resname="developers:: Select events to trigger this webhook url">
|
||||||
|
<source>developers:: Select events to trigger this webhook url</source>
|
||||||
|
<target state="new">developers:: Select events to trigger this webhook url</target>
|
||||||
|
<jms:reference-file line="126">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="bffa41c7a64fc38e50153ea0f6f7c2368b008028" resname="developers:: a order delivered">
|
||||||
|
<source>developers:: a order delivered</source>
|
||||||
|
<target state="new">developers:: a order delivered</target>
|
||||||
|
<jms:reference-file line="372">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="9b74fc2656c9e78eec665260f31b446edf548932" resname="developers:: a order denied">
|
||||||
|
<source>developers:: a order denied</source>
|
||||||
|
<target state="new">developers:: a order denied</target>
|
||||||
|
<jms:reference-file line="373">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="c2d24cc69b826a71661c25cbd5291cdaaf95208c" resname="developers:: collection changed for record">
|
||||||
|
<source>developers:: collection changed for record</source>
|
||||||
|
<target state="new">developers:: collection changed for record</target>
|
||||||
|
<jms:reference-file line="353">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="1066a8925f76bd4aadebd7ec114b0ff771ab05ed" resname="developers:: media substituted for record">
|
||||||
|
<source>developers:: media substituted for record</source>
|
||||||
|
<target state="new">developers:: media substituted for record</target>
|
||||||
|
<jms:reference-file line="352">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="ab1c856fecf799bb87498cb26ea74b3db85b4f0b" resname="developers:: new feed entry on phraseanet">
|
||||||
|
<source>developers:: new feed entry on phraseanet</source>
|
||||||
|
<target state="new">developers:: new feed entry on phraseanet</target>
|
||||||
|
<jms:reference-file line="368">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="92259dc5125d969b7ba7fb1af0afd121147d1839" resname="developers:: new order created">
|
||||||
|
<source>developers:: new order created</source>
|
||||||
|
<target state="new">developers:: new order created</target>
|
||||||
|
<jms:reference-file line="371">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="4d09e2ac8748c5ea4bb66d3cd247941f99478125" resname="developers:: record or story created">
|
||||||
|
<source>developers:: record or story created</source>
|
||||||
|
<target state="new">developers:: record or story created</target>
|
||||||
|
<jms:reference-file line="349">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="1f036a4965ecb781192393a08a5aa0510a94524c" resname="developers:: record or story deleted">
|
||||||
|
<source>developers:: record or story deleted</source>
|
||||||
|
<target state="new">developers:: record or story deleted</target>
|
||||||
|
<jms:reference-file line="351">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="98121e43abc2802cfec12de894e041f54d7c9b2c" resname="developers:: record or story edited">
|
||||||
|
<source>developers:: record or story edited</source>
|
||||||
|
<target state="new">developers:: record or story edited</target>
|
||||||
|
<jms:reference-file line="350">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="7479330e0d56c8b37e71013043acecd329ce5f08" resname="developers:: status changed for record">
|
||||||
|
<source>developers:: status changed for record</source>
|
||||||
|
<target state="new">developers:: status changed for record</target>
|
||||||
|
<jms:reference-file line="354">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="db026e337fa7eeba8352e87ca00a28e19c854453" resname="developers:: subdef created for a record">
|
||||||
|
<source>developers:: subdef created for a record</source>
|
||||||
|
<target state="new">developers:: subdef created for a record</target>
|
||||||
|
<jms:reference-file line="357">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="18fc15413169b19baf33adc2572d53a76b86f1f5" resname="developers:: subdef creation failed for a record">
|
||||||
|
<source>developers:: subdef creation failed for a record</source>
|
||||||
|
<target state="new">developers:: subdef creation failed for a record</target>
|
||||||
|
<jms:reference-file line="358">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="e59d8fc44e34b786247fa5924eeb12a4a1202215" resname="developers:: user deleted on phraseanet">
|
||||||
|
<source>developers:: user deleted on phraseanet</source>
|
||||||
|
<target state="new">developers:: user deleted on phraseanet</target>
|
||||||
|
<jms:reference-file line="361">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="13577491a21410883cb7990ce9fdd481fca5c58b" resname="developers:: user registration granted on phraseanet">
|
||||||
|
<source>developers:: user registration granted on phraseanet</source>
|
||||||
|
<target state="new">developers:: user registration granted on phraseanet</target>
|
||||||
|
<jms:reference-file line="364">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="b7786ecdfe826e6f347dbf643191d79a196c6057" resname="developers:: user registration rejected on phraseanet">
|
||||||
|
<source>developers:: user registration rejected on phraseanet</source>
|
||||||
|
<target state="new">developers:: user registration rejected on phraseanet</target>
|
||||||
|
<jms:reference-file line="365">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="55a2ad6e3d1c02d871104d64fb811f08c54bd1b9" resname="do you want to validate" approved="yes">
|
<trans-unit id="55a2ad6e3d1c02d871104d64fb811f08c54bd1b9" resname="do you want to validate" approved="yes">
|
||||||
<source>do you want to validate</source>
|
<source>do you want to validate</source>
|
||||||
<target state="translated">Möchten Sie bestätigen?</target>
|
<target state="translated">Möchten Sie bestätigen?</target>
|
||||||
@@ -11720,7 +11815,7 @@
|
|||||||
<jms:reference-file line="564">Controller/Root/AccountController.php</jms:reference-file>
|
<jms:reference-file line="564">Controller/Root/AccountController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="bf7028b694aea3fc9ede5014a9f8b5d617b83b6f" resname="phraseanet::account: << your account can be deleted via admin interface >> " approved="yes">
|
<trans-unit id="bf7028b694aea3fc9ede5014a9f8b5d617b83b6f" resname="phraseanet::account: << your account can be deleted via admin interface >> " approved="yes">
|
||||||
<source>phraseanet::account: << your account can be deleted via admin interface >></source>
|
<source><![CDATA[phraseanet::account: << your account can be deleted via admin interface >>]]></source>
|
||||||
<target state="translated">Ihr Benutzerkonto kann nur durch die Administration Anwendung gelöscht werden.</target>
|
<target state="translated">Ihr Benutzerkonto kann nur durch die Administration Anwendung gelöscht werden.</target>
|
||||||
<jms:reference-file line="289">web/account/account.html.twig</jms:reference-file>
|
<jms:reference-file line="289">web/account/account.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -13864,12 +13959,12 @@ Vorsicht: die aktuelle Werte werden durch die neue Werte überschrieben</target>
|
|||||||
<trans-unit id="ae34347293abc9a106150c8db2b2a3b1b7739c0b" resname="same UUID" approved="yes">
|
<trans-unit id="ae34347293abc9a106150c8db2b2a3b1b7739c0b" resname="same UUID" approved="yes">
|
||||||
<source>same UUID</source>
|
<source>same UUID</source>
|
||||||
<target state="translated">dieselbe UUID</target>
|
<target state="translated">dieselbe UUID</target>
|
||||||
<jms:reference-file line="87">Border/Checker/UUID.php</jms:reference-file>
|
<jms:reference-file line="76">Border/Checker/UUID.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="9efb800c6df15d107be9c0aeb19e2d218ebfe135" resname="same checksum" approved="yes">
|
<trans-unit id="9efb800c6df15d107be9c0aeb19e2d218ebfe135" resname="same checksum" approved="yes">
|
||||||
<source>same checksum</source>
|
<source>same checksum</source>
|
||||||
<target state="translated">gleiche Prüfsumme</target>
|
<target state="translated">gleiche Prüfsumme</target>
|
||||||
<jms:reference-file line="77">Border/Checker/Sha256.php</jms:reference-file>
|
<jms:reference-file line="69">Border/Checker/Sha256.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="99e3a652745118f0d3c79e13d81168544afe2b77" resname="same filename" approved="yes">
|
<trans-unit id="99e3a652745118f0d3c79e13d81168544afe2b77" resname="same filename" approved="yes">
|
||||||
<source>same filename</source>
|
<source>same filename</source>
|
||||||
@@ -14349,7 +14444,7 @@ Vorsicht: die aktuelle Werte werden durch die neue Werte überschrieben</target>
|
|||||||
<jms:reference-file line="1338">web/thesaurus/thesaurus.html.twig</jms:reference-file>
|
<jms:reference-file line="1338">web/thesaurus/thesaurus.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="33df70d7fa528a31071e11d1b987b49dc947ce16" resname="thesaurus:: Supprimer cette branche ?&#10;(les termes concernes remonteront en candidats a la prochaine indexation)" approved="yes">
|
<trans-unit id="33df70d7fa528a31071e11d1b987b49dc947ce16" resname="thesaurus:: Supprimer cette branche ?&#10;(les termes concernes remonteront en candidats a la prochaine indexation)" approved="yes">
|
||||||
<source>thesaurus:: Supprimer cette branche ?&#10;(les termes concernes remonteront en candidats a la prochaine indexation)</source>
|
<source><![CDATA[thesaurus:: Supprimer cette branche ? (les termes concernes remonteront en candidats a la prochaine indexation)]]></source>
|
||||||
<target state="translated"><![CDATA[Diese Verzweigung löschen? (die betroffenende Begriffe werden als mögliche Begriffe beim nächsten Indexierung erscheinen)]]></target>
|
<target state="translated"><![CDATA[Diese Verzweigung löschen? (die betroffenende Begriffe werden als mögliche Begriffe beim nächsten Indexierung erscheinen)]]></target>
|
||||||
<jms:reference-file line="542">web/thesaurus/thesaurus.html.twig</jms:reference-file>
|
<jms:reference-file line="542">web/thesaurus/thesaurus.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -14927,9 +15022,9 @@ Vorsicht: die aktuelle Werte werden durch die neue Werte überschrieben</target>
|
|||||||
<trans-unit id="39e4890a2d75f483b1cb2131b2d19f8cf96a502b" resname="upload:: Status :" approved="yes">
|
<trans-unit id="39e4890a2d75f483b1cb2131b2d19f8cf96a502b" resname="upload:: Status :" approved="yes">
|
||||||
<source>upload:: Status :</source>
|
<source>upload:: Status :</source>
|
||||||
<target state="translated">Status</target>
|
<target state="translated">Status</target>
|
||||||
<jms:reference-file line="80">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="81">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="75">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="75">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="462">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="463">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4fea0574cc81b5fd40ab0537b0905cc4c3806039" resname="users rights have been reseted" approved="yes">
|
<trans-unit id="4fea0574cc81b5fd40ab0537b0905cc4c3806039" resname="users rights have been reseted" approved="yes">
|
||||||
<source>users rights have been reseted</source>
|
<source>users rights have been reseted</source>
|
||||||
|
@@ -1,14 +1,14 @@
|
|||||||
<?xml version='1.0' encoding='utf-8'?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
||||||
<file date="2021-09-24T11:10:36Z" source-language="en" target-language="en" datatype="plaintext" original="not.available">
|
<file date="2021-11-16T13:30:52Z" source-language="en" target-language="en" datatype="plaintext" original="not.available">
|
||||||
<header>
|
<header>
|
||||||
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
||||||
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
||||||
</header>
|
</header>
|
||||||
<body>
|
<body>
|
||||||
<trans-unit id="da39a3ee5e6b4b0d3255bfef95601890afd80709" resname="">
|
<trans-unit id="da39a3ee5e6b4b0d3255bfef95601890afd80709" resname="">
|
||||||
<source/>
|
<source></source>
|
||||||
<target state="new"/>
|
<target state="new"></target>
|
||||||
<jms:reference-file line="51">Form/Configuration/EmailFormType.php</jms:reference-file>
|
<jms:reference-file line="51">Form/Configuration/EmailFormType.php</jms:reference-file>
|
||||||
<jms:reference-file line="64">Form/Login/PhraseaAuthenticationForm.php</jms:reference-file>
|
<jms:reference-file line="64">Form/Login/PhraseaAuthenticationForm.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
<jms:reference-file line="7">Bridge/Dailymotion/element_informations.html.twig</jms:reference-file>
|
<jms:reference-file line="7">Bridge/Dailymotion/element_informations.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="de0804eb70c10b14d71df74292e45c6daa13d672" resname="%number% documents<br/>selectionnes" approved="yes">
|
<trans-unit id="de0804eb70c10b14d71df74292e45c6daa13d672" resname="%number% documents<br/>selectionnes" approved="yes">
|
||||||
<source>%number% documents<br/>selectionnes</source>
|
<source><![CDATA[%number% documents<br/>selectionnes]]></source>
|
||||||
<target state="translated"><![CDATA[%number% documents<br/>selected]]></target>
|
<target state="translated"><![CDATA[%number% documents<br/>selected]]></target>
|
||||||
<jms:reference-file line="263">Controller/Prod/QueryController.php</jms:reference-file>
|
<jms:reference-file line="263">Controller/Prod/QueryController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -249,7 +249,7 @@
|
|||||||
<trans-unit id="d7c38bf41291d1f920c6e0b56a1c4a1cfc0b6743" resname="%quantity% selected files" approved="yes">
|
<trans-unit id="d7c38bf41291d1f920c6e0b56a1c4a1cfc0b6743" resname="%quantity% selected files" approved="yes">
|
||||||
<source>%quantity% selected files</source>
|
<source>%quantity% selected files</source>
|
||||||
<target state="translated">%quantity% selected files</target>
|
<target state="translated">%quantity% selected files</target>
|
||||||
<jms:reference-file line="111">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="113">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="eae910e840fe7df8ef8211d587e72af74ab69463" resname="%quantity_records% records have been sent for validation to %quantity_users% users" approved="yes">
|
<trans-unit id="eae910e840fe7df8ef8211d587e72af74ab69463" resname="%quantity_records% records have been sent for validation to %quantity_users% users" approved="yes">
|
||||||
<source>%quantity_records% records have been sent for validation to %quantity_users% users</source>
|
<source>%quantity_records% records have been sent for validation to %quantity_users% users</source>
|
||||||
@@ -264,7 +264,7 @@
|
|||||||
<trans-unit id="4d90df6ce9691d4bc172b9129250a5af4bef4b7f" resname="%record_count% records match the unique identifier :" approved="yes">
|
<trans-unit id="4d90df6ce9691d4bc172b9129250a5af4bef4b7f" resname="%record_count% records match the unique identifier :" approved="yes">
|
||||||
<source>%record_count% records match the unique identifier :</source>
|
<source>%record_count% records match the unique identifier :</source>
|
||||||
<target state="translated">%record_count% records match the unique identifier:</target>
|
<target state="translated">%record_count% records match the unique identifier:</target>
|
||||||
<jms:reference-file line="590">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="592">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1d847e60f4e92e438c94f0eb3176ce96113c63e5" resname="%s field has been created with success." approved="yes">
|
<trans-unit id="1d847e60f4e92e438c94f0eb3176ce96113c63e5" resname="%s field has been created with success." approved="yes">
|
||||||
<source>%s field has been created with success.</source>
|
<source>%s field has been created with success.</source>
|
||||||
@@ -466,12 +466,12 @@
|
|||||||
<trans-unit id="fa591b39e82a5a47573a9ed70172620c2660596c" resname="A file with the same UUID already exists in database" approved="yes">
|
<trans-unit id="fa591b39e82a5a47573a9ed70172620c2660596c" resname="A file with the same UUID already exists in database" approved="yes">
|
||||||
<source>A file with the same UUID already exists in database</source>
|
<source>A file with the same UUID already exists in database</source>
|
||||||
<target state="translated">A file with the same UUID already exists in the database</target>
|
<target state="translated">A file with the same UUID already exists in the database</target>
|
||||||
<jms:reference-file line="95">Border/Checker/UUID.php</jms:reference-file>
|
<jms:reference-file line="84">Border/Checker/UUID.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3111a4c2d6a675604d8bed8fe7ac2d7ec859bca2" resname="A file with the same checksum already exists in database" approved="yes">
|
<trans-unit id="3111a4c2d6a675604d8bed8fe7ac2d7ec859bca2" resname="A file with the same checksum already exists in database" approved="yes">
|
||||||
<source>A file with the same checksum already exists in database</source>
|
<source>A file with the same checksum already exists in database</source>
|
||||||
<target state="translated">A file with the same checksum already exists in the database</target>
|
<target state="translated">A file with the same checksum already exists in the database</target>
|
||||||
<jms:reference-file line="85">Border/Checker/Sha256.php</jms:reference-file>
|
<jms:reference-file line="77">Border/Checker/Sha256.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="aee62b552774745bfc7778349545413b39c33a9a" resname="A file with the same filename already exists in database" approved="yes">
|
<trans-unit id="aee62b552774745bfc7778349545413b39c33a9a" resname="A file with the same filename already exists in database" approved="yes">
|
||||||
<source>A file with the same filename already exists in database</source>
|
<source>A file with the same filename already exists in database</source>
|
||||||
@@ -481,7 +481,7 @@
|
|||||||
<trans-unit id="e6558cad562de9eeae699e5f7fc7c8ae076d38c8" resname="A record matches the unique identifier :" approved="yes">
|
<trans-unit id="e6558cad562de9eeae699e5f7fc7c8ae076d38c8" resname="A record matches the unique identifier :" approved="yes">
|
||||||
<source>A record matches the unique identifier :</source>
|
<source>A record matches the unique identifier :</source>
|
||||||
<target state="translated">A record matches the unique identifier:</target>
|
<target state="translated">A record matches the unique identifier:</target>
|
||||||
<jms:reference-file line="588">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="590">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="b73e8cb42d796f56db9989972e41942d9135c2cc" resname="A required field is missing or has an empty value" approved="yes">
|
<trans-unit id="b73e8cb42d796f56db9989972e41942d9135c2cc" resname="A required field is missing or has an empty value" approved="yes">
|
||||||
<source>A required field is missing or has an empty value</source>
|
<source>A required field is missing or has an empty value</source>
|
||||||
@@ -670,8 +670,8 @@
|
|||||||
<target state="translated">Add</target>
|
<target state="translated">Add</target>
|
||||||
<jms:reference-file line="29">prod/User/Add.html.twig</jms:reference-file>
|
<jms:reference-file line="29">prod/User/Add.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="161">prod/actions/Push.html.twig</jms:reference-file>
|
<jms:reference-file line="161">prod/actions/Push.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="514">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="516">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="515">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="517">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="983c5aed52d2f74bf36e97dc34dbce97fdd43f5b" resname="Add a new field" approved="yes">
|
<trans-unit id="983c5aed52d2f74bf36e97dc34dbce97fdd43f5b" resname="Add a new field" approved="yes">
|
||||||
<source>Add a new field</source>
|
<source>Add a new field</source>
|
||||||
@@ -971,7 +971,7 @@
|
|||||||
<source>An error occured</source>
|
<source>An error occured</source>
|
||||||
<target state="translated">An error occurred</target>
|
<target state="translated">An error occurred</target>
|
||||||
<jms:reference-file line="120">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="120">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="285">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="245">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="164">Controller/Prod/MoveCollectionController.php</jms:reference-file>
|
<jms:reference-file line="164">Controller/Prod/MoveCollectionController.php</jms:reference-file>
|
||||||
<jms:reference-file line="257">Controller/Prod/LazaretController.php</jms:reference-file>
|
<jms:reference-file line="257">Controller/Prod/LazaretController.php</jms:reference-file>
|
||||||
<jms:reference-file line="262">Controller/Prod/BasketController.php</jms:reference-file>
|
<jms:reference-file line="262">Controller/Prod/BasketController.php</jms:reference-file>
|
||||||
@@ -1596,7 +1596,7 @@
|
|||||||
<trans-unit id="ae1f9ef7dc1cee4760e7f208f36c225e3ab1aa1f" resname="Cancel all" approved="yes">
|
<trans-unit id="ae1f9ef7dc1cee4760e7f208f36c225e3ab1aa1f" resname="Cancel all" approved="yes">
|
||||||
<source>Cancel all</source>
|
<source>Cancel all</source>
|
||||||
<target state="translated">Cancel all</target>
|
<target state="translated">Cancel all</target>
|
||||||
<jms:reference-file line="131">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="133">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="121">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="121">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="82695f04e6097106923a58949a9e1b0fadd1a989" resname="Cannot upload Zero Byte files" approved="yes">
|
<trans-unit id="82695f04e6097106923a58949a9e1b0fadd1a989" resname="Cannot upload Zero Byte files" approved="yes">
|
||||||
@@ -1793,7 +1793,7 @@
|
|||||||
<trans-unit id="7135ee5eaed0e404c4fcf48d6eb7d2808f8e55f2" resname="Clear list" approved="yes">
|
<trans-unit id="7135ee5eaed0e404c4fcf48d6eb7d2808f8e55f2" resname="Clear list" approved="yes">
|
||||||
<source>Clear list</source>
|
<source>Clear list</source>
|
||||||
<target state="translated">Clear list</target>
|
<target state="translated">Clear list</target>
|
||||||
<jms:reference-file line="112">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="114">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="109">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="109">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="0fcdb8c5215c8bd73769c3492e47d86ec3f6837e" resname="Client application" approved="yes">
|
<trans-unit id="0fcdb8c5215c8bd73769c3492e47d86ec3f6837e" resname="Client application" approved="yes">
|
||||||
@@ -2385,8 +2385,8 @@
|
|||||||
<trans-unit id="f6fdbe48dc54dd86f63097a03bd24094dedd713a" resname="Delete" approved="yes">
|
<trans-unit id="f6fdbe48dc54dd86f63097a03bd24094dedd713a" resname="Delete" approved="yes">
|
||||||
<source>Delete</source>
|
<source>Delete</source>
|
||||||
<target state="translated">Delete</target>
|
<target state="translated">Delete</target>
|
||||||
<jms:reference-file line="517">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="519">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="518">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="520">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="25">admin/task-manager/templates.html.twig</jms:reference-file>
|
<jms:reference-file line="25">admin/task-manager/templates.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1b5737dea168495fa0495e00ce58b4832772a492" resname="Delete account successfull" approved="yes">
|
<trans-unit id="1b5737dea168495fa0495e00ce58b4832772a492" resname="Delete account successfull" approved="yes">
|
||||||
@@ -2458,7 +2458,7 @@
|
|||||||
<trans-unit id="dcce9368ad626fe4addfa719b7a16807d464aa9b" resname="Derniers envois" approved="yes">
|
<trans-unit id="dcce9368ad626fe4addfa719b7a16807d464aa9b" resname="Derniers envois" approved="yes">
|
||||||
<source>Derniers envois</source>
|
<source>Derniers envois</source>
|
||||||
<target state="translated">Last sent</target>
|
<target state="translated">Last sent</target>
|
||||||
<jms:reference-file line="126">web/developers/application.html.twig</jms:reference-file>
|
<jms:reference-file line="165">web/developers/application.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="ec52b98c45f63139a4bee23fa7d177838f2b3628" resname="Des difficultes ont ete rencontres a la connection au serveur distant" approved="yes">
|
<trans-unit id="ec52b98c45f63139a4bee23fa7d177838f2b3628" resname="Des difficultes ont ete rencontres a la connection au serveur distant" approved="yes">
|
||||||
<source>Des difficultes ont ete rencontres a la connection au serveur distant</source>
|
<source>Des difficultes ont ete rencontres a la connection au serveur distant</source>
|
||||||
@@ -2537,7 +2537,7 @@
|
|||||||
<jms:reference-file line="68">Form/Configuration/ActionsFormType.php</jms:reference-file>
|
<jms:reference-file line="68">Form/Configuration/ActionsFormType.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="fa9fd169cd55f0433c6e7a4b5d758f90d0847411" resname="Display & action settings" approved="yes">
|
<trans-unit id="fa9fd169cd55f0433c6e7a4b5d758f90d0847411" resname="Display & action settings" approved="yes">
|
||||||
<source>Display & action settings</source>
|
<source><![CDATA[Display & action settings]]></source>
|
||||||
<target state="translated">Display and action settings</target>
|
<target state="translated">Display and action settings</target>
|
||||||
<jms:reference-file line="152">admin/fields/templates.html.twig</jms:reference-file>
|
<jms:reference-file line="152">admin/fields/templates.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -3286,8 +3286,8 @@
|
|||||||
<source>File is not present in quarantine anymore, please refresh</source>
|
<source>File is not present in quarantine anymore, please refresh</source>
|
||||||
<target state="translated">Document is not in quarantine anymore, please refresh</target>
|
<target state="translated">Document is not in quarantine anymore, please refresh</target>
|
||||||
<jms:reference-file line="56">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="56">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="140">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="136">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="170">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="157">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="78">Controller/Prod/LazaretController.php</jms:reference-file>
|
<jms:reference-file line="78">Controller/Prod/LazaretController.php</jms:reference-file>
|
||||||
<jms:reference-file line="207">Controller/Prod/LazaretController.php</jms:reference-file>
|
<jms:reference-file line="207">Controller/Prod/LazaretController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -5925,7 +5925,7 @@
|
|||||||
<trans-unit id="1d72d3b024f99631791dcfbc8288caa16d3ff388" resname="Résultats des derniers envois effectués pour cette application" approved="yes">
|
<trans-unit id="1d72d3b024f99631791dcfbc8288caa16d3ff388" resname="Résultats des derniers envois effectués pour cette application" approved="yes">
|
||||||
<source>Résultats des derniers envois effectués pour cette application</source>
|
<source>Résultats des derniers envois effectués pour cette application</source>
|
||||||
<target state="translated">Last webhooks sent for this application</target>
|
<target state="translated">Last webhooks sent for this application</target>
|
||||||
<jms:reference-file line="127">web/developers/application.html.twig</jms:reference-file>
|
<jms:reference-file line="166">web/developers/application.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="741cd64a01685389e2fabdb7091a3b70f6be63ee" resname="SMTP encryption" approved="yes">
|
<trans-unit id="741cd64a01685389e2fabdb7091a3b70f6be63ee" resname="SMTP encryption" approved="yes">
|
||||||
<source>SMTP encryption</source>
|
<source>SMTP encryption</source>
|
||||||
@@ -6116,7 +6116,7 @@
|
|||||||
<jms:reference-file line="46">web/login/forgot-password.html.twig</jms:reference-file>
|
<jms:reference-file line="46">web/login/forgot-password.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="330">prod/actions/Push.html.twig</jms:reference-file>
|
<jms:reference-file line="330">prod/actions/Push.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="332">prod/actions/Push.html.twig</jms:reference-file>
|
<jms:reference-file line="332">prod/actions/Push.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="113">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="115">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="110">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="110">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="185">prod/orders/order_item.html.twig</jms:reference-file>
|
<jms:reference-file line="185">prod/orders/order_item.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="220">prod/orders/order_item.html.twig</jms:reference-file>
|
<jms:reference-file line="220">prod/orders/order_item.html.twig</jms:reference-file>
|
||||||
@@ -6475,8 +6475,8 @@
|
|||||||
<trans-unit id="8017bd7de9961cf42f59abc587d0495a9d25c2a9" resname="Substitute" approved="yes">
|
<trans-unit id="8017bd7de9961cf42f59abc587d0495a9d25c2a9" resname="Substitute" approved="yes">
|
||||||
<source>Substitute</source>
|
<source>Substitute</source>
|
||||||
<target state="translated">Substitute</target>
|
<target state="translated">Substitute</target>
|
||||||
<jms:reference-file line="521">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="523">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="522">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="524">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3d48a1d66362cef46e567ddf521b0dc3233f57a2" resname="Substitution is not possible for this kind of record" approved="yes">
|
<trans-unit id="3d48a1d66362cef46e567ddf521b0dc3233f57a2" resname="Substitution is not possible for this kind of record" approved="yes">
|
||||||
<source>Substitution is not possible for this kind of record</source>
|
<source>Substitution is not possible for this kind of record</source>
|
||||||
@@ -6748,7 +6748,7 @@
|
|||||||
<trans-unit id="1d5dadcdeeecd294a88baf096ba0440053ecf738" resname="The file was moved to the quarantine" approved="yes">
|
<trans-unit id="1d5dadcdeeecd294a88baf096ba0440053ecf738" resname="The file was moved to the quarantine" approved="yes">
|
||||||
<source>The file was moved to the quarantine</source>
|
<source>The file was moved to the quarantine</source>
|
||||||
<target state="translated">The file has moved to quarantine</target>
|
<target state="translated">The file has moved to quarantine</target>
|
||||||
<jms:reference-file line="338">Controller/Prod/UploadController.php</jms:reference-file>
|
<jms:reference-file line="283">Controller/Prod/UploadController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1818502d42e14ffcb9c664fd1365fafa969971ff" resname="The following errors have been detected" approved="yes">
|
<trans-unit id="1818502d42e14ffcb9c664fd1365fafa969971ff" resname="The following errors have been detected" approved="yes">
|
||||||
<source>The following errors have been detected</source>
|
<source>The following errors have been detected</source>
|
||||||
@@ -6764,7 +6764,7 @@
|
|||||||
<trans-unit id="bae1c72ecbe1459751e4a0fee382a305bbf933b7" resname="The record was successfully created" approved="yes">
|
<trans-unit id="bae1c72ecbe1459751e4a0fee382a305bbf933b7" resname="The record was successfully created" approved="yes">
|
||||||
<source>The record was successfully created</source>
|
<source>The record was successfully created</source>
|
||||||
<target state="translated">The record has been successfully created</target>
|
<target state="translated">The record has been successfully created</target>
|
||||||
<jms:reference-file line="292">Controller/Prod/UploadController.php</jms:reference-file>
|
<jms:reference-file line="253">Controller/Prod/UploadController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="209817489c23cec8b7a15f6b8ca3e45daf08656d" resname="The records have been properly ordered" approved="yes">
|
<trans-unit id="209817489c23cec8b7a15f6b8ca3e45daf08656d" resname="The records have been properly ordered" approved="yes">
|
||||||
<source>The records have been properly ordered</source>
|
<source>The records have been properly ordered</source>
|
||||||
@@ -6999,7 +6999,7 @@
|
|||||||
<trans-unit id="9764c016bb5a296069109116fa95c49815dcba82" resname="Transmited files" approved="yes">
|
<trans-unit id="9764c016bb5a296069109116fa95c49815dcba82" resname="Transmited files" approved="yes">
|
||||||
<source>Transmited files</source>
|
<source>Transmited files</source>
|
||||||
<target state="translated">Transmitted files</target>
|
<target state="translated">Transmitted files</target>
|
||||||
<jms:reference-file line="122">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="124">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="118">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="118">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6e764776541fbe428a3566f42ee7956312af98b7" resname="Trier par" approved="yes">
|
<trans-unit id="6e764776541fbe428a3566f42ee7956312af98b7" resname="Trier par" approved="yes">
|
||||||
@@ -7061,7 +7061,7 @@
|
|||||||
<trans-unit id="d32751443628a0d2c5b31b441c1e2b3001f35dfd" resname="Unable to add file to Phraseanet" approved="yes">
|
<trans-unit id="d32751443628a0d2c5b31b441c1e2b3001f35dfd" resname="Unable to add file to Phraseanet" approved="yes">
|
||||||
<source>Unable to add file to Phraseanet</source>
|
<source>Unable to add file to Phraseanet</source>
|
||||||
<target state="translated">Unable to add files to Phraseanet</target>
|
<target state="translated">Unable to add files to Phraseanet</target>
|
||||||
<jms:reference-file line="350">Controller/Prod/UploadController.php</jms:reference-file>
|
<jms:reference-file line="295">Controller/Prod/UploadController.php</jms:reference-file>
|
||||||
<jms:reference-file line="195">Controller/Admin/FeedController.php</jms:reference-file>
|
<jms:reference-file line="195">Controller/Admin/FeedController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8b233593eb66b5be4da2f44ff527bd641b3a6fc1" resname="Unable to add usr to list" approved="yes">
|
<trans-unit id="8b233593eb66b5be4da2f44ff527bd641b3a6fc1" resname="Unable to add usr to list" approved="yes">
|
||||||
@@ -7851,7 +7851,7 @@
|
|||||||
<trans-unit id="4a67615bcd64fcc9443c499676a462d835ad841e" resname="You can not upload files" approved="yes">
|
<trans-unit id="4a67615bcd64fcc9443c499676a462d835ad841e" resname="You can not upload files" approved="yes">
|
||||||
<source>You can not upload files</source>
|
<source>You can not upload files</source>
|
||||||
<target state="translated">You are not allowed to upload files</target>
|
<target state="translated">You are not allowed to upload files</target>
|
||||||
<jms:reference-file line="144">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="146">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="102">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="102">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4faca55769348dcbc9714b19438181057aa2510e" resname="You do not enough rights to update status" approved="yes">
|
<trans-unit id="4faca55769348dcbc9714b19438181057aa2510e" resname="You do not enough rights to update status" approved="yes">
|
||||||
@@ -9991,7 +9991,7 @@
|
|||||||
<trans-unit id="e0af1d0d7872c48928d4faef76c45567426e62f9" resname="boutton::retour" approved="yes">
|
<trans-unit id="e0af1d0d7872c48928d4faef76c45567426e62f9" resname="boutton::retour" approved="yes">
|
||||||
<source>boutton::retour</source>
|
<source>boutton::retour</source>
|
||||||
<target state="translated">Back</target>
|
<target state="translated">Back</target>
|
||||||
<jms:reference-file line="154">web/developers/application.html.twig</jms:reference-file>
|
<jms:reference-file line="193">web/developers/application.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="116">web/developers/application_form.html.twig</jms:reference-file>
|
<jms:reference-file line="116">web/developers/application_form.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="20">Bridge/Flickr/photo_deleteelement.html.twig</jms:reference-file>
|
<jms:reference-file line="20">Bridge/Flickr/photo_deleteelement.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="20">Bridge/Flickr/photoset_deleteelement.html.twig</jms:reference-file>
|
<jms:reference-file line="20">Bridge/Flickr/photoset_deleteelement.html.twig</jms:reference-file>
|
||||||
@@ -10348,6 +10348,101 @@
|
|||||||
<target state="translated">descending</target>
|
<target state="translated">descending</target>
|
||||||
<jms:reference-file line="184">SearchEngine/Elastic/ElasticSearchEngine.php</jms:reference-file>
|
<jms:reference-file line="184">SearchEngine/Elastic/ElasticSearchEngine.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="8e82b164f61602c25d57b485ed09c7a59a8e0919" resname="developers:: Events name">
|
||||||
|
<source>developers:: Events name</source>
|
||||||
|
<target state="new">developers:: Events name</target>
|
||||||
|
<jms:reference-file line="134">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="f717955140c0a034f0e08cfc1416b8443e86cbb5" resname="developers:: Events trigger this webhook">
|
||||||
|
<source>developers:: Events trigger this webhook</source>
|
||||||
|
<target state="new">developers:: Events trigger this webhook</target>
|
||||||
|
<jms:reference-file line="125">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="3a425cde38ee310e52988e9e9970f1c8dd376c13" resname="developers:: Events type">
|
||||||
|
<source>developers:: Events type</source>
|
||||||
|
<target state="new">developers:: Events type</target>
|
||||||
|
<jms:reference-file line="131">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="0b3e5bbe37fa58fc7ce4682309017ffcebe95a23" resname="developers:: Select events to trigger this webhook url">
|
||||||
|
<source>developers:: Select events to trigger this webhook url</source>
|
||||||
|
<target state="new">developers:: Select events to trigger this webhook url</target>
|
||||||
|
<jms:reference-file line="126">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="bffa41c7a64fc38e50153ea0f6f7c2368b008028" resname="developers:: a order delivered">
|
||||||
|
<source>developers:: a order delivered</source>
|
||||||
|
<target state="new">developers:: a order delivered</target>
|
||||||
|
<jms:reference-file line="372">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="9b74fc2656c9e78eec665260f31b446edf548932" resname="developers:: a order denied">
|
||||||
|
<source>developers:: a order denied</source>
|
||||||
|
<target state="new">developers:: a order denied</target>
|
||||||
|
<jms:reference-file line="373">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="c2d24cc69b826a71661c25cbd5291cdaaf95208c" resname="developers:: collection changed for record">
|
||||||
|
<source>developers:: collection changed for record</source>
|
||||||
|
<target state="new">developers:: collection changed for record</target>
|
||||||
|
<jms:reference-file line="353">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="1066a8925f76bd4aadebd7ec114b0ff771ab05ed" resname="developers:: media substituted for record">
|
||||||
|
<source>developers:: media substituted for record</source>
|
||||||
|
<target state="new">developers:: media substituted for record</target>
|
||||||
|
<jms:reference-file line="352">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="ab1c856fecf799bb87498cb26ea74b3db85b4f0b" resname="developers:: new feed entry on phraseanet">
|
||||||
|
<source>developers:: new feed entry on phraseanet</source>
|
||||||
|
<target state="new">developers:: new feed entry on phraseanet</target>
|
||||||
|
<jms:reference-file line="368">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="92259dc5125d969b7ba7fb1af0afd121147d1839" resname="developers:: new order created">
|
||||||
|
<source>developers:: new order created</source>
|
||||||
|
<target state="new">developers:: new order created</target>
|
||||||
|
<jms:reference-file line="371">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="4d09e2ac8748c5ea4bb66d3cd247941f99478125" resname="developers:: record or story created">
|
||||||
|
<source>developers:: record or story created</source>
|
||||||
|
<target state="new">developers:: record or story created</target>
|
||||||
|
<jms:reference-file line="349">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="1f036a4965ecb781192393a08a5aa0510a94524c" resname="developers:: record or story deleted">
|
||||||
|
<source>developers:: record or story deleted</source>
|
||||||
|
<target state="new">developers:: record or story deleted</target>
|
||||||
|
<jms:reference-file line="351">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="98121e43abc2802cfec12de894e041f54d7c9b2c" resname="developers:: record or story edited">
|
||||||
|
<source>developers:: record or story edited</source>
|
||||||
|
<target state="new">developers:: record or story edited</target>
|
||||||
|
<jms:reference-file line="350">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="7479330e0d56c8b37e71013043acecd329ce5f08" resname="developers:: status changed for record">
|
||||||
|
<source>developers:: status changed for record</source>
|
||||||
|
<target state="new">developers:: status changed for record</target>
|
||||||
|
<jms:reference-file line="354">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="db026e337fa7eeba8352e87ca00a28e19c854453" resname="developers:: subdef created for a record">
|
||||||
|
<source>developers:: subdef created for a record</source>
|
||||||
|
<target state="new">developers:: subdef created for a record</target>
|
||||||
|
<jms:reference-file line="357">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="18fc15413169b19baf33adc2572d53a76b86f1f5" resname="developers:: subdef creation failed for a record">
|
||||||
|
<source>developers:: subdef creation failed for a record</source>
|
||||||
|
<target state="new">developers:: subdef creation failed for a record</target>
|
||||||
|
<jms:reference-file line="358">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="e59d8fc44e34b786247fa5924eeb12a4a1202215" resname="developers:: user deleted on phraseanet">
|
||||||
|
<source>developers:: user deleted on phraseanet</source>
|
||||||
|
<target state="new">developers:: user deleted on phraseanet</target>
|
||||||
|
<jms:reference-file line="361">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="13577491a21410883cb7990ce9fdd481fca5c58b" resname="developers:: user registration granted on phraseanet">
|
||||||
|
<source>developers:: user registration granted on phraseanet</source>
|
||||||
|
<target state="new">developers:: user registration granted on phraseanet</target>
|
||||||
|
<jms:reference-file line="364">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="b7786ecdfe826e6f347dbf643191d79a196c6057" resname="developers:: user registration rejected on phraseanet">
|
||||||
|
<source>developers:: user registration rejected on phraseanet</source>
|
||||||
|
<target state="new">developers:: user registration rejected on phraseanet</target>
|
||||||
|
<jms:reference-file line="365">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="55a2ad6e3d1c02d871104d64fb811f08c54bd1b9" resname="do you want to validate" approved="yes">
|
<trans-unit id="55a2ad6e3d1c02d871104d64fb811f08c54bd1b9" resname="do you want to validate" approved="yes">
|
||||||
<source>do you want to validate</source>
|
<source>do you want to validate</source>
|
||||||
<target state="translated">Do you want to validate</target>
|
<target state="translated">Do you want to validate</target>
|
||||||
@@ -11723,7 +11818,7 @@
|
|||||||
<jms:reference-file line="564">Controller/Root/AccountController.php</jms:reference-file>
|
<jms:reference-file line="564">Controller/Root/AccountController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="bf7028b694aea3fc9ede5014a9f8b5d617b83b6f" resname="phraseanet::account: << your account can be deleted via admin interface >> " approved="yes">
|
<trans-unit id="bf7028b694aea3fc9ede5014a9f8b5d617b83b6f" resname="phraseanet::account: << your account can be deleted via admin interface >> " approved="yes">
|
||||||
<source>phraseanet::account: << your account can be deleted via admin interface >></source>
|
<source><![CDATA[phraseanet::account: << your account can be deleted via admin interface >>]]></source>
|
||||||
<target state="translated">Your rights do not allow to perform this action. Your account can only be deleted via the Administration interface.</target>
|
<target state="translated">Your rights do not allow to perform this action. Your account can only be deleted via the Administration interface.</target>
|
||||||
<jms:reference-file line="289">web/account/account.html.twig</jms:reference-file>
|
<jms:reference-file line="289">web/account/account.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -13872,12 +13967,12 @@ It is possible to place several search areas</target>
|
|||||||
<trans-unit id="ae34347293abc9a106150c8db2b2a3b1b7739c0b" resname="same UUID" approved="yes">
|
<trans-unit id="ae34347293abc9a106150c8db2b2a3b1b7739c0b" resname="same UUID" approved="yes">
|
||||||
<source>same UUID</source>
|
<source>same UUID</source>
|
||||||
<target state="translated">A file with the same UUID already exists in the database</target>
|
<target state="translated">A file with the same UUID already exists in the database</target>
|
||||||
<jms:reference-file line="87">Border/Checker/UUID.php</jms:reference-file>
|
<jms:reference-file line="76">Border/Checker/UUID.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="9efb800c6df15d107be9c0aeb19e2d218ebfe135" resname="same checksum" approved="yes">
|
<trans-unit id="9efb800c6df15d107be9c0aeb19e2d218ebfe135" resname="same checksum" approved="yes">
|
||||||
<source>same checksum</source>
|
<source>same checksum</source>
|
||||||
<target state="translated">A file with the same checksum already exists in the database</target>
|
<target state="translated">A file with the same checksum already exists in the database</target>
|
||||||
<jms:reference-file line="77">Border/Checker/Sha256.php</jms:reference-file>
|
<jms:reference-file line="69">Border/Checker/Sha256.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="99e3a652745118f0d3c79e13d81168544afe2b77" resname="same filename" approved="yes">
|
<trans-unit id="99e3a652745118f0d3c79e13d81168544afe2b77" resname="same filename" approved="yes">
|
||||||
<source>same filename</source>
|
<source>same filename</source>
|
||||||
@@ -14357,7 +14452,7 @@ It is possible to place several search areas</target>
|
|||||||
<jms:reference-file line="1338">web/thesaurus/thesaurus.html.twig</jms:reference-file>
|
<jms:reference-file line="1338">web/thesaurus/thesaurus.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="33df70d7fa528a31071e11d1b987b49dc947ce16" resname="thesaurus:: Supprimer cette branche ?&#10;(les termes concernes remonteront en candidats a la prochaine indexation)" approved="yes">
|
<trans-unit id="33df70d7fa528a31071e11d1b987b49dc947ce16" resname="thesaurus:: Supprimer cette branche ?&#10;(les termes concernes remonteront en candidats a la prochaine indexation)" approved="yes">
|
||||||
<source>thesaurus:: Supprimer cette branche ?&#10;(les termes concernes remonteront en candidats a la prochaine indexation)</source>
|
<source><![CDATA[thesaurus:: Supprimer cette branche ? (les termes concernes remonteront en candidats a la prochaine indexation)]]></source>
|
||||||
<target state="translated"><![CDATA[Delete branch : 
 (concerned terms will be displayed as candidates on future indexation)]]></target>
|
<target state="translated"><![CDATA[Delete branch : 
 (concerned terms will be displayed as candidates on future indexation)]]></target>
|
||||||
<jms:reference-file line="542">web/thesaurus/thesaurus.html.twig</jms:reference-file>
|
<jms:reference-file line="542">web/thesaurus/thesaurus.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -14935,9 +15030,9 @@ It is possible to place several search areas</target>
|
|||||||
<trans-unit id="39e4890a2d75f483b1cb2131b2d19f8cf96a502b" resname="upload:: Status :" approved="yes">
|
<trans-unit id="39e4890a2d75f483b1cb2131b2d19f8cf96a502b" resname="upload:: Status :" approved="yes">
|
||||||
<source>upload:: Status :</source>
|
<source>upload:: Status :</source>
|
||||||
<target state="translated">Apply status</target>
|
<target state="translated">Apply status</target>
|
||||||
<jms:reference-file line="80">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="81">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="75">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="75">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="462">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="463">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4fea0574cc81b5fd40ab0537b0905cc4c3806039" resname="users rights have been reseted" approved="yes">
|
<trans-unit id="4fea0574cc81b5fd40ab0537b0905cc4c3806039" resname="users rights have been reseted" approved="yes">
|
||||||
<source>users rights have been reseted</source>
|
<source>users rights have been reseted</source>
|
||||||
|
@@ -1,14 +1,14 @@
|
|||||||
<?xml version='1.0' encoding='utf-8'?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
||||||
<file date="2021-09-24T11:10:54Z" source-language="en" target-language="fr" datatype="plaintext" original="not.available">
|
<file date="2021-11-16T13:31:10Z" source-language="en" target-language="fr" datatype="plaintext" original="not.available">
|
||||||
<header>
|
<header>
|
||||||
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
||||||
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
||||||
</header>
|
</header>
|
||||||
<body>
|
<body>
|
||||||
<trans-unit id="da39a3ee5e6b4b0d3255bfef95601890afd80709" resname="">
|
<trans-unit id="da39a3ee5e6b4b0d3255bfef95601890afd80709" resname="">
|
||||||
<source/>
|
<source></source>
|
||||||
<target state="new"/>
|
<target state="new"></target>
|
||||||
<jms:reference-file line="51">Form/Configuration/EmailFormType.php</jms:reference-file>
|
<jms:reference-file line="51">Form/Configuration/EmailFormType.php</jms:reference-file>
|
||||||
<jms:reference-file line="64">Form/Login/PhraseaAuthenticationForm.php</jms:reference-file>
|
<jms:reference-file line="64">Form/Login/PhraseaAuthenticationForm.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
<jms:reference-file line="7">Bridge/Dailymotion/element_informations.html.twig</jms:reference-file>
|
<jms:reference-file line="7">Bridge/Dailymotion/element_informations.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="de0804eb70c10b14d71df74292e45c6daa13d672" resname="%number% documents<br/>selectionnes" approved="yes">
|
<trans-unit id="de0804eb70c10b14d71df74292e45c6daa13d672" resname="%number% documents<br/>selectionnes" approved="yes">
|
||||||
<source>%number% documents<br/>selectionnes</source>
|
<source><![CDATA[%number% documents<br/>selectionnes]]></source>
|
||||||
<target state="translated"><![CDATA[%number% documents<br/>sélectionnés]]></target>
|
<target state="translated"><![CDATA[%number% documents<br/>sélectionnés]]></target>
|
||||||
<jms:reference-file line="263">Controller/Prod/QueryController.php</jms:reference-file>
|
<jms:reference-file line="263">Controller/Prod/QueryController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -249,7 +249,7 @@
|
|||||||
<trans-unit id="d7c38bf41291d1f920c6e0b56a1c4a1cfc0b6743" resname="%quantity% selected files" approved="yes">
|
<trans-unit id="d7c38bf41291d1f920c6e0b56a1c4a1cfc0b6743" resname="%quantity% selected files" approved="yes">
|
||||||
<source>%quantity% selected files</source>
|
<source>%quantity% selected files</source>
|
||||||
<target state="translated">%quantity% fichiers sélectionnés</target>
|
<target state="translated">%quantity% fichiers sélectionnés</target>
|
||||||
<jms:reference-file line="111">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="113">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="eae910e840fe7df8ef8211d587e72af74ab69463" resname="%quantity_records% records have been sent for validation to %quantity_users% users" approved="yes">
|
<trans-unit id="eae910e840fe7df8ef8211d587e72af74ab69463" resname="%quantity_records% records have been sent for validation to %quantity_users% users" approved="yes">
|
||||||
<source>%quantity_records% records have been sent for validation to %quantity_users% users</source>
|
<source>%quantity_records% records have been sent for validation to %quantity_users% users</source>
|
||||||
@@ -264,7 +264,7 @@
|
|||||||
<trans-unit id="4d90df6ce9691d4bc172b9129250a5af4bef4b7f" resname="%record_count% records match the unique identifier :" approved="yes">
|
<trans-unit id="4d90df6ce9691d4bc172b9129250a5af4bef4b7f" resname="%record_count% records match the unique identifier :" approved="yes">
|
||||||
<source>%record_count% records match the unique identifier :</source>
|
<source>%record_count% records match the unique identifier :</source>
|
||||||
<target state="translated">%record_count% enregistrements correspondent à des identifiants uniques existants:</target>
|
<target state="translated">%record_count% enregistrements correspondent à des identifiants uniques existants:</target>
|
||||||
<jms:reference-file line="590">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="592">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1d847e60f4e92e438c94f0eb3176ce96113c63e5" resname="%s field has been created with success." approved="yes">
|
<trans-unit id="1d847e60f4e92e438c94f0eb3176ce96113c63e5" resname="%s field has been created with success." approved="yes">
|
||||||
<source>%s field has been created with success.</source>
|
<source>%s field has been created with success.</source>
|
||||||
@@ -466,12 +466,12 @@
|
|||||||
<trans-unit id="fa591b39e82a5a47573a9ed70172620c2660596c" resname="A file with the same UUID already exists in database" approved="yes">
|
<trans-unit id="fa591b39e82a5a47573a9ed70172620c2660596c" resname="A file with the same UUID already exists in database" approved="yes">
|
||||||
<source>A file with the same UUID already exists in database</source>
|
<source>A file with the same UUID already exists in database</source>
|
||||||
<target state="translated">Un fichier avec le même UUID existe déjà dans la base de données</target>
|
<target state="translated">Un fichier avec le même UUID existe déjà dans la base de données</target>
|
||||||
<jms:reference-file line="95">Border/Checker/UUID.php</jms:reference-file>
|
<jms:reference-file line="84">Border/Checker/UUID.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3111a4c2d6a675604d8bed8fe7ac2d7ec859bca2" resname="A file with the same checksum already exists in database" approved="yes">
|
<trans-unit id="3111a4c2d6a675604d8bed8fe7ac2d7ec859bca2" resname="A file with the same checksum already exists in database" approved="yes">
|
||||||
<source>A file with the same checksum already exists in database</source>
|
<source>A file with the same checksum already exists in database</source>
|
||||||
<target state="translated">Un fichier avec la même somme de contrôle existe déjà dans la base de données</target>
|
<target state="translated">Un fichier avec la même somme de contrôle existe déjà dans la base de données</target>
|
||||||
<jms:reference-file line="85">Border/Checker/Sha256.php</jms:reference-file>
|
<jms:reference-file line="77">Border/Checker/Sha256.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="aee62b552774745bfc7778349545413b39c33a9a" resname="A file with the same filename already exists in database" approved="yes">
|
<trans-unit id="aee62b552774745bfc7778349545413b39c33a9a" resname="A file with the same filename already exists in database" approved="yes">
|
||||||
<source>A file with the same filename already exists in database</source>
|
<source>A file with the same filename already exists in database</source>
|
||||||
@@ -481,7 +481,7 @@
|
|||||||
<trans-unit id="e6558cad562de9eeae699e5f7fc7c8ae076d38c8" resname="A record matches the unique identifier :" approved="yes">
|
<trans-unit id="e6558cad562de9eeae699e5f7fc7c8ae076d38c8" resname="A record matches the unique identifier :" approved="yes">
|
||||||
<source>A record matches the unique identifier :</source>
|
<source>A record matches the unique identifier :</source>
|
||||||
<target state="translated">Un enregistrement correspond à un identifiant unique existant :</target>
|
<target state="translated">Un enregistrement correspond à un identifiant unique existant :</target>
|
||||||
<jms:reference-file line="588">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="590">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="b73e8cb42d796f56db9989972e41942d9135c2cc" resname="A required field is missing or has an empty value" approved="yes">
|
<trans-unit id="b73e8cb42d796f56db9989972e41942d9135c2cc" resname="A required field is missing or has an empty value" approved="yes">
|
||||||
<source>A required field is missing or has an empty value</source>
|
<source>A required field is missing or has an empty value</source>
|
||||||
@@ -670,8 +670,8 @@
|
|||||||
<target state="translated">Ajouter</target>
|
<target state="translated">Ajouter</target>
|
||||||
<jms:reference-file line="29">prod/User/Add.html.twig</jms:reference-file>
|
<jms:reference-file line="29">prod/User/Add.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="161">prod/actions/Push.html.twig</jms:reference-file>
|
<jms:reference-file line="161">prod/actions/Push.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="514">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="516">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="515">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="517">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="983c5aed52d2f74bf36e97dc34dbce97fdd43f5b" resname="Add a new field" approved="yes">
|
<trans-unit id="983c5aed52d2f74bf36e97dc34dbce97fdd43f5b" resname="Add a new field" approved="yes">
|
||||||
<source>Add a new field</source>
|
<source>Add a new field</source>
|
||||||
@@ -970,7 +970,7 @@
|
|||||||
<source>An error occured</source>
|
<source>An error occured</source>
|
||||||
<target state="translated">Une erreur est survenue.</target>
|
<target state="translated">Une erreur est survenue.</target>
|
||||||
<jms:reference-file line="120">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="120">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="285">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="245">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="164">Controller/Prod/MoveCollectionController.php</jms:reference-file>
|
<jms:reference-file line="164">Controller/Prod/MoveCollectionController.php</jms:reference-file>
|
||||||
<jms:reference-file line="257">Controller/Prod/LazaretController.php</jms:reference-file>
|
<jms:reference-file line="257">Controller/Prod/LazaretController.php</jms:reference-file>
|
||||||
<jms:reference-file line="262">Controller/Prod/BasketController.php</jms:reference-file>
|
<jms:reference-file line="262">Controller/Prod/BasketController.php</jms:reference-file>
|
||||||
@@ -1595,7 +1595,7 @@
|
|||||||
<trans-unit id="ae1f9ef7dc1cee4760e7f208f36c225e3ab1aa1f" resname="Cancel all" approved="yes">
|
<trans-unit id="ae1f9ef7dc1cee4760e7f208f36c225e3ab1aa1f" resname="Cancel all" approved="yes">
|
||||||
<source>Cancel all</source>
|
<source>Cancel all</source>
|
||||||
<target state="translated">Annuler tout</target>
|
<target state="translated">Annuler tout</target>
|
||||||
<jms:reference-file line="131">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="133">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="121">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="121">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="82695f04e6097106923a58949a9e1b0fadd1a989" resname="Cannot upload Zero Byte files" approved="yes">
|
<trans-unit id="82695f04e6097106923a58949a9e1b0fadd1a989" resname="Cannot upload Zero Byte files" approved="yes">
|
||||||
@@ -1791,7 +1791,7 @@
|
|||||||
<trans-unit id="7135ee5eaed0e404c4fcf48d6eb7d2808f8e55f2" resname="Clear list" approved="yes">
|
<trans-unit id="7135ee5eaed0e404c4fcf48d6eb7d2808f8e55f2" resname="Clear list" approved="yes">
|
||||||
<source>Clear list</source>
|
<source>Clear list</source>
|
||||||
<target state="translated">Vider la liste</target>
|
<target state="translated">Vider la liste</target>
|
||||||
<jms:reference-file line="112">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="114">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="109">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="109">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="0fcdb8c5215c8bd73769c3492e47d86ec3f6837e" resname="Client application" approved="yes">
|
<trans-unit id="0fcdb8c5215c8bd73769c3492e47d86ec3f6837e" resname="Client application" approved="yes">
|
||||||
@@ -2382,8 +2382,8 @@
|
|||||||
<trans-unit id="f6fdbe48dc54dd86f63097a03bd24094dedd713a" resname="Delete" approved="yes">
|
<trans-unit id="f6fdbe48dc54dd86f63097a03bd24094dedd713a" resname="Delete" approved="yes">
|
||||||
<source>Delete</source>
|
<source>Delete</source>
|
||||||
<target state="translated">Supprimer</target>
|
<target state="translated">Supprimer</target>
|
||||||
<jms:reference-file line="517">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="519">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="518">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="520">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="25">admin/task-manager/templates.html.twig</jms:reference-file>
|
<jms:reference-file line="25">admin/task-manager/templates.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1b5737dea168495fa0495e00ce58b4832772a492" resname="Delete account successfull" approved="yes">
|
<trans-unit id="1b5737dea168495fa0495e00ce58b4832772a492" resname="Delete account successfull" approved="yes">
|
||||||
@@ -2455,7 +2455,7 @@
|
|||||||
<trans-unit id="dcce9368ad626fe4addfa719b7a16807d464aa9b" resname="Derniers envois" approved="yes">
|
<trans-unit id="dcce9368ad626fe4addfa719b7a16807d464aa9b" resname="Derniers envois" approved="yes">
|
||||||
<source>Derniers envois</source>
|
<source>Derniers envois</source>
|
||||||
<target state="translated">Derniers envois</target>
|
<target state="translated">Derniers envois</target>
|
||||||
<jms:reference-file line="126">web/developers/application.html.twig</jms:reference-file>
|
<jms:reference-file line="165">web/developers/application.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="ec52b98c45f63139a4bee23fa7d177838f2b3628" resname="Des difficultes ont ete rencontres a la connection au serveur distant" approved="yes">
|
<trans-unit id="ec52b98c45f63139a4bee23fa7d177838f2b3628" resname="Des difficultes ont ete rencontres a la connection au serveur distant" approved="yes">
|
||||||
<source>Des difficultes ont ete rencontres a la connection au serveur distant</source>
|
<source>Des difficultes ont ete rencontres a la connection au serveur distant</source>
|
||||||
@@ -2534,7 +2534,7 @@
|
|||||||
<jms:reference-file line="68">Form/Configuration/ActionsFormType.php</jms:reference-file>
|
<jms:reference-file line="68">Form/Configuration/ActionsFormType.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="fa9fd169cd55f0433c6e7a4b5d758f90d0847411" resname="Display & action settings" approved="yes">
|
<trans-unit id="fa9fd169cd55f0433c6e7a4b5d758f90d0847411" resname="Display & action settings" approved="yes">
|
||||||
<source>Display & action settings</source>
|
<source><![CDATA[Display & action settings]]></source>
|
||||||
<target state="translated">Paramétrage d'affichage et d'action</target>
|
<target state="translated">Paramétrage d'affichage et d'action</target>
|
||||||
<jms:reference-file line="152">admin/fields/templates.html.twig</jms:reference-file>
|
<jms:reference-file line="152">admin/fields/templates.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -3283,8 +3283,8 @@
|
|||||||
<source>File is not present in quarantine anymore, please refresh</source>
|
<source>File is not present in quarantine anymore, please refresh</source>
|
||||||
<target state="translated">Ce fichier n'est plus en quarantaine, rafraîchissez la page</target>
|
<target state="translated">Ce fichier n'est plus en quarantaine, rafraîchissez la page</target>
|
||||||
<jms:reference-file line="56">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="56">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="140">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="136">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="170">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="157">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="78">Controller/Prod/LazaretController.php</jms:reference-file>
|
<jms:reference-file line="78">Controller/Prod/LazaretController.php</jms:reference-file>
|
||||||
<jms:reference-file line="207">Controller/Prod/LazaretController.php</jms:reference-file>
|
<jms:reference-file line="207">Controller/Prod/LazaretController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -5924,7 +5924,7 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
|||||||
<trans-unit id="1d72d3b024f99631791dcfbc8288caa16d3ff388" resname="Résultats des derniers envois effectués pour cette application" approved="yes">
|
<trans-unit id="1d72d3b024f99631791dcfbc8288caa16d3ff388" resname="Résultats des derniers envois effectués pour cette application" approved="yes">
|
||||||
<source>Résultats des derniers envois effectués pour cette application</source>
|
<source>Résultats des derniers envois effectués pour cette application</source>
|
||||||
<target state="translated">Résultats des derniers envois effectués pour cette application</target>
|
<target state="translated">Résultats des derniers envois effectués pour cette application</target>
|
||||||
<jms:reference-file line="127">web/developers/application.html.twig</jms:reference-file>
|
<jms:reference-file line="166">web/developers/application.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="741cd64a01685389e2fabdb7091a3b70f6be63ee" resname="SMTP encryption" approved="yes">
|
<trans-unit id="741cd64a01685389e2fabdb7091a3b70f6be63ee" resname="SMTP encryption" approved="yes">
|
||||||
<source>SMTP encryption</source>
|
<source>SMTP encryption</source>
|
||||||
@@ -6115,7 +6115,7 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
|||||||
<jms:reference-file line="46">web/login/forgot-password.html.twig</jms:reference-file>
|
<jms:reference-file line="46">web/login/forgot-password.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="330">prod/actions/Push.html.twig</jms:reference-file>
|
<jms:reference-file line="330">prod/actions/Push.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="332">prod/actions/Push.html.twig</jms:reference-file>
|
<jms:reference-file line="332">prod/actions/Push.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="113">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="115">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="110">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="110">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="185">prod/orders/order_item.html.twig</jms:reference-file>
|
<jms:reference-file line="185">prod/orders/order_item.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="220">prod/orders/order_item.html.twig</jms:reference-file>
|
<jms:reference-file line="220">prod/orders/order_item.html.twig</jms:reference-file>
|
||||||
@@ -6474,8 +6474,8 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
|||||||
<trans-unit id="8017bd7de9961cf42f59abc587d0495a9d25c2a9" resname="Substitute" approved="yes">
|
<trans-unit id="8017bd7de9961cf42f59abc587d0495a9d25c2a9" resname="Substitute" approved="yes">
|
||||||
<source>Substitute</source>
|
<source>Substitute</source>
|
||||||
<target state="translated">Substituer</target>
|
<target state="translated">Substituer</target>
|
||||||
<jms:reference-file line="521">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="523">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="522">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="524">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3d48a1d66362cef46e567ddf521b0dc3233f57a2" resname="Substitution is not possible for this kind of record" approved="yes">
|
<trans-unit id="3d48a1d66362cef46e567ddf521b0dc3233f57a2" resname="Substitution is not possible for this kind of record" approved="yes">
|
||||||
<source>Substitution is not possible for this kind of record</source>
|
<source>Substitution is not possible for this kind of record</source>
|
||||||
@@ -6747,7 +6747,7 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
|||||||
<trans-unit id="1d5dadcdeeecd294a88baf096ba0440053ecf738" resname="The file was moved to the quarantine" approved="yes">
|
<trans-unit id="1d5dadcdeeecd294a88baf096ba0440053ecf738" resname="The file was moved to the quarantine" approved="yes">
|
||||||
<source>The file was moved to the quarantine</source>
|
<source>The file was moved to the quarantine</source>
|
||||||
<target state="translated">Le fichier a été déplacé en quarantaine</target>
|
<target state="translated">Le fichier a été déplacé en quarantaine</target>
|
||||||
<jms:reference-file line="338">Controller/Prod/UploadController.php</jms:reference-file>
|
<jms:reference-file line="283">Controller/Prod/UploadController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1818502d42e14ffcb9c664fd1365fafa969971ff" resname="The following errors have been detected" approved="yes">
|
<trans-unit id="1818502d42e14ffcb9c664fd1365fafa969971ff" resname="The following errors have been detected" approved="yes">
|
||||||
<source>The following errors have been detected</source>
|
<source>The following errors have been detected</source>
|
||||||
@@ -6763,7 +6763,7 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
|||||||
<trans-unit id="bae1c72ecbe1459751e4a0fee382a305bbf933b7" resname="The record was successfully created" approved="yes">
|
<trans-unit id="bae1c72ecbe1459751e4a0fee382a305bbf933b7" resname="The record was successfully created" approved="yes">
|
||||||
<source>The record was successfully created</source>
|
<source>The record was successfully created</source>
|
||||||
<target state="translated">L'enregistrement a été créé</target>
|
<target state="translated">L'enregistrement a été créé</target>
|
||||||
<jms:reference-file line="292">Controller/Prod/UploadController.php</jms:reference-file>
|
<jms:reference-file line="253">Controller/Prod/UploadController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="209817489c23cec8b7a15f6b8ca3e45daf08656d" resname="The records have been properly ordered" approved="yes">
|
<trans-unit id="209817489c23cec8b7a15f6b8ca3e45daf08656d" resname="The records have been properly ordered" approved="yes">
|
||||||
<source>The records have been properly ordered</source>
|
<source>The records have been properly ordered</source>
|
||||||
@@ -6998,7 +6998,7 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
|||||||
<trans-unit id="9764c016bb5a296069109116fa95c49815dcba82" resname="Transmited files" approved="yes">
|
<trans-unit id="9764c016bb5a296069109116fa95c49815dcba82" resname="Transmited files" approved="yes">
|
||||||
<source>Transmited files</source>
|
<source>Transmited files</source>
|
||||||
<target state="translated">Fichiers transmis</target>
|
<target state="translated">Fichiers transmis</target>
|
||||||
<jms:reference-file line="122">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="124">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="118">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="118">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6e764776541fbe428a3566f42ee7956312af98b7" resname="Trier par" approved="yes">
|
<trans-unit id="6e764776541fbe428a3566f42ee7956312af98b7" resname="Trier par" approved="yes">
|
||||||
@@ -7060,7 +7060,7 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
|||||||
<trans-unit id="d32751443628a0d2c5b31b441c1e2b3001f35dfd" resname="Unable to add file to Phraseanet" approved="yes">
|
<trans-unit id="d32751443628a0d2c5b31b441c1e2b3001f35dfd" resname="Unable to add file to Phraseanet" approved="yes">
|
||||||
<source>Unable to add file to Phraseanet</source>
|
<source>Unable to add file to Phraseanet</source>
|
||||||
<target state="translated">Impossible d'ajouter des fichiers à Phraseanet</target>
|
<target state="translated">Impossible d'ajouter des fichiers à Phraseanet</target>
|
||||||
<jms:reference-file line="350">Controller/Prod/UploadController.php</jms:reference-file>
|
<jms:reference-file line="295">Controller/Prod/UploadController.php</jms:reference-file>
|
||||||
<jms:reference-file line="195">Controller/Admin/FeedController.php</jms:reference-file>
|
<jms:reference-file line="195">Controller/Admin/FeedController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8b233593eb66b5be4da2f44ff527bd641b3a6fc1" resname="Unable to add usr to list" approved="yes">
|
<trans-unit id="8b233593eb66b5be4da2f44ff527bd641b3a6fc1" resname="Unable to add usr to list" approved="yes">
|
||||||
@@ -7850,7 +7850,7 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
|||||||
<trans-unit id="4a67615bcd64fcc9443c499676a462d835ad841e" resname="You can not upload files" approved="yes">
|
<trans-unit id="4a67615bcd64fcc9443c499676a462d835ad841e" resname="You can not upload files" approved="yes">
|
||||||
<source>You can not upload files</source>
|
<source>You can not upload files</source>
|
||||||
<target state="translated">Vous ne pouvez ajouter des fichiers</target>
|
<target state="translated">Vous ne pouvez ajouter des fichiers</target>
|
||||||
<jms:reference-file line="144">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="146">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="102">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="102">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4faca55769348dcbc9714b19438181057aa2510e" resname="You do not enough rights to update status" approved="yes">
|
<trans-unit id="4faca55769348dcbc9714b19438181057aa2510e" resname="You do not enough rights to update status" approved="yes">
|
||||||
@@ -9991,7 +9991,7 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le
|
|||||||
<trans-unit id="e0af1d0d7872c48928d4faef76c45567426e62f9" resname="boutton::retour" approved="yes">
|
<trans-unit id="e0af1d0d7872c48928d4faef76c45567426e62f9" resname="boutton::retour" approved="yes">
|
||||||
<source>boutton::retour</source>
|
<source>boutton::retour</source>
|
||||||
<target state="translated">Retour</target>
|
<target state="translated">Retour</target>
|
||||||
<jms:reference-file line="154">web/developers/application.html.twig</jms:reference-file>
|
<jms:reference-file line="193">web/developers/application.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="116">web/developers/application_form.html.twig</jms:reference-file>
|
<jms:reference-file line="116">web/developers/application_form.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="20">Bridge/Flickr/photo_deleteelement.html.twig</jms:reference-file>
|
<jms:reference-file line="20">Bridge/Flickr/photo_deleteelement.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="20">Bridge/Flickr/photoset_deleteelement.html.twig</jms:reference-file>
|
<jms:reference-file line="20">Bridge/Flickr/photoset_deleteelement.html.twig</jms:reference-file>
|
||||||
@@ -10348,6 +10348,101 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le
|
|||||||
<target state="translated">Descendant</target>
|
<target state="translated">Descendant</target>
|
||||||
<jms:reference-file line="184">SearchEngine/Elastic/ElasticSearchEngine.php</jms:reference-file>
|
<jms:reference-file line="184">SearchEngine/Elastic/ElasticSearchEngine.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="8e82b164f61602c25d57b485ed09c7a59a8e0919" resname="developers:: Events name">
|
||||||
|
<source>developers:: Events name</source>
|
||||||
|
<target state="new">developers:: Events name</target>
|
||||||
|
<jms:reference-file line="134">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="f717955140c0a034f0e08cfc1416b8443e86cbb5" resname="developers:: Events trigger this webhook">
|
||||||
|
<source>developers:: Events trigger this webhook</source>
|
||||||
|
<target state="new">developers:: Events trigger this webhook</target>
|
||||||
|
<jms:reference-file line="125">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="3a425cde38ee310e52988e9e9970f1c8dd376c13" resname="developers:: Events type">
|
||||||
|
<source>developers:: Events type</source>
|
||||||
|
<target state="new">developers:: Events type</target>
|
||||||
|
<jms:reference-file line="131">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="0b3e5bbe37fa58fc7ce4682309017ffcebe95a23" resname="developers:: Select events to trigger this webhook url">
|
||||||
|
<source>developers:: Select events to trigger this webhook url</source>
|
||||||
|
<target state="new">developers:: Select events to trigger this webhook url</target>
|
||||||
|
<jms:reference-file line="126">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="bffa41c7a64fc38e50153ea0f6f7c2368b008028" resname="developers:: a order delivered">
|
||||||
|
<source>developers:: a order delivered</source>
|
||||||
|
<target state="new">developers:: a order delivered</target>
|
||||||
|
<jms:reference-file line="372">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="9b74fc2656c9e78eec665260f31b446edf548932" resname="developers:: a order denied">
|
||||||
|
<source>developers:: a order denied</source>
|
||||||
|
<target state="new">developers:: a order denied</target>
|
||||||
|
<jms:reference-file line="373">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="c2d24cc69b826a71661c25cbd5291cdaaf95208c" resname="developers:: collection changed for record">
|
||||||
|
<source>developers:: collection changed for record</source>
|
||||||
|
<target state="new">developers:: collection changed for record</target>
|
||||||
|
<jms:reference-file line="353">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="1066a8925f76bd4aadebd7ec114b0ff771ab05ed" resname="developers:: media substituted for record">
|
||||||
|
<source>developers:: media substituted for record</source>
|
||||||
|
<target state="new">developers:: media substituted for record</target>
|
||||||
|
<jms:reference-file line="352">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="ab1c856fecf799bb87498cb26ea74b3db85b4f0b" resname="developers:: new feed entry on phraseanet">
|
||||||
|
<source>developers:: new feed entry on phraseanet</source>
|
||||||
|
<target state="new">developers:: new feed entry on phraseanet</target>
|
||||||
|
<jms:reference-file line="368">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="92259dc5125d969b7ba7fb1af0afd121147d1839" resname="developers:: new order created">
|
||||||
|
<source>developers:: new order created</source>
|
||||||
|
<target state="new">developers:: new order created</target>
|
||||||
|
<jms:reference-file line="371">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="4d09e2ac8748c5ea4bb66d3cd247941f99478125" resname="developers:: record or story created">
|
||||||
|
<source>developers:: record or story created</source>
|
||||||
|
<target state="new">developers:: record or story created</target>
|
||||||
|
<jms:reference-file line="349">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="1f036a4965ecb781192393a08a5aa0510a94524c" resname="developers:: record or story deleted">
|
||||||
|
<source>developers:: record or story deleted</source>
|
||||||
|
<target state="new">developers:: record or story deleted</target>
|
||||||
|
<jms:reference-file line="351">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="98121e43abc2802cfec12de894e041f54d7c9b2c" resname="developers:: record or story edited">
|
||||||
|
<source>developers:: record or story edited</source>
|
||||||
|
<target state="new">developers:: record or story edited</target>
|
||||||
|
<jms:reference-file line="350">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="7479330e0d56c8b37e71013043acecd329ce5f08" resname="developers:: status changed for record">
|
||||||
|
<source>developers:: status changed for record</source>
|
||||||
|
<target state="new">developers:: status changed for record</target>
|
||||||
|
<jms:reference-file line="354">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="db026e337fa7eeba8352e87ca00a28e19c854453" resname="developers:: subdef created for a record">
|
||||||
|
<source>developers:: subdef created for a record</source>
|
||||||
|
<target state="new">developers:: subdef created for a record</target>
|
||||||
|
<jms:reference-file line="357">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="18fc15413169b19baf33adc2572d53a76b86f1f5" resname="developers:: subdef creation failed for a record">
|
||||||
|
<source>developers:: subdef creation failed for a record</source>
|
||||||
|
<target state="new">developers:: subdef creation failed for a record</target>
|
||||||
|
<jms:reference-file line="358">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="e59d8fc44e34b786247fa5924eeb12a4a1202215" resname="developers:: user deleted on phraseanet">
|
||||||
|
<source>developers:: user deleted on phraseanet</source>
|
||||||
|
<target state="new">developers:: user deleted on phraseanet</target>
|
||||||
|
<jms:reference-file line="361">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="13577491a21410883cb7990ce9fdd481fca5c58b" resname="developers:: user registration granted on phraseanet">
|
||||||
|
<source>developers:: user registration granted on phraseanet</source>
|
||||||
|
<target state="new">developers:: user registration granted on phraseanet</target>
|
||||||
|
<jms:reference-file line="364">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="b7786ecdfe826e6f347dbf643191d79a196c6057" resname="developers:: user registration rejected on phraseanet">
|
||||||
|
<source>developers:: user registration rejected on phraseanet</source>
|
||||||
|
<target state="new">developers:: user registration rejected on phraseanet</target>
|
||||||
|
<jms:reference-file line="365">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="55a2ad6e3d1c02d871104d64fb811f08c54bd1b9" resname="do you want to validate" approved="yes">
|
<trans-unit id="55a2ad6e3d1c02d871104d64fb811f08c54bd1b9" resname="do you want to validate" approved="yes">
|
||||||
<source>do you want to validate</source>
|
<source>do you want to validate</source>
|
||||||
<target state="translated">Souhaitez vous valider l'opération?</target>
|
<target state="translated">Souhaitez vous valider l'opération?</target>
|
||||||
@@ -11723,7 +11818,7 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le
|
|||||||
<jms:reference-file line="564">Controller/Root/AccountController.php</jms:reference-file>
|
<jms:reference-file line="564">Controller/Root/AccountController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="bf7028b694aea3fc9ede5014a9f8b5d617b83b6f" resname="phraseanet::account: << your account can be deleted via admin interface >> " approved="yes">
|
<trans-unit id="bf7028b694aea3fc9ede5014a9f8b5d617b83b6f" resname="phraseanet::account: << your account can be deleted via admin interface >> " approved="yes">
|
||||||
<source>phraseanet::account: << your account can be deleted via admin interface >></source>
|
<source><![CDATA[phraseanet::account: << your account can be deleted via admin interface >>]]></source>
|
||||||
<target state="translated">Vos droits ne vous permettent pas de réaliser cette action, votre compte ne peut être supprimé que via l'interface d'Administration.</target>
|
<target state="translated">Vos droits ne vous permettent pas de réaliser cette action, votre compte ne peut être supprimé que via l'interface d'Administration.</target>
|
||||||
<jms:reference-file line="289">web/account/account.html.twig</jms:reference-file>
|
<jms:reference-file line="289">web/account/account.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -13875,12 +13970,12 @@ Attention: les valeurs actuellement en place seront écrasées par ces nouvelles
|
|||||||
<trans-unit id="ae34347293abc9a106150c8db2b2a3b1b7739c0b" resname="same UUID" approved="yes">
|
<trans-unit id="ae34347293abc9a106150c8db2b2a3b1b7739c0b" resname="same UUID" approved="yes">
|
||||||
<source>same UUID</source>
|
<source>same UUID</source>
|
||||||
<target state="translated">Un fichier avec le même UUID existe déjà dans la base de données</target>
|
<target state="translated">Un fichier avec le même UUID existe déjà dans la base de données</target>
|
||||||
<jms:reference-file line="87">Border/Checker/UUID.php</jms:reference-file>
|
<jms:reference-file line="76">Border/Checker/UUID.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="9efb800c6df15d107be9c0aeb19e2d218ebfe135" resname="same checksum" approved="yes">
|
<trans-unit id="9efb800c6df15d107be9c0aeb19e2d218ebfe135" resname="same checksum" approved="yes">
|
||||||
<source>same checksum</source>
|
<source>same checksum</source>
|
||||||
<target state="translated">Un fichier avec la même somme de contrôle existe déjà dans la base de données</target>
|
<target state="translated">Un fichier avec la même somme de contrôle existe déjà dans la base de données</target>
|
||||||
<jms:reference-file line="77">Border/Checker/Sha256.php</jms:reference-file>
|
<jms:reference-file line="69">Border/Checker/Sha256.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="99e3a652745118f0d3c79e13d81168544afe2b77" resname="same filename" approved="yes">
|
<trans-unit id="99e3a652745118f0d3c79e13d81168544afe2b77" resname="same filename" approved="yes">
|
||||||
<source>same filename</source>
|
<source>same filename</source>
|
||||||
@@ -14360,7 +14455,7 @@ Attention: les valeurs actuellement en place seront écrasées par ces nouvelles
|
|||||||
<jms:reference-file line="1338">web/thesaurus/thesaurus.html.twig</jms:reference-file>
|
<jms:reference-file line="1338">web/thesaurus/thesaurus.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="33df70d7fa528a31071e11d1b987b49dc947ce16" resname="thesaurus:: Supprimer cette branche ?&#10;(les termes concernes remonteront en candidats a la prochaine indexation)" approved="yes">
|
<trans-unit id="33df70d7fa528a31071e11d1b987b49dc947ce16" resname="thesaurus:: Supprimer cette branche ?&#10;(les termes concernes remonteront en candidats a la prochaine indexation)" approved="yes">
|
||||||
<source>thesaurus:: Supprimer cette branche ?&#10;(les termes concernes remonteront en candidats a la prochaine indexation)</source>
|
<source><![CDATA[thesaurus:: Supprimer cette branche ? (les termes concernes remonteront en candidats a la prochaine indexation)]]></source>
|
||||||
<target state="translated"><![CDATA[Supprimer cette branche ? (les termes concernés remonteront en candidats à la prochaine indexation)]]></target>
|
<target state="translated"><![CDATA[Supprimer cette branche ? (les termes concernés remonteront en candidats à la prochaine indexation)]]></target>
|
||||||
<jms:reference-file line="542">web/thesaurus/thesaurus.html.twig</jms:reference-file>
|
<jms:reference-file line="542">web/thesaurus/thesaurus.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -14938,9 +15033,9 @@ Attention: les valeurs actuellement en place seront écrasées par ces nouvelles
|
|||||||
<trans-unit id="39e4890a2d75f483b1cb2131b2d19f8cf96a502b" resname="upload:: Status :" approved="yes">
|
<trans-unit id="39e4890a2d75f483b1cb2131b2d19f8cf96a502b" resname="upload:: Status :" approved="yes">
|
||||||
<source>upload:: Status :</source>
|
<source>upload:: Status :</source>
|
||||||
<target state="translated">Appliquer les status</target>
|
<target state="translated">Appliquer les status</target>
|
||||||
<jms:reference-file line="80">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="81">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="75">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="75">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="462">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="463">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4fea0574cc81b5fd40ab0537b0905cc4c3806039" resname="users rights have been reseted" approved="yes">
|
<trans-unit id="4fea0574cc81b5fd40ab0537b0905cc4c3806039" resname="users rights have been reseted" approved="yes">
|
||||||
<source>users rights have been reseted</source>
|
<source>users rights have been reseted</source>
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
||||||
<file date="2021-09-24T11:11:14Z" source-language="en" target-language="nl" datatype="plaintext" original="not.available">
|
<file date="2021-11-16T13:31:31Z" source-language="en" target-language="nl" datatype="plaintext" original="not.available">
|
||||||
<header>
|
<header>
|
||||||
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
||||||
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
||||||
@@ -249,7 +249,7 @@
|
|||||||
<trans-unit id="d7c38bf41291d1f920c6e0b56a1c4a1cfc0b6743" resname="%quantity% selected files">
|
<trans-unit id="d7c38bf41291d1f920c6e0b56a1c4a1cfc0b6743" resname="%quantity% selected files">
|
||||||
<source>%quantity% selected files</source>
|
<source>%quantity% selected files</source>
|
||||||
<target state="new">%quantity% selected files</target>
|
<target state="new">%quantity% selected files</target>
|
||||||
<jms:reference-file line="111">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="113">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="eae910e840fe7df8ef8211d587e72af74ab69463" resname="%quantity_records% records have been sent for validation to %quantity_users% users">
|
<trans-unit id="eae910e840fe7df8ef8211d587e72af74ab69463" resname="%quantity_records% records have been sent for validation to %quantity_users% users">
|
||||||
<source>%quantity_records% records have been sent for validation to %quantity_users% users</source>
|
<source>%quantity_records% records have been sent for validation to %quantity_users% users</source>
|
||||||
@@ -264,7 +264,7 @@
|
|||||||
<trans-unit id="4d90df6ce9691d4bc172b9129250a5af4bef4b7f" resname="%record_count% records match the unique identifier :" approved="yes">
|
<trans-unit id="4d90df6ce9691d4bc172b9129250a5af4bef4b7f" resname="%record_count% records match the unique identifier :" approved="yes">
|
||||||
<source>%record_count% records match the unique identifier :</source>
|
<source>%record_count% records match the unique identifier :</source>
|
||||||
<target state="translated">%record_count% records zijn gelijk aan de unieke id :</target>
|
<target state="translated">%record_count% records zijn gelijk aan de unieke id :</target>
|
||||||
<jms:reference-file line="590">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="592">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1d847e60f4e92e438c94f0eb3176ce96113c63e5" resname="%s field has been created with success." approved="yes">
|
<trans-unit id="1d847e60f4e92e438c94f0eb3176ce96113c63e5" resname="%s field has been created with success." approved="yes">
|
||||||
<source>%s field has been created with success.</source>
|
<source>%s field has been created with success.</source>
|
||||||
@@ -466,12 +466,12 @@
|
|||||||
<trans-unit id="fa591b39e82a5a47573a9ed70172620c2660596c" resname="A file with the same UUID already exists in database" approved="yes">
|
<trans-unit id="fa591b39e82a5a47573a9ed70172620c2660596c" resname="A file with the same UUID already exists in database" approved="yes">
|
||||||
<source>A file with the same UUID already exists in database</source>
|
<source>A file with the same UUID already exists in database</source>
|
||||||
<target state="translated">Een bestand met dezelfde UUID bestaat al in de database</target>
|
<target state="translated">Een bestand met dezelfde UUID bestaat al in de database</target>
|
||||||
<jms:reference-file line="95">Border/Checker/UUID.php</jms:reference-file>
|
<jms:reference-file line="84">Border/Checker/UUID.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3111a4c2d6a675604d8bed8fe7ac2d7ec859bca2" resname="A file with the same checksum already exists in database" approved="yes">
|
<trans-unit id="3111a4c2d6a675604d8bed8fe7ac2d7ec859bca2" resname="A file with the same checksum already exists in database" approved="yes">
|
||||||
<source>A file with the same checksum already exists in database</source>
|
<source>A file with the same checksum already exists in database</source>
|
||||||
<target state="translated">Een bestand met dezelfde checksum bestaat al in de database</target>
|
<target state="translated">Een bestand met dezelfde checksum bestaat al in de database</target>
|
||||||
<jms:reference-file line="85">Border/Checker/Sha256.php</jms:reference-file>
|
<jms:reference-file line="77">Border/Checker/Sha256.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="aee62b552774745bfc7778349545413b39c33a9a" resname="A file with the same filename already exists in database" approved="yes">
|
<trans-unit id="aee62b552774745bfc7778349545413b39c33a9a" resname="A file with the same filename already exists in database" approved="yes">
|
||||||
<source>A file with the same filename already exists in database</source>
|
<source>A file with the same filename already exists in database</source>
|
||||||
@@ -481,7 +481,7 @@
|
|||||||
<trans-unit id="e6558cad562de9eeae699e5f7fc7c8ae076d38c8" resname="A record matches the unique identifier :" approved="yes">
|
<trans-unit id="e6558cad562de9eeae699e5f7fc7c8ae076d38c8" resname="A record matches the unique identifier :" approved="yes">
|
||||||
<source>A record matches the unique identifier :</source>
|
<source>A record matches the unique identifier :</source>
|
||||||
<target state="translated">Een record is gelijk aan de unieke id :</target>
|
<target state="translated">Een record is gelijk aan de unieke id :</target>
|
||||||
<jms:reference-file line="588">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="590">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="b73e8cb42d796f56db9989972e41942d9135c2cc" resname="A required field is missing or has an empty value" approved="yes">
|
<trans-unit id="b73e8cb42d796f56db9989972e41942d9135c2cc" resname="A required field is missing or has an empty value" approved="yes">
|
||||||
<source>A required field is missing or has an empty value</source>
|
<source>A required field is missing or has an empty value</source>
|
||||||
@@ -670,8 +670,8 @@
|
|||||||
<target state="translated">Toevoegen</target>
|
<target state="translated">Toevoegen</target>
|
||||||
<jms:reference-file line="29">prod/User/Add.html.twig</jms:reference-file>
|
<jms:reference-file line="29">prod/User/Add.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="161">prod/actions/Push.html.twig</jms:reference-file>
|
<jms:reference-file line="161">prod/actions/Push.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="514">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="516">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="515">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="517">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="983c5aed52d2f74bf36e97dc34dbce97fdd43f5b" resname="Add a new field">
|
<trans-unit id="983c5aed52d2f74bf36e97dc34dbce97fdd43f5b" resname="Add a new field">
|
||||||
<source>Add a
|
<source>Add a
|
||||||
@@ -972,7 +972,7 @@
|
|||||||
<source>An error occured</source>
|
<source>An error occured</source>
|
||||||
<target state="translated">Er is een fout opgetreden</target>
|
<target state="translated">Er is een fout opgetreden</target>
|
||||||
<jms:reference-file line="120">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="120">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="285">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="245">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="164">Controller/Prod/MoveCollectionController.php</jms:reference-file>
|
<jms:reference-file line="164">Controller/Prod/MoveCollectionController.php</jms:reference-file>
|
||||||
<jms:reference-file line="257">Controller/Prod/LazaretController.php</jms:reference-file>
|
<jms:reference-file line="257">Controller/Prod/LazaretController.php</jms:reference-file>
|
||||||
<jms:reference-file line="262">Controller/Prod/BasketController.php</jms:reference-file>
|
<jms:reference-file line="262">Controller/Prod/BasketController.php</jms:reference-file>
|
||||||
@@ -1597,7 +1597,7 @@
|
|||||||
<trans-unit id="ae1f9ef7dc1cee4760e7f208f36c225e3ab1aa1f" resname="Cancel all" approved="yes">
|
<trans-unit id="ae1f9ef7dc1cee4760e7f208f36c225e3ab1aa1f" resname="Cancel all" approved="yes">
|
||||||
<source>Cancel all</source>
|
<source>Cancel all</source>
|
||||||
<target state="translated">Annuleer alles</target>
|
<target state="translated">Annuleer alles</target>
|
||||||
<jms:reference-file line="131">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="133">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="121">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="121">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="82695f04e6097106923a58949a9e1b0fadd1a989" resname="Cannot upload Zero Byte files" approved="yes">
|
<trans-unit id="82695f04e6097106923a58949a9e1b0fadd1a989" resname="Cannot upload Zero Byte files" approved="yes">
|
||||||
@@ -1795,7 +1795,7 @@
|
|||||||
<trans-unit id="7135ee5eaed0e404c4fcf48d6eb7d2808f8e55f2" resname="Clear list" approved="yes">
|
<trans-unit id="7135ee5eaed0e404c4fcf48d6eb7d2808f8e55f2" resname="Clear list" approved="yes">
|
||||||
<source>Clear list</source>
|
<source>Clear list</source>
|
||||||
<target state="translated">Lijst wissen</target>
|
<target state="translated">Lijst wissen</target>
|
||||||
<jms:reference-file line="112">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="114">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="109">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="109">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="0fcdb8c5215c8bd73769c3492e47d86ec3f6837e" resname="Client application" approved="yes">
|
<trans-unit id="0fcdb8c5215c8bd73769c3492e47d86ec3f6837e" resname="Client application" approved="yes">
|
||||||
@@ -2388,8 +2388,8 @@
|
|||||||
<trans-unit id="f6fdbe48dc54dd86f63097a03bd24094dedd713a" resname="Delete" approved="yes">
|
<trans-unit id="f6fdbe48dc54dd86f63097a03bd24094dedd713a" resname="Delete" approved="yes">
|
||||||
<source>Delete</source>
|
<source>Delete</source>
|
||||||
<target state="translated">Verwijder</target>
|
<target state="translated">Verwijder</target>
|
||||||
<jms:reference-file line="517">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="519">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="518">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="520">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="25">admin/task-manager/templates.html.twig</jms:reference-file>
|
<jms:reference-file line="25">admin/task-manager/templates.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1b5737dea168495fa0495e00ce58b4832772a492" resname="Delete account successfull">
|
<trans-unit id="1b5737dea168495fa0495e00ce58b4832772a492" resname="Delete account successfull">
|
||||||
@@ -2461,7 +2461,7 @@
|
|||||||
<trans-unit id="dcce9368ad626fe4addfa719b7a16807d464aa9b" resname="Derniers envois">
|
<trans-unit id="dcce9368ad626fe4addfa719b7a16807d464aa9b" resname="Derniers envois">
|
||||||
<source>Derniers envois</source>
|
<source>Derniers envois</source>
|
||||||
<target state="new">Derniers envois</target>
|
<target state="new">Derniers envois</target>
|
||||||
<jms:reference-file line="126">web/developers/application.html.twig</jms:reference-file>
|
<jms:reference-file line="165">web/developers/application.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="ec52b98c45f63139a4bee23fa7d177838f2b3628" resname="Des difficultes ont ete rencontres a la connection au serveur distant" approved="yes">
|
<trans-unit id="ec52b98c45f63139a4bee23fa7d177838f2b3628" resname="Des difficultes ont ete rencontres a la connection au serveur distant" approved="yes">
|
||||||
<source>Des difficultes ont ete rencontres a la connection au serveur distant</source>
|
<source>Des difficultes ont ete rencontres a la connection au serveur distant</source>
|
||||||
@@ -3295,8 +3295,8 @@
|
|||||||
<source>File is not present in quarantine anymore, please refresh</source>
|
<source>File is not present in quarantine anymore, please refresh</source>
|
||||||
<target state="translated">Bestand is niet meer in de quarantiane aanwezig, gelieve te vernieuwen</target>
|
<target state="translated">Bestand is niet meer in de quarantiane aanwezig, gelieve te vernieuwen</target>
|
||||||
<jms:reference-file line="56">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="56">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="140">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="136">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="170">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
<jms:reference-file line="157">Model/Manipulator/LazaretManipulator.php</jms:reference-file>
|
||||||
<jms:reference-file line="78">Controller/Prod/LazaretController.php</jms:reference-file>
|
<jms:reference-file line="78">Controller/Prod/LazaretController.php</jms:reference-file>
|
||||||
<jms:reference-file line="207">Controller/Prod/LazaretController.php</jms:reference-file>
|
<jms:reference-file line="207">Controller/Prod/LazaretController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@@ -5934,7 +5934,7 @@
|
|||||||
<trans-unit id="1d72d3b024f99631791dcfbc8288caa16d3ff388" resname="Résultats des derniers envois effectués pour cette application">
|
<trans-unit id="1d72d3b024f99631791dcfbc8288caa16d3ff388" resname="Résultats des derniers envois effectués pour cette application">
|
||||||
<source>Résultats des derniers envois effectués pour cette application</source>
|
<source>Résultats des derniers envois effectués pour cette application</source>
|
||||||
<target state="new">Résultats des derniers envois effectués pour cette application</target>
|
<target state="new">Résultats des derniers envois effectués pour cette application</target>
|
||||||
<jms:reference-file line="127">web/developers/application.html.twig</jms:reference-file>
|
<jms:reference-file line="166">web/developers/application.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="741cd64a01685389e2fabdb7091a3b70f6be63ee" resname="SMTP encryption" approved="yes">
|
<trans-unit id="741cd64a01685389e2fabdb7091a3b70f6be63ee" resname="SMTP encryption" approved="yes">
|
||||||
<source>SMTP encryption</source>
|
<source>SMTP encryption</source>
|
||||||
@@ -6125,7 +6125,7 @@
|
|||||||
<jms:reference-file line="46">web/login/forgot-password.html.twig</jms:reference-file>
|
<jms:reference-file line="46">web/login/forgot-password.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="330">prod/actions/Push.html.twig</jms:reference-file>
|
<jms:reference-file line="330">prod/actions/Push.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="332">prod/actions/Push.html.twig</jms:reference-file>
|
<jms:reference-file line="332">prod/actions/Push.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="113">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="115">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="110">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="110">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="185">prod/orders/order_item.html.twig</jms:reference-file>
|
<jms:reference-file line="185">prod/orders/order_item.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="220">prod/orders/order_item.html.twig</jms:reference-file>
|
<jms:reference-file line="220">prod/orders/order_item.html.twig</jms:reference-file>
|
||||||
@@ -6484,8 +6484,8 @@
|
|||||||
<trans-unit id="8017bd7de9961cf42f59abc587d0495a9d25c2a9" resname="Substitute" approved="yes">
|
<trans-unit id="8017bd7de9961cf42f59abc587d0495a9d25c2a9" resname="Substitute" approved="yes">
|
||||||
<source>Substitute</source>
|
<source>Substitute</source>
|
||||||
<target state="translated">Vervangen</target>
|
<target state="translated">Vervangen</target>
|
||||||
<jms:reference-file line="521">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="523">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="522">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="524">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3d48a1d66362cef46e567ddf521b0dc3233f57a2" resname="Substitution is not possible for this kind of record" approved="yes">
|
<trans-unit id="3d48a1d66362cef46e567ddf521b0dc3233f57a2" resname="Substitution is not possible for this kind of record" approved="yes">
|
||||||
<source>Substitution is not possible for this kind of record</source>
|
<source>Substitution is not possible for this kind of record</source>
|
||||||
@@ -6757,7 +6757,7 @@
|
|||||||
<trans-unit id="1d5dadcdeeecd294a88baf096ba0440053ecf738" resname="The file was moved to the quarantine" approved="yes">
|
<trans-unit id="1d5dadcdeeecd294a88baf096ba0440053ecf738" resname="The file was moved to the quarantine" approved="yes">
|
||||||
<source>The file was moved to the quarantine</source>
|
<source>The file was moved to the quarantine</source>
|
||||||
<target state="translated">De file werd naar de quarantaine verplaatst</target>
|
<target state="translated">De file werd naar de quarantaine verplaatst</target>
|
||||||
<jms:reference-file line="338">Controller/Prod/UploadController.php</jms:reference-file>
|
<jms:reference-file line="283">Controller/Prod/UploadController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1818502d42e14ffcb9c664fd1365fafa969971ff" resname="The following errors have been detected" approved="yes">
|
<trans-unit id="1818502d42e14ffcb9c664fd1365fafa969971ff" resname="The following errors have been detected" approved="yes">
|
||||||
<source>The following errors have been detected</source>
|
<source>The following errors have been detected</source>
|
||||||
@@ -6773,7 +6773,7 @@
|
|||||||
<trans-unit id="bae1c72ecbe1459751e4a0fee382a305bbf933b7" resname="The record was successfully created" approved="yes">
|
<trans-unit id="bae1c72ecbe1459751e4a0fee382a305bbf933b7" resname="The record was successfully created" approved="yes">
|
||||||
<source>The record was successfully created</source>
|
<source>The record was successfully created</source>
|
||||||
<target state="translated">De record werd met succes gemaakt</target>
|
<target state="translated">De record werd met succes gemaakt</target>
|
||||||
<jms:reference-file line="292">Controller/Prod/UploadController.php</jms:reference-file>
|
<jms:reference-file line="253">Controller/Prod/UploadController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="209817489c23cec8b7a15f6b8ca3e45daf08656d" resname="The records have been properly ordered" approved="yes">
|
<trans-unit id="209817489c23cec8b7a15f6b8ca3e45daf08656d" resname="The records have been properly ordered" approved="yes">
|
||||||
<source>The records have been properly ordered</source>
|
<source>The records have been properly ordered</source>
|
||||||
@@ -7008,7 +7008,7 @@
|
|||||||
<trans-unit id="9764c016bb5a296069109116fa95c49815dcba82" resname="Transmited files" approved="yes">
|
<trans-unit id="9764c016bb5a296069109116fa95c49815dcba82" resname="Transmited files" approved="yes">
|
||||||
<source>Transmited files</source>
|
<source>Transmited files</source>
|
||||||
<target state="translated">Verzonden bestanden</target>
|
<target state="translated">Verzonden bestanden</target>
|
||||||
<jms:reference-file line="122">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="124">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="118">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="118">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6e764776541fbe428a3566f42ee7956312af98b7" resname="Trier par" approved="yes">
|
<trans-unit id="6e764776541fbe428a3566f42ee7956312af98b7" resname="Trier par" approved="yes">
|
||||||
@@ -7070,7 +7070,7 @@
|
|||||||
<trans-unit id="d32751443628a0d2c5b31b441c1e2b3001f35dfd" resname="Unable to add file to Phraseanet" approved="yes">
|
<trans-unit id="d32751443628a0d2c5b31b441c1e2b3001f35dfd" resname="Unable to add file to Phraseanet" approved="yes">
|
||||||
<source>Unable to add file to Phraseanet</source>
|
<source>Unable to add file to Phraseanet</source>
|
||||||
<target state="translated">Onmogelijk om een bestand aan Phraseanet toe te voegen</target>
|
<target state="translated">Onmogelijk om een bestand aan Phraseanet toe te voegen</target>
|
||||||
<jms:reference-file line="350">Controller/Prod/UploadController.php</jms:reference-file>
|
<jms:reference-file line="295">Controller/Prod/UploadController.php</jms:reference-file>
|
||||||
<jms:reference-file line="195">Controller/Admin/FeedController.php</jms:reference-file>
|
<jms:reference-file line="195">Controller/Admin/FeedController.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8b233593eb66b5be4da2f44ff527bd641b3a6fc1" resname="Unable to add usr to list" approved="yes">
|
<trans-unit id="8b233593eb66b5be4da2f44ff527bd641b3a6fc1" resname="Unable to add usr to list" approved="yes">
|
||||||
@@ -7860,7 +7860,7 @@
|
|||||||
<trans-unit id="4a67615bcd64fcc9443c499676a462d835ad841e" resname="You can not upload files" approved="yes">
|
<trans-unit id="4a67615bcd64fcc9443c499676a462d835ad841e" resname="You can not upload files" approved="yes">
|
||||||
<source>You can not upload files</source>
|
<source>You can not upload files</source>
|
||||||
<target state="translated">U kunt geen files uploaden</target>
|
<target state="translated">U kunt geen files uploaden</target>
|
||||||
<jms:reference-file line="144">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="146">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="102">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="102">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4faca55769348dcbc9714b19438181057aa2510e" resname="You do not enough rights to update status" approved="yes">
|
<trans-unit id="4faca55769348dcbc9714b19438181057aa2510e" resname="You do not enough rights to update status" approved="yes">
|
||||||
@@ -10000,7 +10000,7 @@
|
|||||||
<trans-unit id="e0af1d0d7872c48928d4faef76c45567426e62f9" resname="boutton::retour" approved="yes">
|
<trans-unit id="e0af1d0d7872c48928d4faef76c45567426e62f9" resname="boutton::retour" approved="yes">
|
||||||
<source>boutton::retour</source>
|
<source>boutton::retour</source>
|
||||||
<target state="translated">terug</target>
|
<target state="translated">terug</target>
|
||||||
<jms:reference-file line="154">web/developers/application.html.twig</jms:reference-file>
|
<jms:reference-file line="193">web/developers/application.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="116">web/developers/application_form.html.twig</jms:reference-file>
|
<jms:reference-file line="116">web/developers/application_form.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="20">Bridge/Flickr/photo_deleteelement.html.twig</jms:reference-file>
|
<jms:reference-file line="20">Bridge/Flickr/photo_deleteelement.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="20">Bridge/Flickr/photoset_deleteelement.html.twig</jms:reference-file>
|
<jms:reference-file line="20">Bridge/Flickr/photoset_deleteelement.html.twig</jms:reference-file>
|
||||||
@@ -10357,6 +10357,101 @@
|
|||||||
<target state="translated">oplopend</target>
|
<target state="translated">oplopend</target>
|
||||||
<jms:reference-file line="184">SearchEngine/Elastic/ElasticSearchEngine.php</jms:reference-file>
|
<jms:reference-file line="184">SearchEngine/Elastic/ElasticSearchEngine.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="8e82b164f61602c25d57b485ed09c7a59a8e0919" resname="developers:: Events name">
|
||||||
|
<source>developers:: Events name</source>
|
||||||
|
<target state="new">developers:: Events name</target>
|
||||||
|
<jms:reference-file line="134">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="f717955140c0a034f0e08cfc1416b8443e86cbb5" resname="developers:: Events trigger this webhook">
|
||||||
|
<source>developers:: Events trigger this webhook</source>
|
||||||
|
<target state="new">developers:: Events trigger this webhook</target>
|
||||||
|
<jms:reference-file line="125">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="3a425cde38ee310e52988e9e9970f1c8dd376c13" resname="developers:: Events type">
|
||||||
|
<source>developers:: Events type</source>
|
||||||
|
<target state="new">developers:: Events type</target>
|
||||||
|
<jms:reference-file line="131">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="0b3e5bbe37fa58fc7ce4682309017ffcebe95a23" resname="developers:: Select events to trigger this webhook url">
|
||||||
|
<source>developers:: Select events to trigger this webhook url</source>
|
||||||
|
<target state="new">developers:: Select events to trigger this webhook url</target>
|
||||||
|
<jms:reference-file line="126">web/developers/application.html.twig</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="bffa41c7a64fc38e50153ea0f6f7c2368b008028" resname="developers:: a order delivered">
|
||||||
|
<source>developers:: a order delivered</source>
|
||||||
|
<target state="new">developers:: a order delivered</target>
|
||||||
|
<jms:reference-file line="372">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="9b74fc2656c9e78eec665260f31b446edf548932" resname="developers:: a order denied">
|
||||||
|
<source>developers:: a order denied</source>
|
||||||
|
<target state="new">developers:: a order denied</target>
|
||||||
|
<jms:reference-file line="373">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="c2d24cc69b826a71661c25cbd5291cdaaf95208c" resname="developers:: collection changed for record">
|
||||||
|
<source>developers:: collection changed for record</source>
|
||||||
|
<target state="new">developers:: collection changed for record</target>
|
||||||
|
<jms:reference-file line="353">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="1066a8925f76bd4aadebd7ec114b0ff771ab05ed" resname="developers:: media substituted for record">
|
||||||
|
<source>developers:: media substituted for record</source>
|
||||||
|
<target state="new">developers:: media substituted for record</target>
|
||||||
|
<jms:reference-file line="352">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="ab1c856fecf799bb87498cb26ea74b3db85b4f0b" resname="developers:: new feed entry on phraseanet">
|
||||||
|
<source>developers:: new feed entry on phraseanet</source>
|
||||||
|
<target state="new">developers:: new feed entry on phraseanet</target>
|
||||||
|
<jms:reference-file line="368">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="92259dc5125d969b7ba7fb1af0afd121147d1839" resname="developers:: new order created">
|
||||||
|
<source>developers:: new order created</source>
|
||||||
|
<target state="new">developers:: new order created</target>
|
||||||
|
<jms:reference-file line="371">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="4d09e2ac8748c5ea4bb66d3cd247941f99478125" resname="developers:: record or story created">
|
||||||
|
<source>developers:: record or story created</source>
|
||||||
|
<target state="new">developers:: record or story created</target>
|
||||||
|
<jms:reference-file line="349">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="1f036a4965ecb781192393a08a5aa0510a94524c" resname="developers:: record or story deleted">
|
||||||
|
<source>developers:: record or story deleted</source>
|
||||||
|
<target state="new">developers:: record or story deleted</target>
|
||||||
|
<jms:reference-file line="351">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="98121e43abc2802cfec12de894e041f54d7c9b2c" resname="developers:: record or story edited">
|
||||||
|
<source>developers:: record or story edited</source>
|
||||||
|
<target state="new">developers:: record or story edited</target>
|
||||||
|
<jms:reference-file line="350">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="7479330e0d56c8b37e71013043acecd329ce5f08" resname="developers:: status changed for record">
|
||||||
|
<source>developers:: status changed for record</source>
|
||||||
|
<target state="new">developers:: status changed for record</target>
|
||||||
|
<jms:reference-file line="354">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="db026e337fa7eeba8352e87ca00a28e19c854453" resname="developers:: subdef created for a record">
|
||||||
|
<source>developers:: subdef created for a record</source>
|
||||||
|
<target state="new">developers:: subdef created for a record</target>
|
||||||
|
<jms:reference-file line="357">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="18fc15413169b19baf33adc2572d53a76b86f1f5" resname="developers:: subdef creation failed for a record">
|
||||||
|
<source>developers:: subdef creation failed for a record</source>
|
||||||
|
<target state="new">developers:: subdef creation failed for a record</target>
|
||||||
|
<jms:reference-file line="358">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="e59d8fc44e34b786247fa5924eeb12a4a1202215" resname="developers:: user deleted on phraseanet">
|
||||||
|
<source>developers:: user deleted on phraseanet</source>
|
||||||
|
<target state="new">developers:: user deleted on phraseanet</target>
|
||||||
|
<jms:reference-file line="361">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="13577491a21410883cb7990ce9fdd481fca5c58b" resname="developers:: user registration granted on phraseanet">
|
||||||
|
<source>developers:: user registration granted on phraseanet</source>
|
||||||
|
<target state="new">developers:: user registration granted on phraseanet</target>
|
||||||
|
<jms:reference-file line="364">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="b7786ecdfe826e6f347dbf643191d79a196c6057" resname="developers:: user registration rejected on phraseanet">
|
||||||
|
<source>developers:: user registration rejected on phraseanet</source>
|
||||||
|
<target state="new">developers:: user registration rejected on phraseanet</target>
|
||||||
|
<jms:reference-file line="365">Controller/Root/DeveloperController.php</jms:reference-file>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="55a2ad6e3d1c02d871104d64fb811f08c54bd1b9" resname="do you want to validate" approved="yes">
|
<trans-unit id="55a2ad6e3d1c02d871104d64fb811f08c54bd1b9" resname="do you want to validate" approved="yes">
|
||||||
<source>do you want to validate</source>
|
<source>do you want to validate</source>
|
||||||
<target state="translated">Wilt u goedkeuren</target>
|
<target state="translated">Wilt u goedkeuren</target>
|
||||||
@@ -13875,12 +13970,12 @@
|
|||||||
<trans-unit id="ae34347293abc9a106150c8db2b2a3b1b7739c0b" resname="same UUID">
|
<trans-unit id="ae34347293abc9a106150c8db2b2a3b1b7739c0b" resname="same UUID">
|
||||||
<source>same UUID</source>
|
<source>same UUID</source>
|
||||||
<target state="new">same UUID</target>
|
<target state="new">same UUID</target>
|
||||||
<jms:reference-file line="87">Border/Checker/UUID.php</jms:reference-file>
|
<jms:reference-file line="76">Border/Checker/UUID.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="9efb800c6df15d107be9c0aeb19e2d218ebfe135" resname="same checksum">
|
<trans-unit id="9efb800c6df15d107be9c0aeb19e2d218ebfe135" resname="same checksum">
|
||||||
<source>same checksum</source>
|
<source>same checksum</source>
|
||||||
<target state="new">same checksum</target>
|
<target state="new">same checksum</target>
|
||||||
<jms:reference-file line="77">Border/Checker/Sha256.php</jms:reference-file>
|
<jms:reference-file line="69">Border/Checker/Sha256.php</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="99e3a652745118f0d3c79e13d81168544afe2b77" resname="same filename">
|
<trans-unit id="99e3a652745118f0d3c79e13d81168544afe2b77" resname="same filename">
|
||||||
<source>same filename</source>
|
<source>same filename</source>
|
||||||
@@ -14938,9 +15033,9 @@
|
|||||||
<trans-unit id="39e4890a2d75f483b1cb2131b2d19f8cf96a502b" resname="upload:: Status :" approved="yes">
|
<trans-unit id="39e4890a2d75f483b1cb2131b2d19f8cf96a502b" resname="upload:: Status :" approved="yes">
|
||||||
<source>upload:: Status :</source>
|
<source>upload:: Status :</source>
|
||||||
<target state="translated">Status</target>
|
<target state="translated">Status</target>
|
||||||
<jms:reference-file line="80">prod/upload/upload.html.twig</jms:reference-file>
|
<jms:reference-file line="81">prod/upload/upload.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="75">prod/upload/upload-flash.html.twig</jms:reference-file>
|
<jms:reference-file line="75">prod/upload/upload-flash.html.twig</jms:reference-file>
|
||||||
<jms:reference-file line="462">prod/upload/lazaret.html.twig</jms:reference-file>
|
<jms:reference-file line="463">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4fea0574cc81b5fd40ab0537b0905cc4c3806039" resname="users rights have been reseted" approved="yes">
|
<trans-unit id="4fea0574cc81b5fd40ab0537b0905cc4c3806039" resname="users rights have been reseted" approved="yes">
|
||||||
<source>users rights have been reseted</source>
|
<source>users rights have been reseted</source>
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
||||||
<file date="2021-09-24T11:10:19Z" source-language="en" target-language="de" datatype="plaintext" original="not.available">
|
<file date="2021-11-16T13:30:36Z" source-language="en" target-language="de" datatype="plaintext" original="not.available">
|
||||||
<header>
|
<header>
|
||||||
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
||||||
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
||||||
<file date="2021-09-24T11:10:36Z" source-language="en" target-language="en" datatype="plaintext" original="not.available">
|
<file date="2021-11-16T13:30:52Z" source-language="en" target-language="en" datatype="plaintext" original="not.available">
|
||||||
<header>
|
<header>
|
||||||
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
||||||
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
||||||
<file date="2021-09-24T11:10:54Z" source-language="en" target-language="fr" datatype="plaintext" original="not.available">
|
<file date="2021-11-16T13:31:10Z" source-language="en" target-language="fr" datatype="plaintext" original="not.available">
|
||||||
<header>
|
<header>
|
||||||
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
||||||
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
||||||
<file date="2021-09-24T11:11:14Z" source-language="en" target-language="nl" datatype="plaintext" original="not.available">
|
<file date="2021-11-16T13:31:31Z" source-language="en" target-language="nl" datatype="plaintext" original="not.available">
|
||||||
<header>
|
<header>
|
||||||
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
<tool tool-id="JMSTranslationBundle" tool-name="JMSTranslationBundle" tool-version="1.1.0-DEV"/>
|
||||||
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
||||||
|
@@ -64,10 +64,10 @@ class ApiApplication extends \Alchemy\Phrasea\Model\Entities\ApiApplication impl
|
|||||||
public function __sleep()
|
public function __sleep()
|
||||||
{
|
{
|
||||||
if ($this->__isInitialized__) {
|
if ($this->__isInitialized__) {
|
||||||
return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'creator', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'type', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'description', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'website', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'clientId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'clientSecret', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'redirectUri', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'activated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'grantPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'accounts', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'webhookUrl'];
|
return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'creator', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'type', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'description', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'website', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'clientId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'clientSecret', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'redirectUri', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'activated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'grantPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'accounts', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'webhookUrl', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'listenedEvents', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'hmacKey', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'webhookUnactivate'];
|
||||||
}
|
}
|
||||||
|
|
||||||
return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'creator', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'type', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'description', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'website', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'clientId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'clientSecret', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'redirectUri', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'activated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'grantPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'accounts', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'webhookUrl'];
|
return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'creator', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'type', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'description', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'website', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'clientId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'clientSecret', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'redirectUri', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'activated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'grantPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'accounts', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'webhookUrl', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'listenedEvents', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'hmacKey', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'webhookUnactivate'];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -507,4 +507,92 @@ class ApiApplication extends \Alchemy\Phrasea\Model\Entities\ApiApplication impl
|
|||||||
return parent::addAccount($account);
|
return parent::addAccount($account);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function setListenedEvents(array $listenedEvents)
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->__initializer__ && $this->__initializer__->__invoke($this, 'setListenedEvents', [$listenedEvents]);
|
||||||
|
|
||||||
|
return parent::setListenedEvents($listenedEvents);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function addListenedEvent($eventName)
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->__initializer__ && $this->__initializer__->__invoke($this, 'addListenedEvent', [$eventName]);
|
||||||
|
|
||||||
|
return parent::addListenedEvent($eventName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function removeListenedEvent($eventName)
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->__initializer__ && $this->__initializer__->__invoke($this, 'removeListenedEvent', [$eventName]);
|
||||||
|
|
||||||
|
return parent::removeListenedEvent($eventName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function getListenedEvents()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getListenedEvents', []);
|
||||||
|
|
||||||
|
return parent::getListenedEvents();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function getHmacKey()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getHmacKey', []);
|
||||||
|
|
||||||
|
return parent::getHmacKey();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function setHmacKey($hmacKey)
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->__initializer__ && $this->__initializer__->__invoke($this, 'setHmacKey', [$hmacKey]);
|
||||||
|
|
||||||
|
return parent::setHmacKey($hmacKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function isWebhookUnactivate()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->__initializer__ && $this->__initializer__->__invoke($this, 'isWebhookUnactivate', []);
|
||||||
|
|
||||||
|
return parent::isWebhookUnactivate();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function setWebhookUnactivate($webhookUnactivate)
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->__initializer__ && $this->__initializer__->__invoke($this, 'setWebhookUnactivate', [$webhookUnactivate]);
|
||||||
|
|
||||||
|
return parent::setWebhookUnactivate($webhookUnactivate);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -64,10 +64,10 @@ class FeedEntry extends \Alchemy\Phrasea\Model\Entities\FeedEntry implements \Do
|
|||||||
public function __sleep()
|
public function __sleep()
|
||||||
{
|
{
|
||||||
if ($this->__isInitialized__) {
|
if ($this->__isInitialized__) {
|
||||||
return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'title', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'subtitle', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'authorName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'authorEmail', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'updatedOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'items', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'publisher', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'feed'];
|
return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'title', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'subtitle', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'authorName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'authorEmail', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'updatedOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'items', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'publisher', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'feed', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'notifyEmailOn'];
|
||||||
}
|
}
|
||||||
|
|
||||||
return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'title', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'subtitle', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'authorName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'authorEmail', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'updatedOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'items', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'publisher', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'feed'];
|
return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'title', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'subtitle', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'authorName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'authorEmail', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'updatedOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'items', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'publisher', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'feed', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'notifyEmailOn'];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -397,6 +397,28 @@ class FeedEntry extends \Alchemy\Phrasea\Model\Entities\FeedEntry implements \Do
|
|||||||
return parent::getFeed();
|
return parent::getFeed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function getNotifyEmailOn()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getNotifyEmailOn', []);
|
||||||
|
|
||||||
|
return parent::getNotifyEmailOn();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function setNotifyEmailOn($notifyEmailOn)
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->__initializer__ && $this->__initializer__->__invoke($this, 'setNotifyEmailOn', [$notifyEmailOn]);
|
||||||
|
|
||||||
|
return parent::setNotifyEmailOn($notifyEmailOn);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
|
@@ -64,10 +64,10 @@ class User extends \Alchemy\Phrasea\Model\Entities\User implements \Doctrine\ORM
|
|||||||
public function __sleep()
|
public function __sleep()
|
||||||
{
|
{
|
||||||
if ($this->__isInitialized__) {
|
if ($this->__isInitialized__) {
|
||||||
return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'email', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'password', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'saltedPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'firstName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'gender', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'city', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'country', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'zipCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'geonameId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'locale', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'timezone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'job', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'activity', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'company', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'phone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'fax', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'admin', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'guest', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'requestNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ldapCreated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastAppliedTemplate', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'pushList', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeFtpProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastConnection', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailLocked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'deleted', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'templateOwner', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ftpCredential', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'queries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'settings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'notificationSettings'];
|
return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'email', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'password', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'saltedPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'firstName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'gender', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'city', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'country', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'zipCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'geonameId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'locale', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'timezone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'job', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'activity', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'company', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'phone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'fax', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'admin', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'guest', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'requestNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ldapCreated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastAppliedTemplate', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'pushList', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeFtpProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastConnection', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailLocked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'deleted', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'templateOwner', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ftpCredential', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'queries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'settings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'notificationSettings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'grantedApi'];
|
||||||
}
|
}
|
||||||
|
|
||||||
return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'email', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'password', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'saltedPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'firstName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'gender', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'city', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'country', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'zipCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'geonameId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'locale', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'timezone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'job', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'activity', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'company', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'phone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'fax', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'admin', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'guest', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'requestNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ldapCreated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastAppliedTemplate', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'pushList', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeFtpProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastConnection', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailLocked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'deleted', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'templateOwner', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ftpCredential', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'queries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'settings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'notificationSettings'];
|
return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'email', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'password', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'saltedPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'firstName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'gender', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'city', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'country', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'zipCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'geonameId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'locale', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'timezone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'job', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'activity', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'company', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'phone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'fax', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'admin', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'guest', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'requestNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ldapCreated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastAppliedTemplate', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'pushList', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeFtpProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastConnection', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailLocked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'deleted', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'templateOwner', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ftpCredential', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'queries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'settings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'notificationSettings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'grantedApi'];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1046,6 +1046,28 @@ class User extends \Alchemy\Phrasea\Model\Entities\User implements \Doctrine\ORM
|
|||||||
return parent::addNotificationSettings($notificationSetting);
|
return parent::addNotificationSettings($notificationSetting);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function hasGrantedApi()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->__initializer__ && $this->__initializer__->__invoke($this, 'hasGrantedApi', []);
|
||||||
|
|
||||||
|
return parent::hasGrantedApi();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function setGrantedApi($grantedApi)
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->__initializer__ && $this->__initializer__->__invoke($this, 'setGrantedApi', [$grantedApi]);
|
||||||
|
|
||||||
|
return parent::setGrantedApi($grantedApi);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
|
@@ -122,6 +122,45 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
<h1>{{ "developers:: Events trigger this webhook" | trans }}</h1>
|
||||||
|
<p>{{ "developers:: Select events to trigger this webhook url" | trans }}</p>
|
||||||
|
<table class="table table-condensed table-bordered">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
{{ "developers:: Events type" | trans }}
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
{{ "developers:: Events name" | trans }}
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for webhook_type, webhooks in webhook_event_list %}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{{ webhook_type }}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<ul class="unstyled">
|
||||||
|
{% for webhook_name, webhook_description in webhooks %}
|
||||||
|
<li>
|
||||||
|
<label class="checkbox" for="{{ webhook_name }}" >
|
||||||
|
<input class="update-listened-event" type="checkbox" id="{{ webhook_name }}"
|
||||||
|
data-path="{{ path('developers_application_listened_event', {"application" : application.getId(), "event_name": webhook_name}) }}"
|
||||||
|
{% if webhook_name in application.getListenedEvents() %} checked {% endif %}
|
||||||
|
name="{{ webhook_name }}" value="1"/>
|
||||||
|
<strong> {{ webhook_name }} </strong>
|
||||||
|
<p> {{ webhook_description }} </p>
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
{% if deliveries | length > 0 %}
|
{% if deliveries | length > 0 %}
|
||||||
<h1>{{ "Derniers envois" | trans }}</h1>
|
<h1>{{ "Derniers envois" | trans }}</h1>
|
||||||
<p> {{ "Résultats des derniers envois effectués pour cette application" | trans }}</p>
|
<p> {{ "Résultats des derniers envois effectués pour cette application" | trans }}</p>
|
||||||
|
@@ -1,17 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Alchemy\Tests\Phrasea\Model\Repositories;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @group functional
|
|
||||||
* @group legacy
|
|
||||||
*/
|
|
||||||
class WebhookEventRepositoryTest extends \PhraseanetTestCase
|
|
||||||
{
|
|
||||||
public function testFindUnprocessedEvents()
|
|
||||||
{
|
|
||||||
$events = self::$DI['app']['orm.em']->getRepository('Phraseanet:WebhookEvent')->findUnprocessedEvents();
|
|
||||||
// I have no clue as to why this magic number is here, probably best to discard test
|
|
||||||
$this->assertCount(34, $events);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -36,6 +36,10 @@ class EventProcessorFactoryTest extends \PhraseanetTestCase
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
[WebhookEvent::FEED_ENTRY_TYPE, 'Alchemy\Phrasea\Webhook\Processor\FeedEntryProcessor'],
|
[WebhookEvent::FEED_ENTRY_TYPE, 'Alchemy\Phrasea\Webhook\Processor\FeedEntryProcessor'],
|
||||||
|
[WebhookEvent::RECORD_TYPE, 'Alchemy\Phrasea\Webhook\Processor\RecordEventProcessor'],
|
||||||
|
[WebhookEvent::RECORD_SUBDEF_TYPE, 'Alchemy\Phrasea\Webhook\Processor\SubdefEventProcessor'],
|
||||||
|
[WebhookEvent::ORDER_TYPE, 'Alchemy\Phrasea\Webhook\Processor\OrderNotificationProcessor'],
|
||||||
|
[WebhookEvent::USER_TYPE, 'Alchemy\Phrasea\Webhook\Processor\UserProcessor']
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -49,8 +49,11 @@ class FeedEntryProcessorTest extends \PhraseanetTestCase
|
|||||||
{
|
{
|
||||||
$event = new WebhookEvent();
|
$event = new WebhookEvent();
|
||||||
$event->setData([
|
$event->setData([
|
||||||
'feed_id' => self::$DI['feed_public_entry']->getFeed()->getId(),
|
'feed_id' => self::$DI['feed_public_entry']->getFeed()->getId(),
|
||||||
'entry_id' => self::$DI['feed_public_entry']->getId()
|
'entry_id' => self::$DI['feed_public_entry']->getId(),
|
||||||
|
'url' => 'server_name',
|
||||||
|
'instance_name' => 'instance_name',
|
||||||
|
'event_time' => new \DateTime()
|
||||||
]);
|
]);
|
||||||
$event->setName(WebhookEvent::NEW_FEED_ENTRY);
|
$event->setName(WebhookEvent::NEW_FEED_ENTRY);
|
||||||
$event->setType(WebhookEvent::FEED_ENTRY_TYPE);
|
$event->setType(WebhookEvent::FEED_ENTRY_TYPE);
|
||||||
|
@@ -0,0 +1,493 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Alchemy\Tests\Phrasea\WorkerManager\Worker;
|
||||||
|
|
||||||
|
use Alchemy\Phrasea\Model\Entities\Order;
|
||||||
|
use Alchemy\Phrasea\Model\Entities\WebhookEvent;
|
||||||
|
use Alchemy\Phrasea\WorkerManager\Worker\WebhookWorker;
|
||||||
|
use GuzzleHttp\Client;
|
||||||
|
use GuzzleHttp\Psr7\Request;
|
||||||
|
|
||||||
|
class WebhookWorkerTest extends \PhraseanetTestCase
|
||||||
|
{
|
||||||
|
private $events = [
|
||||||
|
WebhookEvent::RECORD_TYPE => [
|
||||||
|
WebhookEvent::RECORD_CREATED,
|
||||||
|
WebhookEvent::RECORD_EDITED,
|
||||||
|
WebhookEvent::RECORD_DELETED,
|
||||||
|
WebhookEvent::RECORD_MEDIA_SUBSTITUTED,
|
||||||
|
WebhookEvent::RECORD_COLLECTION_CHANGED,
|
||||||
|
WebhookEvent::RECORD_STATUS_CHANGED,
|
||||||
|
],
|
||||||
|
WebhookEvent::RECORD_SUBDEF_TYPE => [
|
||||||
|
WebhookEvent::RECORD_SUBDEF_CREATED,
|
||||||
|
WebhookEvent::RECORD_SUBDEF_FAILED,
|
||||||
|
],
|
||||||
|
WebhookEvent::USER_TYPE => [
|
||||||
|
WebhookEvent::USER_CREATED,
|
||||||
|
WebhookEvent::USER_DELETED,
|
||||||
|
],
|
||||||
|
WebhookEvent::USER_REGISTRATION_TYPE => [
|
||||||
|
WebhookEvent::USER_REGISTRATION_GRANTED,
|
||||||
|
WebhookEvent::USER_REGISTRATION_REJECTED,
|
||||||
|
],
|
||||||
|
WebhookEvent::FEED_ENTRY_TYPE => [
|
||||||
|
WebhookEvent::NEW_FEED_ENTRY,
|
||||||
|
],
|
||||||
|
WebhookEvent::ORDER_TYPE => [
|
||||||
|
WebhookEvent::ORDER_CREATED,
|
||||||
|
WebhookEvent::ORDER_DELIVERED,
|
||||||
|
WebhookEvent::ORDER_DENIED
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
private $eventsData;
|
||||||
|
|
||||||
|
public function testDeliverDataWithoutRestriction()
|
||||||
|
{
|
||||||
|
$em = self::$DI['app']['orm.em'];
|
||||||
|
$webhookUrl = 'http://webhook.com/webhook/';
|
||||||
|
|
||||||
|
$event = new WebhookEvent();
|
||||||
|
$event->setName('record.created')
|
||||||
|
->setType('record')
|
||||||
|
->setData([
|
||||||
|
'databox_id' => self::$DI['record_1']->get_sbas_id(),
|
||||||
|
'record_id' => self::$DI['record_1']->get_record_id(),
|
||||||
|
'collection_name' => self::$DI['record_1']->getCollection()->get_name(),
|
||||||
|
'record_type' => 'record'
|
||||||
|
])
|
||||||
|
->setCollectionBaseIds([])
|
||||||
|
;
|
||||||
|
|
||||||
|
//minimum the app user access to the record collection
|
||||||
|
self::$DI['app']->getAclForUser(self::$DI['user_1'])->give_access_to_base([self::$DI['record_1']->getBaseId()]);
|
||||||
|
$em->persist($event);
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
self::$DI['app']['manipulator.api-application']->setWebhookUrl(self::$DI['oauth2-app-user1'], $webhookUrl);
|
||||||
|
|
||||||
|
$payload = [
|
||||||
|
'id' => $event->getId(),
|
||||||
|
'published' => time()
|
||||||
|
];
|
||||||
|
|
||||||
|
$client = new Client();
|
||||||
|
|
||||||
|
$this->deliverEventTest($client, $event, $payload);
|
||||||
|
|
||||||
|
return $event;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function deliverEventTest(Client $client, WebhookEvent $event, $payload)
|
||||||
|
{
|
||||||
|
$webhookWorker = new WebhookWorker(self::$DI['app']);
|
||||||
|
$webhookWorker->setApplicationBox(self::$DI['app']['phraseanet.appbox']);
|
||||||
|
$webhookWorker->setDispatcher(self::$DI['app']['dispatcher']);
|
||||||
|
|
||||||
|
$requestResult = $webhookWorker->deliverEvent($client, [self::$DI['oauth2-app-user1']], $event, $payload);
|
||||||
|
|
||||||
|
$this->assertCount(1, $requestResult);
|
||||||
|
|
||||||
|
$deliveryCreated = self::$DI['app']['repo.webhook-delivery']->findOneBy(['event' => $event]);
|
||||||
|
$deliveryId = $deliveryCreated != null ? $deliveryCreated->getId() : null;
|
||||||
|
|
||||||
|
$this->assertEquals($deliveryId, key($requestResult));
|
||||||
|
|
||||||
|
/** @var Request $request */
|
||||||
|
foreach ($requestResult as $request) {
|
||||||
|
$this->assertEquals('POST', $request->getMethod());
|
||||||
|
$this->assertEquals('http://webhook.com/webhook/'."#".$deliveryId, $request->getUri());
|
||||||
|
$this->assertArrayHasKey('Content-Type', $request->getHeaders());
|
||||||
|
$this->assertContains('application/vnd.phraseanet.event+json', $request->getHeader('Content-Type'));
|
||||||
|
$requestBody = json_decode($request->getBody()->__tostring(), true);
|
||||||
|
|
||||||
|
$this->assertEquals('record.created', $requestBody['event']);
|
||||||
|
$this->assertEquals(self::$DI['record_1']->get_sbas_id(), $requestBody['data']['databox_id']);
|
||||||
|
$this->assertEquals(self::$DI['record_1']->get_record_id(), $requestBody['data']['record_id']);
|
||||||
|
$this->assertEquals('record', $requestBody['data']['record_type']);
|
||||||
|
$this->assertArrayHasKey('event_time', $requestBody);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @depends testDeliverDataWithoutRestriction
|
||||||
|
*
|
||||||
|
* @param WebhookEvent $event
|
||||||
|
*/
|
||||||
|
public function testNoDeliverWithSpecifiedListenedEvent(WebhookEvent $event)
|
||||||
|
{
|
||||||
|
self::$DI['oauth2-app-user1']->setListenedEvents(['record.edited']);
|
||||||
|
$payload = [
|
||||||
|
'id' => $event->getId(),
|
||||||
|
'published' => time()
|
||||||
|
];
|
||||||
|
|
||||||
|
$client = new Client();
|
||||||
|
|
||||||
|
$webhookWorker = new WebhookWorker(self::$DI['app']);
|
||||||
|
$webhookWorker->setApplicationBox(self::$DI['app']['phraseanet.appbox']);
|
||||||
|
$webhookWorker->setDispatcher(self::$DI['app']['dispatcher']);
|
||||||
|
|
||||||
|
$requestResult = $webhookWorker->deliverEvent($client, [self::$DI['oauth2-app-user1']], $event, $payload);
|
||||||
|
|
||||||
|
// normally no request sended because record.created sended
|
||||||
|
$this->assertCount(0, $requestResult);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @depends testDeliverDataWithoutRestriction
|
||||||
|
*/
|
||||||
|
public function testNoDeliverWithCreatorNoCollectionRight()
|
||||||
|
{
|
||||||
|
$em = self::$DI['app']['orm.em'];
|
||||||
|
|
||||||
|
// revoke user creator access for the record collection
|
||||||
|
self::$DI['app']->getAclForUser(self::$DI['user_1'])->revoke_access_from_bases([self::$DI['record_1']->getBaseId()]);
|
||||||
|
|
||||||
|
$event = new WebhookEvent();
|
||||||
|
$event->setName('record.created')
|
||||||
|
->setType('record')
|
||||||
|
->setData([
|
||||||
|
'databox_id' => self::$DI['record_1']->get_sbas_id(),
|
||||||
|
'record_id' => self::$DI['record_1']->get_record_id(),
|
||||||
|
'collection_name' => self::$DI['record_1']->getCollection()->get_name(),
|
||||||
|
'record_type' => 'record'
|
||||||
|
])
|
||||||
|
->setCollectionBaseIds([self::$DI['record_1']->getBaseId()])
|
||||||
|
;
|
||||||
|
|
||||||
|
$em->persist($event);
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
$payload = [
|
||||||
|
'id' => $event->getId(),
|
||||||
|
'published' => time()
|
||||||
|
];
|
||||||
|
|
||||||
|
$client = new Client();
|
||||||
|
|
||||||
|
$webhookWorker = new WebhookWorker(self::$DI['app']);
|
||||||
|
$webhookWorker->setApplicationBox(self::$DI['app']['phraseanet.appbox']);
|
||||||
|
$webhookWorker->setDispatcher(self::$DI['app']['dispatcher']);
|
||||||
|
|
||||||
|
$requestResult = $webhookWorker->deliverEvent($client, [self::$DI['oauth2-app-user1']], $event, $payload);
|
||||||
|
|
||||||
|
// normally no request sended because user creator have no access to the record collection
|
||||||
|
$this->assertCount(0, $requestResult);
|
||||||
|
|
||||||
|
// restitute the old right for others test
|
||||||
|
self::$DI['app']->getAclForUser(self::$DI['user_1'])->give_access_to_base([self::$DI['record_1']->getBaseId()]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDeliverAllEventWithoutBaseIdRestrictions()
|
||||||
|
{
|
||||||
|
$this->loadEventsData();
|
||||||
|
// add right canadmin for a creatorUser in at least one collection
|
||||||
|
// needed for test user.created and deleting phantom user.deleted
|
||||||
|
self::$DI['app']->getAclForUser(self::$DI['user_1'])->update_rights_to_base(self::$DI['record_1']->getBaseId(), [\ACL::CANADMIN => true]);
|
||||||
|
|
||||||
|
$em = self::$DI['app']['orm.em'];
|
||||||
|
$client = new Client();
|
||||||
|
|
||||||
|
$webhookWorker = new WebhookWorker(self::$DI['app']);
|
||||||
|
$webhookWorker->setApplicationBox(self::$DI['app']['phraseanet.appbox']);
|
||||||
|
$webhookWorker->setDispatcher(self::$DI['app']['dispatcher']);
|
||||||
|
|
||||||
|
foreach ($this->events as $type => $tEvent) {
|
||||||
|
foreach ($tEvent as $eventName) {
|
||||||
|
$event = new WebhookEvent();
|
||||||
|
$event
|
||||||
|
->setName($eventName)
|
||||||
|
->setType($type)
|
||||||
|
->setData($this->eventsData[$type])
|
||||||
|
->setCollectionBaseIds([])
|
||||||
|
;
|
||||||
|
|
||||||
|
$em->persist($event);
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
$payload = [
|
||||||
|
'id' => $event->getId(),
|
||||||
|
'published' => time()
|
||||||
|
];
|
||||||
|
|
||||||
|
$requestResult = $webhookWorker->deliverEvent($client, [self::$DI['oauth2-app-user1']], $event, $payload);
|
||||||
|
$this->assertCount(1, $requestResult);
|
||||||
|
|
||||||
|
/** @var Request $request */
|
||||||
|
$request = current($requestResult);
|
||||||
|
$requestBody = json_decode($request->getBody()->__tostring(), true);
|
||||||
|
|
||||||
|
$this->assertInternalType('array', $requestBody);
|
||||||
|
$this->assertArrayHasKey('event', $requestBody);
|
||||||
|
$this->assertArrayHasKey('event_time', $requestBody);
|
||||||
|
$this->assertArrayHasKey('webhookId', $requestBody);
|
||||||
|
|
||||||
|
switch (true) {
|
||||||
|
case (in_array($requestBody['event'], $this->events[WebhookEvent::RECORD_TYPE])):
|
||||||
|
$this->assertArrayHasKey('data', $requestBody);
|
||||||
|
$this->assertEquals(self::$DI['record_1']->get_sbas_id(), $requestBody['data']['databox_id']);
|
||||||
|
$this->assertEquals(self::$DI['record_1']->get_record_id(), $requestBody['data']['record_id']);
|
||||||
|
$this->assertEquals('record', $requestBody['data']['record_type']);
|
||||||
|
$this->assertEquals(self::$DI['record_1']->getCollection()->get_name(), $requestBody['data']['collection_name']);
|
||||||
|
$this->assertCount(7, $requestBody);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case (in_array($requestBody['event'], $this->events[WebhookEvent::RECORD_SUBDEF_TYPE])):
|
||||||
|
$this->assertArrayHasKey('data', $requestBody);
|
||||||
|
$this->assertEquals(self::$DI['record_1']->get_sbas_id(), $requestBody['data']['databox_id']);
|
||||||
|
$this->assertEquals(self::$DI['record_1']->get_record_id(), $requestBody['data']['record_id']);
|
||||||
|
$this->assertEquals('thumbnail', $requestBody['data']['subdef']);
|
||||||
|
$this->assertCount(7, $requestBody);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case (in_array($requestBody['event'], $this->events[WebhookEvent::USER_TYPE])):
|
||||||
|
$this->assertArrayNotHasKey('data', $requestBody);
|
||||||
|
$this->assertArrayHasKey('user', $requestBody);
|
||||||
|
$this->assertEquals(self::$DI['user_notAdmin']->getId(), $requestBody['user']['id']);
|
||||||
|
$this->assertEquals('noone_not_admin@example.com', $requestBody['user']['email']);
|
||||||
|
$this->assertEquals('noone_not_admin@example.com', $requestBody['user']['login']);
|
||||||
|
$this->assertCount(7, $requestBody);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case (in_array($requestBody['event'], $this->events[WebhookEvent::USER_REGISTRATION_TYPE])):
|
||||||
|
$this->assertArrayNotHasKey('data', $requestBody);
|
||||||
|
$this->assertArrayHasKey('user', $requestBody);
|
||||||
|
$this->assertArrayHasKey('granted', $requestBody);
|
||||||
|
$this->assertArrayHasKey('rejected', $requestBody);
|
||||||
|
$this->assertEquals(self::$DI['user_notAdmin']->getId(), $requestBody['user']['id']);
|
||||||
|
$this->assertEquals(['rejected'], $requestBody['rejected']);
|
||||||
|
$this->assertEquals(['granted'], $requestBody['granted']);
|
||||||
|
$this->assertCount(9, $requestBody);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case (in_array($requestBody['event'], $this->events[WebhookEvent::FEED_ENTRY_TYPE])):
|
||||||
|
$this->assertArrayNotHasKey('data', $requestBody);
|
||||||
|
$this->assertArrayHasKey('feed', $requestBody);
|
||||||
|
$this->assertArrayHasKey('entry', $requestBody);
|
||||||
|
$this->assertEquals(self::$DI['feed_public_entry']->getId(), $requestBody['entry']['id']);
|
||||||
|
$this->assertCount(10, $requestBody);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case (in_array($requestBody['event'], $this->events[WebhookEvent::ORDER_TYPE])):
|
||||||
|
$this->assertArrayNotHasKey('data', $requestBody);
|
||||||
|
$this->assertArrayHasKey('user', $requestBody);
|
||||||
|
$this->assertArrayHasKey('order', $requestBody);
|
||||||
|
$this->assertEquals(self::$DI['user_notAdmin']->getId(), $requestBody['user']['id']);
|
||||||
|
$this->assertCount(8, $requestBody);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDeliverWithValidRight()
|
||||||
|
{
|
||||||
|
$this->loadEventsData();
|
||||||
|
|
||||||
|
$em = self::$DI['app']['orm.em'];
|
||||||
|
foreach ($this->events as $type => $tEvent) {
|
||||||
|
foreach ($tEvent as $eventName) {
|
||||||
|
$event = new WebhookEvent();
|
||||||
|
$event
|
||||||
|
->setName($eventName)
|
||||||
|
->setType($type)
|
||||||
|
->setData($this->eventsData[$type])
|
||||||
|
->setCollectionBaseIds([self::$DI['record_1']->getBaseId()])
|
||||||
|
;
|
||||||
|
|
||||||
|
$em->persist($event);
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
list($rightSbas, $rightBase) = $this->getUserActiveRights(WebhookEvent::$eventsAccessRight, $eventName);
|
||||||
|
|
||||||
|
$rightSbasReset = [
|
||||||
|
\ACL::BAS_MODIFY_STRUCT => false,
|
||||||
|
\ACL::BAS_MODIF_TH => false,
|
||||||
|
\ACL::BAS_CHUPUB => false,
|
||||||
|
\ACL::BAS_MANAGE => false,
|
||||||
|
];
|
||||||
|
|
||||||
|
// re-initialize user right
|
||||||
|
self::$DI['app']->getAclForUser(self::$DI['user_1'])->revoke_access_from_bases([self::$DI['record_1']->getBaseId()]);
|
||||||
|
self::$DI['app']->getAclForUser(self::$DI['user_1'])->update_rights_to_base(self::$DI['record_1']->getBaseId(), $rightBase);
|
||||||
|
|
||||||
|
self::$DI['app']->getAclForUser(self::$DI['user_1'])->update_rights_to_sbas(self::$DI['record_1']->get_sbas_id(), $rightSbasReset);
|
||||||
|
self::$DI['app']->getAclForUser(self::$DI['user_1'])->update_rights_to_sbas(self::$DI['record_1']->get_sbas_id(), $rightSbas);
|
||||||
|
|
||||||
|
$client = new Client();
|
||||||
|
|
||||||
|
$webhookWorker = new WebhookWorker(self::$DI['app']);
|
||||||
|
$webhookWorker->setApplicationBox(self::$DI['app']['phraseanet.appbox']);
|
||||||
|
$webhookWorker->setDispatcher(self::$DI['app']['dispatcher']);
|
||||||
|
|
||||||
|
$payload = [
|
||||||
|
'id' => $event->getId(),
|
||||||
|
'published' => time()
|
||||||
|
];
|
||||||
|
|
||||||
|
$requestResult = $webhookWorker->deliverEvent($client, [self::$DI['oauth2-app-user1']], $event, $payload);
|
||||||
|
|
||||||
|
$this->assertCount(1, $requestResult);
|
||||||
|
|
||||||
|
/** @var Request $request */
|
||||||
|
$request = current($requestResult);
|
||||||
|
$requestBody = json_decode($request->getBody()->__tostring(), true);
|
||||||
|
$this->assertInternalType('array', $requestBody);
|
||||||
|
$this->assertArrayHasKey('event', $requestBody);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testNoDeliverWithInvalidRight()
|
||||||
|
{
|
||||||
|
$this->loadEventsData();
|
||||||
|
$eventsTestInvalidUserRight = [
|
||||||
|
WebhookEvent::RECORD_CREATED => [],
|
||||||
|
WebhookEvent::RECORD_EDITED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANADDRECORD],
|
||||||
|
WebhookEvent::RECORD_DELETED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANADDRECORD],
|
||||||
|
WebhookEvent::RECORD_MEDIA_SUBSTITUTED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANMODIFRECORD],
|
||||||
|
WebhookEvent::RECORD_COLLECTION_CHANGED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANMODIFRECORD, \ACL::CHGSTATUS],
|
||||||
|
WebhookEvent::RECORD_STATUS_CHANGED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::IMGTOOLS],
|
||||||
|
WebhookEvent::RECORD_SUBDEF_CREATED => [\ACL::ACCESS, \ACL::ACTIF, [\ACL::CANMODIFRECORD, \ACL::BAS_CHUPUB]],// only one right required from the sub-array
|
||||||
|
WebhookEvent::RECORD_SUBDEF_FAILED => [\ACL::ACCESS, \ACL::ACTIF, [\ACL::ORDER_MASTER, \ACL::COLL_MANAGE]],
|
||||||
|
WebhookEvent::USER_CREATED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::ORDER_MASTER],
|
||||||
|
WebhookEvent::USER_DELETED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANMODIFRECORD],
|
||||||
|
WebhookEvent::USER_REGISTRATION_GRANTED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANMODIFRECORD],
|
||||||
|
WebhookEvent::USER_REGISTRATION_REJECTED=> [\ACL::ACCESS, \ACL::ACTIF, \ACL::CANMODIFRECORD],
|
||||||
|
WebhookEvent::NEW_FEED_ENTRY => [\ACL::ACCESS, \ACL::ACTIF, \ACL::CHGSTATUS],
|
||||||
|
WebhookEvent::ORDER_CREATED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::BAS_CHUPUB],
|
||||||
|
WebhookEvent::ORDER_DELIVERED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::BAS_CHUPUB],
|
||||||
|
WebhookEvent::ORDER_DENIED => [\ACL::ACCESS, \ACL::ACTIF, \ACL::BAS_CHUPUB]
|
||||||
|
];
|
||||||
|
$em = self::$DI['app']['orm.em'];
|
||||||
|
|
||||||
|
foreach ($this->events as $type => $tEvent) {
|
||||||
|
foreach ($tEvent as $eventName) {
|
||||||
|
$event = new WebhookEvent();
|
||||||
|
$event
|
||||||
|
->setName($eventName)
|
||||||
|
->setType($type)
|
||||||
|
->setData($this->eventsData[$type])
|
||||||
|
->setCollectionBaseIds([self::$DI['record_1']->getBaseId()])
|
||||||
|
;
|
||||||
|
|
||||||
|
$em->persist($event);
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
list($rightSbas, $rightBase) = $this->getUserActiveRights($eventsTestInvalidUserRight, $eventName);
|
||||||
|
|
||||||
|
$rightSbasReset = [
|
||||||
|
\ACL::BAS_MODIFY_STRUCT => false,
|
||||||
|
\ACL::BAS_MODIF_TH => false,
|
||||||
|
\ACL::BAS_CHUPUB => false,
|
||||||
|
\ACL::BAS_MANAGE => false,
|
||||||
|
];
|
||||||
|
|
||||||
|
// re-initialize user right for the test
|
||||||
|
self::$DI['app']->getAclForUser(self::$DI['user_1'])->revoke_access_from_bases([self::$DI['record_1']->getBaseId()]);
|
||||||
|
if (count($rightBase) > 0) {
|
||||||
|
self::$DI['app']->getAclForUser(self::$DI['user_1'])->update_rights_to_base(self::$DI['record_1']->getBaseId(), $rightBase);
|
||||||
|
}
|
||||||
|
self::$DI['app']->getAclForUser(self::$DI['user_1'])->update_rights_to_sbas(self::$DI['record_1']->get_sbas_id(), $rightSbasReset);
|
||||||
|
if (count($rightSbas) > 0) {
|
||||||
|
self::$DI['app']->getAclForUser(self::$DI['user_1'])->update_rights_to_sbas(self::$DI['record_1']->get_sbas_id(), $rightSbas);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$client = new Client();
|
||||||
|
|
||||||
|
$webhookWorker = new WebhookWorker(self::$DI['app']);
|
||||||
|
$webhookWorker->setApplicationBox(self::$DI['app']['phraseanet.appbox']);
|
||||||
|
$webhookWorker->setDispatcher(self::$DI['app']['dispatcher']);
|
||||||
|
|
||||||
|
$payload = [
|
||||||
|
'id' => $event->getId(),
|
||||||
|
'published' => time()
|
||||||
|
];
|
||||||
|
|
||||||
|
$requestResult = $webhookWorker->deliverEvent($client, [self::$DI['oauth2-app-user1']], $event, $payload);
|
||||||
|
|
||||||
|
// Normaly no request send
|
||||||
|
$this->assertCount(0, $requestResult);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function loadEventsData()
|
||||||
|
{
|
||||||
|
$em = self::$DI['app']['orm.em'];
|
||||||
|
$order = new Order();
|
||||||
|
$order
|
||||||
|
->setUser(self::$DI['user_notAdmin'])
|
||||||
|
->setOrderUsage('test')
|
||||||
|
->setDeadline(new \DateTime('+1 day'))
|
||||||
|
;
|
||||||
|
$em->persist($order);
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
$this->eventsData = [
|
||||||
|
WebhookEvent::RECORD_TYPE => [
|
||||||
|
'databox_id' => self::$DI['record_1']->get_sbas_id(),
|
||||||
|
'record_id' => self::$DI['record_1']->get_record_id(),
|
||||||
|
'collection_name' => self::$DI['record_1']->getCollection()->get_name(),
|
||||||
|
'record_type' => 'record'
|
||||||
|
],
|
||||||
|
WebhookEvent::RECORD_SUBDEF_TYPE => [
|
||||||
|
'databox_id' => self::$DI['record_1']->get_sbas_id(),
|
||||||
|
'record_id' => self::$DI['record_1']->get_record_id(),
|
||||||
|
'subdef' => 'thumbnail'
|
||||||
|
],
|
||||||
|
WebhookEvent::USER_TYPE => [
|
||||||
|
'user_id' => self::$DI['user_notAdmin']->getId(),
|
||||||
|
'email' => 'noone_not_admin@example.com',
|
||||||
|
'login' => 'noone_not_admin@example.com'
|
||||||
|
],
|
||||||
|
WebhookEvent::USER_REGISTRATION_TYPE => [
|
||||||
|
'user_id' => self::$DI['user_notAdmin']->getId(),
|
||||||
|
'granted' => ['granted'],
|
||||||
|
'rejected' => ['rejected']
|
||||||
|
],
|
||||||
|
WebhookEvent::FEED_ENTRY_TYPE => [
|
||||||
|
'entry_id' => self::$DI['feed_public_entry']->getId(),
|
||||||
|
'feed_id' => self::$DI['feed_public']->getId()
|
||||||
|
],
|
||||||
|
WebhookEvent::ORDER_TYPE => [
|
||||||
|
'order_id' => $order->getId(),
|
||||||
|
'user_id' => self::$DI['user_notAdmin']->getId(),
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getUserActiveRights(array $eventsRights, $eventName)
|
||||||
|
{
|
||||||
|
$rightBase = [];
|
||||||
|
$rightSbas = [];
|
||||||
|
foreach ($eventsRights[$eventName] as $eventRight) {
|
||||||
|
if (is_array($eventRight)) {
|
||||||
|
foreach ($eventRight as $r) {
|
||||||
|
if ($r == \ACL::ACCESS) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (strpos($r, 'bas_') === 0) {
|
||||||
|
$rightSbas[$r] = true;
|
||||||
|
} else {
|
||||||
|
$rightBase[$r] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} elseif ($eventRight != \ACL::ACCESS) { // access is not a real sql column
|
||||||
|
if (strpos($eventRight, 'bas_') === 0) {
|
||||||
|
$rightSbas[$eventRight] = true;
|
||||||
|
} else {
|
||||||
|
$rightBase[$eventRight] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return [$rightSbas, $rightBase];
|
||||||
|
}
|
||||||
|
}
|
@@ -173,6 +173,10 @@ abstract class PhraseanetTestCase extends WebTestCase
|
|||||||
return $DI['app']['repo.api-applications']->find(self::$fixtureIds['oauth']['user']);
|
return $DI['app']['repo.api-applications']->find(self::$fixtureIds['oauth']['user']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
self::$DI['oauth2-app-user1'] = self::$DI->share(function ($DI) {
|
||||||
|
return $DI['app']['repo.api-applications']->find(self::$fixtureIds['oauth']['user1']);
|
||||||
|
});
|
||||||
|
|
||||||
self::$DI['webhook-event'] = self::$DI->share(function ($DI) {
|
self::$DI['webhook-event'] = self::$DI->share(function ($DI) {
|
||||||
return $DI['app']['repo.webhook-event']->find(self::$fixtureIds['webhook']['event']);
|
return $DI['app']['repo.webhook-event']->find(self::$fixtureIds['webhook']['event']);
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user