Merge branch 'master' of https://github.com/alchemy-fr/Phraseanet into PHRAS-3034-geoloc-video-timeout-patch
33
composer.lock
generated
@@ -8055,39 +8055,6 @@
|
||||
],
|
||||
"time": "2016-11-25T06:54:22+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpexiftool/exiftool",
|
||||
"version": "10.10",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/alchemy-fr/exiftool.git",
|
||||
"reference": "0833cab894c890353192a83011428525a318bedf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/alchemy-fr/exiftool/zipball/0833cab894c890353192a83011428525a318bedf",
|
||||
"reference": "0833cab894c890353192a83011428525a318bedf",
|
||||
"shasum": ""
|
||||
},
|
||||
"type": "library",
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"Perl Licensing"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Phil Harvey",
|
||||
"email": "phil@owl.phy.queensu.ca",
|
||||
"homepage": "http://www.sno.phy.queensu.ca/~phil/exiftool/"
|
||||
}
|
||||
],
|
||||
"description": "Exiftool is a library for reading, writing and editing meta information. This package is not PHP, but required for the main PHP driver : PHP Exiftool",
|
||||
"keywords": [
|
||||
"exiftool",
|
||||
"metadatas"
|
||||
],
|
||||
"time": "2016-01-25T11:10:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpspec/prophecy",
|
||||
"version": "v1.6.2",
|
||||
|
||||
@@ -181,11 +181,12 @@ class ArchiveJob extends AbstractJob
|
||||
|
||||
$dom = new \DOMDocument();
|
||||
$dom->formatOutput = true;
|
||||
/** @var \DOMElement $root */
|
||||
$root = $dom->appendChild($dom->createElement('root'));
|
||||
|
||||
$nnew = $this->listFilesPhase1($app, $dom, $root, $path_in, $server_coll_id, 0, $TColls);
|
||||
if ($app['debug']) {
|
||||
$this->log('debug', "=========== listFilesPhase1 ========== (returned " . $nnew . ")\n" . $dom->saveXML());
|
||||
$this->log('debug', "== listFilesPhase1 returned " . $nnew . ")\n" . $dom->saveXML());
|
||||
}
|
||||
|
||||
if (!$this->isStarted()) {
|
||||
@@ -193,15 +194,16 @@ class ArchiveJob extends AbstractJob
|
||||
}
|
||||
|
||||
// wait for files to be cold
|
||||
$this->pause($cold);
|
||||
|
||||
for($i=0; $i<($cold*2); $i++) {
|
||||
if (!$this->isStarted()) {
|
||||
return;
|
||||
}
|
||||
$this->pause(0.5);
|
||||
}
|
||||
|
||||
$this->listFilesPhase2($app, $dom, $root, $path_in, 0);
|
||||
if ($app['debug']) {
|
||||
$this->log('debug', "=========== listFilesPhase2 ========== : \n" . $dom->saveXML());
|
||||
$this->log('debug', "== listFilesPhase2\n" . $dom->saveXML());
|
||||
}
|
||||
|
||||
if (!$this->isStarted()) {
|
||||
@@ -210,31 +212,35 @@ class ArchiveJob extends AbstractJob
|
||||
|
||||
$this->makePairs($dom, $root, $path_in, $path_archived, $path_error, false, 0, $tmask, $tmaskgrp);
|
||||
if ($app['debug']) {
|
||||
$this->log('debug', "=========== makePairs ========== : \n" . $dom->saveXML());
|
||||
}
|
||||
|
||||
$r = $this->removeBadGroups($app, $dom, $root, $path_in, $path_archived, $path_error, 0, $moveError);
|
||||
if ($app['debug']) {
|
||||
$this->log('debug', "=========== removeBadGroups ========== (returned " . ((Boolean) $r ? 'true' : 'false') . ") : \n" . $dom->saveXML());
|
||||
}
|
||||
|
||||
$this->archive($app, $databox, $dom, $root, $path_in, $path_archived, $path_error, 0, $moveError, $moveArchived, $stat0, $stat1);
|
||||
if ($app['debug']) {
|
||||
$this->log('debug', "=========== archive ========== : \n" . $dom->saveXML());
|
||||
$this->log('debug', "== makePairs\n" . $dom->saveXML());
|
||||
}
|
||||
|
||||
if (!$this->isStarted()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->removeBadGroups($app, $dom, $root, $path_in, $path_archived, $path_error, 0, $moveError);
|
||||
if ($app['debug']) {
|
||||
$this->log('debug', "== removeBadGroups\n" . $dom->saveXML());
|
||||
}
|
||||
|
||||
if (!$this->isStarted()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->archive($app, $databox, $dom, $root, $path_in, $path_archived, $path_error, 0, $moveError, $moveArchived, $stat0, $stat1);
|
||||
if ($app['debug']) {
|
||||
$this->log('debug', "== archive\n" . $dom->saveXML());
|
||||
}
|
||||
|
||||
$this->bubbleResults($dom, $root, $path_in, 0, \p4field::isyes($settings->copy_spe));
|
||||
if ($app['debug']) {
|
||||
$this->log('debug', "=========== bubbleResults ========== : \n" . $dom->saveXML());
|
||||
$this->log('debug', "== bubbleResults\n" . $dom->saveXML());
|
||||
}
|
||||
|
||||
$moved = $this->moveFiles($app, $dom, $root, $path_in, $path_archived, $path_error, 0, $moveArchived, $moveError);
|
||||
if ($app['debug']) {
|
||||
$this->log('debug', "=========== moveFiles ========== (returned " . ($moved ? 'true' : 'false') . ") : \n" . $dom->saveXML());
|
||||
$this->log('debug', "== moveFiles returned " . ($moved ? 'true' : 'false') . "\n" . $dom->saveXML());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -243,15 +249,17 @@ class ArchiveJob extends AbstractJob
|
||||
{
|
||||
$nnew = 0;
|
||||
|
||||
if (false !== $sxDotPhrasea = @simplexml_load_file($path . '/.phrasea.xml')) {
|
||||
$magicfile = $magicmethod = null;
|
||||
|
||||
if (($sxDotPhrasea = @simplexml_load_file($path . '/.phrasea.xml')) !== false) {
|
||||
|
||||
// test for magic file
|
||||
if (($magicfile = trim((string) ($sxDotPhrasea->magicfile))) != '') {
|
||||
$magicmethod = strtoupper($sxDotPhrasea->magicfile['method']);
|
||||
if ($magicmethod == 'LOCK' && true === $app['filesystem']->exists($path . '/' . $magicfile)) {
|
||||
return;
|
||||
} elseif ($magicmethod == 'UNLOCK' && false === $app['filesystem']->exists($path . '/' . $magicfile)) {
|
||||
return;
|
||||
if ($magicmethod == 'LOCK' && ($app['filesystem']->exists($path . '/' . $magicfile) === true)) {
|
||||
return 0;
|
||||
} elseif ($magicmethod == 'UNLOCK' && ($app['filesystem']->exists($path . '/' . $magicfile) === false)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -278,6 +286,7 @@ class ArchiveJob extends AbstractJob
|
||||
continue;
|
||||
}
|
||||
|
||||
/** @var \DOMElement $n */
|
||||
if (is_dir($path . '/' . $file)) {
|
||||
$n = $node->appendChild($dom->createElement('file'));
|
||||
$n->setAttribute('isdir', '1');
|
||||
@@ -293,6 +302,16 @@ class ArchiveJob extends AbstractJob
|
||||
foreach (["size", "ctime", "mtime"] as $k) {
|
||||
$n->setAttribute($k, $stat[$k]);
|
||||
}
|
||||
// special file
|
||||
if($file == '.phrasea.xml') {
|
||||
$n->setAttribute('match', '*');
|
||||
}
|
||||
// special file
|
||||
if($file === $magicfile) {
|
||||
$n->setAttribute('match', '*');
|
||||
$node->setAttribute('magicfile', $magicfile);
|
||||
$node->setAttribute('magicmethod', $magicmethod);
|
||||
}
|
||||
$nnew++;
|
||||
}
|
||||
$n->setAttribute('cid', $server_coll_id);
|
||||
@@ -335,27 +354,31 @@ class ArchiveJob extends AbstractJob
|
||||
$dnl = @$xp->query('./file[@name="' . $file . '"]', $node);
|
||||
if ($dnl && $dnl->length == 0) {
|
||||
if (is_dir($path . '/' . $file)) {
|
||||
/** @var \DOMElement $n */
|
||||
$n = $node->appendChild($dom->createElement('file'));
|
||||
$n->setAttribute('isdir', '1');
|
||||
$n->setAttribute('name', $file);
|
||||
|
||||
$nnew += $this->listFilesPhase2($app, $dom, $n, $path . '/' . $file, $depth + 1);
|
||||
} else {
|
||||
/** @var \DOMElement $n */
|
||||
$n = $node->appendChild($dom->createElement('file'));
|
||||
$n->setAttribute('name', $file);
|
||||
$nnew++;
|
||||
}
|
||||
$this->setBranchHot($dom, $n);
|
||||
$this->setBranchHot($n);
|
||||
} elseif ($dnl && $dnl->length == 1) {
|
||||
$dnl->item(0)->setAttribute('temperature', 'cold');
|
||||
/** @var \DOMElement $n */
|
||||
$n = $dnl->item(0);
|
||||
$n->setAttribute('temperature', 'cold');
|
||||
|
||||
if (is_dir($path . '/' . $file)) {
|
||||
$this->listFilesPhase2($app, $dom, $dnl->item(0), $path . '/' . $file, $depth + 1);
|
||||
$this->listFilesPhase2($app, $dom, $n, $path . '/' . $file, $depth + 1);
|
||||
} else {
|
||||
$stat = stat($path . '/' . $file);
|
||||
foreach (["size", "ctime", "mtime"] as $k) {
|
||||
if ($dnl->item(0)->getAttribute($k) != $stat[$k]) {
|
||||
$this->setBranchHot($dom, $dnl->item(0));
|
||||
if ($n->getAttribute($k) != $stat[$k]) {
|
||||
$this->setBranchHot($n);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -399,13 +422,16 @@ class ArchiveJob extends AbstractJob
|
||||
if ($dnl->length == 1) {
|
||||
// this group is old (don't care about any linked files), just flag it
|
||||
$n->setAttribute('grp', 'tocomplete');
|
||||
$dnl->item(0)->setAttribute('match', '*');
|
||||
/** @var \DOMElement $_n */
|
||||
$_n = $dnl->item(0);
|
||||
$_n->setAttribute('match', '*');
|
||||
// recurse only if group is ok
|
||||
$this->makePairs($dom, $n, $path . '/' . $name, $path_archived, $path_error, true, $depth + 1, $tmask, $tmaskgrp);
|
||||
} else {
|
||||
// this group in new (to be created)
|
||||
// do we need one (or both) linked file ? (caption or representation)
|
||||
$err = false;
|
||||
/** @var \DOMElement[] $flink */
|
||||
$flink = ['caption' => null, 'representation' => null];
|
||||
|
||||
foreach ($flink as $linkName => $v) {
|
||||
@@ -473,12 +499,12 @@ class ArchiveJob extends AbstractJob
|
||||
// this is a file
|
||||
if (!$n->getAttribute('match')) {
|
||||
// because match can be set before
|
||||
if ($name == '.phrasea.xml') {
|
||||
// special file(s) always ok
|
||||
$n->setAttribute('match', '*');
|
||||
} else {
|
||||
// if ($name == '.phrasea.xml') {
|
||||
// // special file(s) always ok
|
||||
// $n->setAttribute('match', '*');
|
||||
// } else {
|
||||
$this->checkMatch($dom, $n, $tmask);
|
||||
}
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -503,7 +529,7 @@ class ArchiveJob extends AbstractJob
|
||||
|
||||
// if root of hotfolder if hot, die...
|
||||
if ($depth == 0 && $node->getAttribute('temperature') == 'hot') {
|
||||
return $ret;
|
||||
return;
|
||||
}
|
||||
|
||||
$nodesToDel = [];
|
||||
@@ -522,7 +548,7 @@ class ArchiveJob extends AbstractJob
|
||||
$name = $n->getAttribute('name');
|
||||
|
||||
if ($n->getAttribute('isdir')) {
|
||||
$ret |= $this->removeBadGroups($app, $dom, $n, $path . '/' . $name
|
||||
$this->removeBadGroups($app, $dom, $n, $path . '/' . $name
|
||||
, $path_archived . '/' . $name
|
||||
, $path_error . '/' . $name
|
||||
, $depth + 1, $moveError);
|
||||
@@ -642,7 +668,7 @@ class ArchiveJob extends AbstractJob
|
||||
}
|
||||
|
||||
if ($node->getAttribute('temperature') == 'hot') {
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
|
||||
$ret = 0;
|
||||
@@ -758,7 +784,7 @@ class ArchiveJob extends AbstractJob
|
||||
}
|
||||
}
|
||||
|
||||
if (!$n->getAttribute('keep')) {
|
||||
if (!$n->getAttribute('keep') && !$n->getAttribute('match')) {
|
||||
$this->log('debug', sprintf('delete \'%s\'', $path . '/' . $name));
|
||||
|
||||
try {
|
||||
@@ -792,7 +818,9 @@ class ArchiveJob extends AbstractJob
|
||||
if ($dnl->length == 1) {
|
||||
// the caption file exists
|
||||
$node->setAttribute('match', $captionFileName);
|
||||
$dnl->item(0)->setAttribute('match', '*');
|
||||
/** @var \DOMElement $n */
|
||||
$n = $dnl->item(0);
|
||||
$n->setAttribute('match', '*');
|
||||
} else {
|
||||
// the caption file is missing
|
||||
$node->setAttribute('match', '?');
|
||||
@@ -817,7 +845,7 @@ class ArchiveJob extends AbstractJob
|
||||
return ($f[0] == '.' && $f != '.phrasea.xml' && $f != '.grouping.xml') || $f == 'thumbs.db' || $f == 'par-system';
|
||||
}
|
||||
|
||||
private function setBranchHot(\DOMDocument $dom, \DOMElement $node)
|
||||
private function setBranchHot(\DOMElement $node)
|
||||
{
|
||||
for ($n = $node; $n; $n = $n->parentNode) {
|
||||
if ($n->nodeType == XML_ELEMENT_NODE) {
|
||||
@@ -847,8 +875,10 @@ class ArchiveJob extends AbstractJob
|
||||
|
||||
if ($node->getAttribute('grp') == 'tocreate') {
|
||||
$representationFileName = null;
|
||||
/** @var \DOMElement $representationFileNode */
|
||||
$representationFileNode = null;
|
||||
$captionFileName = null;
|
||||
/** @var \DOMElement $captionFileNode */
|
||||
$captionFileNode = null;
|
||||
$cid = $node->getAttribute('cid');
|
||||
$genericdoc = null;
|
||||
@@ -903,6 +933,7 @@ class ArchiveJob extends AbstractJob
|
||||
}
|
||||
|
||||
file_put_contents($groupingFile, '<?xml version="1.0" encoding="ISO-8859-1" ?><record grouping="' . $rid . '" />');
|
||||
/** @var \DOMElement $n */
|
||||
$n = $node->appendChild($dom->createElement('file'));
|
||||
$n->setAttribute('name', '.grouping.xml');
|
||||
$n->setAttribute('temperature', 'cold');
|
||||
@@ -1025,6 +1056,8 @@ class ArchiveJob extends AbstractJob
|
||||
}
|
||||
|
||||
$story = \record_adapter::createStory($app, $collection);
|
||||
|
||||
$story->setStatus($status);
|
||||
$app['subdef.substituer']->substituteDocument($story, $media);
|
||||
|
||||
$story->set_metadatas($metadatas->toMetadataArray($metadatasStructure), true);
|
||||
@@ -1080,12 +1113,14 @@ class ArchiveJob extends AbstractJob
|
||||
|
||||
$file->addAttribute(new BorderAttribute\Status($app, $status));
|
||||
|
||||
$file->addAttribute(new BorderAttribute\Metadata(new Metadata(new PhraseaTag\TfFilepath(), new MonoValue($media->getFile()->getRealPath()))));
|
||||
$file->addAttribute(new BorderAttribute\Metadata(new Metadata(new PhraseaTag\TfDirname(), new MonoValue(dirname($media->getFile()->getRealPath())))));
|
||||
/** @var \MediaVorus\File $mediaFile */
|
||||
$mediaFile = $media->getFile();
|
||||
$file->addAttribute(new BorderAttribute\Metadata(new Metadata(new PhraseaTag\TfFilepath(), new MonoValue($mediaFile->getRealPath()))));
|
||||
$file->addAttribute(new BorderAttribute\Metadata(new Metadata(new PhraseaTag\TfDirname(), new MonoValue(dirname($mediaFile->getRealPath())))));
|
||||
|
||||
$file->addAttribute(new BorderAttribute\Metadata(new Metadata(new PhraseaTag\TfAtime(), new MonoValue($media->getFile()->getATime()))));
|
||||
$file->addAttribute(new BorderAttribute\Metadata(new Metadata(new PhraseaTag\TfMtime(), new MonoValue($media->getFile()->getMTime()))));
|
||||
$file->addAttribute(new BorderAttribute\Metadata(new Metadata(new PhraseaTag\TfCtime(), new MonoValue($media->getFile()->getCTime()))));
|
||||
$file->addAttribute(new BorderAttribute\Metadata(new Metadata(new PhraseaTag\TfAtime(), new MonoValue($mediaFile->getATime()))));
|
||||
$file->addAttribute(new BorderAttribute\Metadata(new Metadata(new PhraseaTag\TfMtime(), new MonoValue($mediaFile->getMTime()))));
|
||||
$file->addAttribute(new BorderAttribute\Metadata(new Metadata(new PhraseaTag\TfCtime(), new MonoValue($mediaFile->getCTime()))));
|
||||
|
||||
foreach ($metadatas as $meta) {
|
||||
$file->addAttribute(new BorderAttribute\Metadata($meta));
|
||||
@@ -1102,6 +1137,11 @@ class ArchiveJob extends AbstractJob
|
||||
$record = null;
|
||||
|
||||
$postProcess = function ($element, $visa, $code) use (&$record) {
|
||||
$r = isset($visa); // one way to avoid "variable not used" with phpstorm 10. ugly.
|
||||
unset($r); //
|
||||
$r = isset($code); // one way to avoid "variable not used" with phpstorm 10. ugly.
|
||||
unset($r); //
|
||||
|
||||
$record = $element;
|
||||
};
|
||||
|
||||
@@ -1206,12 +1246,13 @@ class ArchiveJob extends AbstractJob
|
||||
}
|
||||
}
|
||||
|
||||
$this->archiveFileAndCaption($app, $databox, $dom, $node, $captionFileNode, $path, $path_archived, $path_error, $grp_rid, $nodesToDel, $stat0, $stat1, $moveError, $moveArchived);
|
||||
$this->archiveFileAndCaption($app, $databox, $node, $captionFileNode, $path, $path_archived, $path_error, $grp_rid, $nodesToDel, $stat0, $stat1, $moveError, $moveArchived);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param \DOMDOcument $dom
|
||||
* @param Application $app
|
||||
* @param \databox $databox
|
||||
* @param \DOMElement $node
|
||||
* @param \DOMElement $captionFileNode
|
||||
* @param string $path
|
||||
@@ -1219,8 +1260,12 @@ class ArchiveJob extends AbstractJob
|
||||
* @param string $path_error
|
||||
* @param integer $grp_rid
|
||||
* @param array $nodesToDel out, filled with files to delete
|
||||
* @param $stat0
|
||||
* @param $stat1
|
||||
* @param $moveError
|
||||
* @param $moveArchived
|
||||
*/
|
||||
private function archiveFileAndCaption(Application $app, \databox $databox, \DOMDocument $dom, \DOMElement $node, \DOMElement $captionFileNode = null, $path, $path_archived, $path_error, $grp_rid, array &$nodesToDel, $stat0, $stat1, $moveError, $moveArchived)
|
||||
private function archiveFileAndCaption(Application $app, \databox $databox, \DOMElement $node, \DOMElement $captionFileNode = null, $path, $path_archived, $path_error, $grp_rid, array &$nodesToDel, $stat0, $stat1, $moveError, $moveArchived)
|
||||
{
|
||||
// quick fix to reconnect if mysql is lost
|
||||
$app->getApplicationBox()->get_connection();
|
||||
@@ -1422,6 +1467,7 @@ class ArchiveJob extends AbstractJob
|
||||
{
|
||||
$ret = new MetadataBag();
|
||||
|
||||
/** @var \databox_field $databox_field */
|
||||
foreach ($metadatasStructure as $databox_field) {
|
||||
if ($bag->containsKey($databox_field->get_tag()->getTagname())) {
|
||||
$ret->set($databox_field->get_name(), $bag->get($databox_field->get_tag()->getTagname()));
|
||||
|
||||
@@ -14,31 +14,31 @@ class WorkerConfigurationType extends AbstractType
|
||||
|
||||
$builder
|
||||
->add(MessagePublisher::ASSETS_INGEST_TYPE, 'text', [
|
||||
'label' => 'Ingest retry delay in ms'
|
||||
'label' => 'admin::workermanager:tab:workerconfig: Ingest retry delay in ms'
|
||||
])
|
||||
->add(MessagePublisher::CREATE_RECORD_TYPE, 'text', [
|
||||
'label' => 'Create record retry delay in ms'
|
||||
'label' => 'admin::workermanager:tab:workerconfig: Create record retry delay in ms'
|
||||
])
|
||||
->add(MessagePublisher::SUBDEF_CREATION_TYPE, 'text', [
|
||||
'label' => 'Subdefinition retry delay in ms'
|
||||
'label' => 'admin::workermanager:tab:workerconfig: Subdefinition retry delay in ms'
|
||||
])
|
||||
->add(MessagePublisher::WRITE_METADATAS_TYPE, 'text', [
|
||||
'label' => 'Metadatas retry delay in ms'
|
||||
'label' => 'admin::workermanager:tab:workerconfig: Metadatas retry delay in ms'
|
||||
])
|
||||
->add(MessagePublisher::WEBHOOK_TYPE, 'text', [
|
||||
'label' => 'Webhook retry delay in ms'
|
||||
'label' => 'admin::workermanager:tab:workerconfig: Webhook retry delay in ms'
|
||||
])
|
||||
->add(MessagePublisher::EXPORT_MAIL_TYPE, 'text', [
|
||||
'label' => 'Export mail retry delay in ms'
|
||||
'label' => 'admin::workermanager:tab:workerconfig: Export mail retry delay in ms'
|
||||
])
|
||||
->add(MessagePublisher::POPULATE_INDEX_TYPE, 'text', [
|
||||
'label' => 'Populate Index retry delay in ms'
|
||||
'label' => 'admin::workermanager:tab:workerconfig: Populate Index retry delay in ms'
|
||||
])
|
||||
->add('delayedSubdef', 'text', [
|
||||
'label' => 'Subdef delay in ms'
|
||||
'label' => 'admin::workermanager:tab:workerconfig: Subdef delay in ms'
|
||||
])
|
||||
->add('delayedWriteMeta', 'text', [
|
||||
'label' => 'Write meta delay in ms'
|
||||
'label' => 'admin::workermanager:tab:workerconfig: Write meta delay in ms'
|
||||
])
|
||||
;
|
||||
}
|
||||
|
||||
@@ -13,19 +13,19 @@ class WorkerPullAssetsType extends AbstractType
|
||||
|
||||
$builder
|
||||
->add('endpointCommit', 'text', [
|
||||
'label' => 'Endpoint get commit'
|
||||
'label' => 'admin::workermanager:tab:pullassets: Endpoint get commit'
|
||||
])
|
||||
->add('endpointToken', 'text', [
|
||||
'label' => 'Endpoint get token'
|
||||
'label' => 'admin::workermanager:tab:pullassets: Endpoint get token'
|
||||
])
|
||||
->add('clientSecret', 'text', [
|
||||
'label' => 'Client secret'
|
||||
'label' => 'admin::workermanager:tab:pullassets: Client secret'
|
||||
])
|
||||
->add('clientId', 'text', [
|
||||
'label' => 'Client ID'
|
||||
'label' => 'admin::workermanager:tab:pullassets: Client ID'
|
||||
])
|
||||
->add('pullInterval', 'text', [
|
||||
'label' => 'Fetching interval in second'
|
||||
'label' => 'admin::workermanager:tab:pullassets: Fetching interval in second'
|
||||
])
|
||||
;
|
||||
}
|
||||
|
||||
@@ -16,18 +16,18 @@ class WorkerSearchengineType extends AbstractType
|
||||
|
||||
$builder
|
||||
->add('host', 'text', [
|
||||
'label' => 'Elasticsearch server host',
|
||||
'label' => 'admin::workermanager:tab:searchengine: Elasticsearch server host',
|
||||
'constraints' => new NotBlank(),
|
||||
])
|
||||
->add('port', 'integer', [
|
||||
'label' => 'Elasticsearch service port',
|
||||
'label' => 'admin::workermanager:tab:searchengine: Elasticsearch service port',
|
||||
'constraints' => [
|
||||
new Range(['min' => 1, 'max' => 65535]),
|
||||
new NotBlank()
|
||||
]
|
||||
])
|
||||
->add('indexName', 'text', [
|
||||
'label' => 'Elasticsearch index name',
|
||||
'label' => 'admin::workermanager:tab:searchengine: Elasticsearch index name',
|
||||
'constraints' => new NotBlank(),
|
||||
'attr' =>['data-class'=>'inline']
|
||||
])
|
||||
|
||||
@@ -157,8 +157,8 @@ class databox_status
|
||||
* compute ((0 M s1) M s2) where M is the "mask" operator
|
||||
* nb : s1,s2 are binary mask strings as "01x0xx1xx0x", no other format (hex) supported
|
||||
*
|
||||
* @param $stat1 a binary mask "010x1xx0.." STRING
|
||||
* @param $stat2 a binary mask "x100x1..." STRING
|
||||
* @param string $stat1 a binary mask "010x1xx0.."
|
||||
* @param string $stat2 a binary mask "x100x1..."
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"normalize-css": "^2.1.0",
|
||||
"npm": "^6.0.0",
|
||||
"npm-modernizr": "^2.8.3",
|
||||
"phraseanet-production-client": "0.34.207-d",
|
||||
"phraseanet-production-client": "0.34.208-d",
|
||||
"requirejs": "^2.3.5",
|
||||
"tinymce": "^4.0.28",
|
||||
"underscore": "^1.8.3",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?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">
|
||||
<file date="2020-05-20T15:12:51Z" source-language="en" target-language="de" datatype="plaintext" original="not.available">
|
||||
<file date="2020-05-26T10:28:28Z" source-language="en" target-language="de" datatype="plaintext" original="not.available">
|
||||
<header>
|
||||
<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>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?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">
|
||||
<file date="2020-05-20T15:13:16Z" source-language="en" target-language="en" datatype="plaintext" original="not.available">
|
||||
<file date="2020-05-26T10:28:56Z" source-language="en" target-language="en" datatype="plaintext" original="not.available">
|
||||
<header>
|
||||
<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>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?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">
|
||||
<file date="2020-05-20T15:13:44Z" source-language="en" target-language="fr" datatype="plaintext" original="not.available">
|
||||
<file date="2020-05-26T10:29:25Z" source-language="en" target-language="fr" datatype="plaintext" original="not.available">
|
||||
<header>
|
||||
<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>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?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">
|
||||
<file date="2020-05-20T15:14:15Z" source-language="en" target-language="nl" datatype="plaintext" original="not.available">
|
||||
<file date="2020-05-26T10:30:00Z" source-language="en" target-language="nl" datatype="plaintext" original="not.available">
|
||||
<header>
|
||||
<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>
|
||||
|
||||
1
resources/www/admin/images/cogs-solid.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg color="#5cb85c" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="cogs" class="svg-inline--fa fa-cogs fa-w-20" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z"></path></svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
1
resources/www/admin/images/database-solid-blue.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg color="#3b99fc" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="database" class="svg-inline--fa fa-database fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z"></path></svg>
|
||||
|
After Width: | Height: | Size: 649 B |
1
resources/www/admin/images/database-solid.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="database" class="svg-inline--fa fa-database fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z"></path></svg>
|
||||
|
After Width: | Height: | Size: 633 B |
1
resources/www/admin/images/searchengin.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="searchengin" class="svg-inline--fa fa-searchengin fa-w-15" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 460 512"><path fill="currentColor" d="M220.6 130.3l-67.2 28.2V43.2L98.7 233.5l54.7-24.2v130.3l67.2-209.3zm-83.2-96.7l-1.3 4.7-15.2 52.9C80.6 106.7 52 145.8 52 191.5c0 52.3 34.3 95.9 83.4 105.5v53.6C57.5 340.1 0 272.4 0 191.6c0-80.5 59.8-147.2 137.4-158zm311.4 447.2c-11.2 11.2-23.1 12.3-28.6 10.5-5.4-1.8-27.1-19.9-60.4-44.4-33.3-24.6-33.6-35.7-43-56.7-9.4-20.9-30.4-42.6-57.5-52.4l-9.7-14.7c-24.7 16.9-53 26.9-81.3 28.7l2.1-6.6 15.9-49.5c46.5-11.9 80.9-54 80.9-104.2 0-54.5-38.4-102.1-96-107.1V32.3C254.4 37.4 320 106.8 320 191.6c0 33.6-11.2 64.7-29 90.4l14.6 9.6c9.8 27.1 31.5 48 52.4 57.4s32.2 9.7 56.8 43c24.6 33.2 42.7 54.9 44.5 60.3s.7 17.3-10.5 28.5zm-9.9-17.9c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8 8-3.6 8-8z"></path></svg>
|
||||
|
After Width: | Height: | Size: 919 B |
1
resources/www/admin/images/tools-solid.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="tools" class="svg-inline--fa fa-tools fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z"></path></svg>
|
||||
|
After Width: | Height: | Size: 921 B |
@@ -189,6 +189,43 @@ $mainMenuLinkBackgroundHoverColor: transparent;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.select-all-line {
|
||||
color: #afafaf;
|
||||
cursor: pointer;
|
||||
}
|
||||
.users_check_line_wrap {
|
||||
position: absolute;
|
||||
div {
|
||||
padding: 5px 10px;
|
||||
background-color: #cccccc;
|
||||
color: #000000;
|
||||
cursor: pointer;
|
||||
line-height: 1.7;
|
||||
|
||||
&:hover {
|
||||
padding: 5px 10px;
|
||||
background-color: #4d4d4d;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.fa-right {
|
||||
color: #2475b5;
|
||||
font-size: 16px;
|
||||
.select-all-line-btn & {
|
||||
padding-left: 6px;
|
||||
}
|
||||
}
|
||||
|
||||
.without-border {
|
||||
margin-left: 15px;
|
||||
outline: none;
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
|
||||
/******* EDIT USERS ***********************************************************/
|
||||
div.no_switch {
|
||||
width: 12px;
|
||||
@@ -211,7 +248,7 @@ div.switch_quota.mixed,
|
||||
div.switch_masks.mixed,
|
||||
div.switch_time.mixed,
|
||||
div.switch_right.mixed {
|
||||
background-image: url('#{$iconsPath}ccoch2.gif');
|
||||
background-image: url('#{$iconsPath}square-duotone.svg');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
}
|
||||
@@ -219,7 +256,7 @@ div.switch_quota.checked,
|
||||
div.switch_masks.checked,
|
||||
div.switch_time.checked,
|
||||
div.switch_right.checked {
|
||||
background-image: url('#{$iconsPath}ccoch1.gif');
|
||||
background-image: url('#{$iconsPath}check-square-regular.svg');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
}
|
||||
@@ -227,7 +264,7 @@ div.switch_quota.unchecked,
|
||||
div.switch_masks.unchecked,
|
||||
div.switch_time.unchecked,
|
||||
div.switch_right.unchecked {
|
||||
background-image: url('#{$iconsPath}ccoch0.gif');
|
||||
background-image: url('#{$iconsPath}square-regular.svg');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
}
|
||||
@@ -912,6 +949,12 @@ span.simplecolorpicker.picker {
|
||||
.ui-dialog-titlebar-close {
|
||||
text-indent: -9999999px;
|
||||
}
|
||||
.worker-info-block {
|
||||
.btn-primary {
|
||||
min-width: 161px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
}
|
||||
@import './databases';
|
||||
@import './fields';
|
||||
@import './tables';
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="check-square" class="svg-inline--fa fa-check-square fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z"></path></svg>
|
||||
|
After Width: | Height: | Size: 664 B |
1
resources/www/common/images/icons/square-duotone.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg color="#aaa8a5" aria-hidden="true" focusable="false" data-prefix="fa" data-icon="square" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" class="svg-inline--fa fa-square fa-w-14 fa-2x"><g class="fa-group"><path fill="currentColor" d="M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16 368a16 16 0 0 1-16 16H80a16 16 0 0 1-16-16V112a16 16 0 0 1 16-16h288a16 16 0 0 1 16 16z" class="fa-secondary"></path><path fill="currentColor" d="M64 400V112a16 16 0 0 1 16-16h288a16 16 0 0 1 16 16v288a16 16 0 0 1-16 16H80a16 16 0 0 1-16-16z" class="fa-primary"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 635 B |
1
resources/www/common/images/icons/square-regular.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="square" class="svg-inline--fa fa-square fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z"></path></svg>
|
||||
|
After Width: | Height: | Size: 424 B |
@@ -61,24 +61,6 @@
|
||||
div.no_switch{
|
||||
background-image:url(/assets/common/images/icons/ccoch5.gif);
|
||||
}
|
||||
div.switch_quota.mixed,
|
||||
div.switch_masks.mixed,
|
||||
div.switch_time.mixed,
|
||||
div.switch_right.mixed{
|
||||
background-image:url(/assets/common/images/icons/ccoch2.gif);
|
||||
}
|
||||
div.switch_quota.checked,
|
||||
div.switch_masks.checked,
|
||||
div.switch_time.checked,
|
||||
div.switch_right.checked{
|
||||
background-image:url(/assets/common/images/icons/ccoch1.gif);
|
||||
}
|
||||
div.switch_quota.unchecked,
|
||||
div.switch_masks.unchecked,
|
||||
div.switch_time.unchecked,
|
||||
div.switch_right.unchecked{
|
||||
background-image:url(/assets/common/images/icons/ccoch0.gif);
|
||||
}
|
||||
td.users_col{
|
||||
vertical-align:middle;
|
||||
text-align:center;
|
||||
@@ -137,40 +119,20 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing="0" cellpadding="0" border="0" style="table-layout: auto;width:820px;height:67px;bottom:auto;top:50px;" class="">
|
||||
<table cellspacing="0" cellpadding="0" border="0" style="table-layout: auto;width:850px;height:67px;bottom:auto;top:50px;" class="">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width:122px;">
|
||||
<th style="width:168px;">
|
||||
|
||||
</th>
|
||||
<th colspan="26">
|
||||
<img src="/assets/common/images/lng/inclin-{{app['locale']}}.png" style="width:698px"/>
|
||||
<th colspan="25">
|
||||
<img src="/assets/common/images/lng/inclin-{{app['locale']}}.png" style="width:682px"/>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td colspan="26">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="" style="bottom:40px;top:127px;overflow-y:auto;overflow-x:hidden;width:850px;max-height: 450px;">
|
||||
<table class="hoverable" cellspacing="0" cellpadding="0" border="0" style="table-layout: fixed;width:820px;">
|
||||
<!-- <thead>
|
||||
<tr>
|
||||
<th style="width:122px;">
|
||||
|
||||
</th>
|
||||
<th colspan="26">
|
||||
<img src="/assets/common/images/lng/inclin-{{app['locale']}}.gif" >
|
||||
</th>
|
||||
</tr>
|
||||
</thead>-->
|
||||
<div class="" style="bottom:40px;top:127px;overflow-y:auto;overflow-x:hidden;width:870px;max-height: 450px;">
|
||||
<table class="hoverable" cellspacing="0" cellpadding="0" border="0" style="table-layout: fixed;width:840px;">
|
||||
<tbody>
|
||||
{% set sbas = '' %}
|
||||
{% for rights in datas %}
|
||||
@@ -183,54 +145,55 @@
|
||||
{% endif %}
|
||||
|
||||
<tr>
|
||||
<td style="width:122px;overflow:hidden;white-space:nowrap;">
|
||||
<td style="width:140px;overflow:hidden;white-space:nowrap;">
|
||||
{{rights['sbas_id']|sbas_labels(app)}}
|
||||
</td>
|
||||
<td style="width:25px"></td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_access"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_actif"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_canputinalbum"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_candwnldpreview"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_nowatermark"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_candwnldhd"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_cancmd"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
@@ -247,117 +210,127 @@
|
||||
<td class="users_col">
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<td width="97" style="width: 97px;">
|
||||
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_canaddrecord"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_canmodifrecord"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_chgstatus"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_candeleterecord"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_imgtools"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_canadmin"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_canreport"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_canpush"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_manage"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col options">
|
||||
<div>
|
||||
▼
|
||||
<i class="fa fa-caret-down fa-right"></i>
|
||||
<input type="hidden" name="right" value="right_modify_struct"/>
|
||||
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td style="text-align:center;width:19px;" title="{{ 'Allowed to publish' | trans }}">
|
||||
<td class="main-right-item" style="text-align:center;width:19px;" title="{{ 'Allowed to publish' | trans }}">
|
||||
{{_self.format_checkbox(app.getAuthenticatedUser(), rights, constant('\\ACL::BAS_CHUPUB'), users, 'sbas')}}
|
||||
</td>
|
||||
<td style="text-align:center;width:19px;" title="{{ 'Manage Thesaurus' | trans }}">
|
||||
<td class="main-right-item" style="text-align:center;width:19px;" title="{{ 'Manage Thesaurus' | trans }}">
|
||||
{{_self.format_checkbox(app.getAuthenticatedUser(), rights, constant('\\ACL::BAS_MODIF_TH'), users, 'sbas')}}
|
||||
</td>
|
||||
<td style="text-align:center;width:19px;" title="{{ 'Manage Database' | trans }}">
|
||||
<td class="main-right-item" style="text-align:center;width:19px;" title="{{ 'Manage Database' | trans }}">
|
||||
{{_self.format_checkbox(app.getAuthenticatedUser(), rights, constant('\\ACL::BAS_MANAGE'), users, 'sbas')}}
|
||||
</td>
|
||||
<td style="text-align:center;width:19px;" title="{{ 'Manage DB fields' | trans }}">
|
||||
<td class="main-right-item" style="text-align:center;width:19px;" title="{{ 'Manage DB fields' | trans }}">
|
||||
{{_self.format_checkbox(app.getAuthenticatedUser(), rights, constant('\\ACL::BAS_MODIFY_STRUCT'), users, 'sbas')}}
|
||||
</td>
|
||||
<td style="text-align:center;width:48px;"></td>
|
||||
<td style="text-align:center;width:48px;">
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
<tr>
|
||||
<td style="overflow:hidden;white-space:nowrap;">
|
||||
<tr class="right-items">
|
||||
<td style="width: 140px;overflow:hidden;white-space:nowrap;" title="{{rights['base_id']|bas_labels(app)}}">
|
||||
{{rights['base_id']|bas_labels(app)}}
|
||||
</td>
|
||||
<td class="users_col case_right_access" title="{{ 'Access' | trans }}">
|
||||
<td class="select-all-line" title="{{'admin::users:edit: Manage inline selection' | trans }}" style="width: 25px">
|
||||
<div class="select-all-line-btn">
|
||||
<i class="fa fa-caret-right fa-right"></i>
|
||||
</div>
|
||||
<div class="users_check_line_wrap hide">
|
||||
<div class="checker check_left_right">{{'admin::users:edit: check read right' | trans }}</div>
|
||||
<div class="unchecker check-all_right">{{'admin::users:edit: check all right' | trans }}</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="users_col case_right_access left-right" title="{{ 'Access' | trans }}">
|
||||
{{_self.format_checkbox(app.getAuthenticatedUser(), rights, constant('\\ACL::ACCESS'), users, 'base')}}
|
||||
</td>
|
||||
<td class="users_col case_right_actif" title="{{ 'Active' | trans }}">
|
||||
<td class="users_col case_right_actif left-right" title="{{ 'Active' | trans }}">
|
||||
{{_self.format_checkbox(app.getAuthenticatedUser(), rights, constant('\\ACL::ACTIF'), users, 'base')}}
|
||||
</td>
|
||||
<td class="users_col case_right_canputinalbum" title="{{ 'Allowed to add in basket' | trans }}">
|
||||
<td class="users_col case_right_canputinalbum left-right" title="{{ 'Allowed to add in basket' | trans }}">
|
||||
{{_self.format_checkbox(app.getAuthenticatedUser(), rights, constant('\\ACL::CANPUTINALBUM'), users, 'base')}}
|
||||
</td>
|
||||
<td class="users_col case_right_candwnldpreview" title="{{ 'Access to preview' | trans }}">
|
||||
<td class="users_col case_right_candwnldpreview left-right" title="{{ 'Access to preview' | trans }}">
|
||||
{{_self.format_checkbox(app.getAuthenticatedUser(), rights, constant('\\ACL::CANDWNLDPREVIEW'), users, 'base')}}
|
||||
</td>
|
||||
<td class="users_col case_right_nowatermark" title="{{ 'Remove watermark' | trans }}">
|
||||
<td class="users_col case_right_nowatermark left-right" title="{{ 'Remove watermark' | trans }}">
|
||||
{{_self.format_checkbox(app.getAuthenticatedUser(), rights, constant('\\ACL::NOWATERMARK'), users, 'base')}}
|
||||
</td>
|
||||
<td class="users_col case_right_candwnldhd" title="{{ 'Access to HD' | trans }}">
|
||||
<td class="users_col case_right_candwnldhd left-right" title="{{ 'Access to HD' | trans }}">
|
||||
{{_self.format_checkbox(app.getAuthenticatedUser(), rights, constant('\\ACL::CANDWNLDHD'), users, 'base')}}
|
||||
</td>
|
||||
<td class="users_col case_right_cancmd" title="{{ 'Allowed to order' | trans }}">
|
||||
<td class="users_col case_right_cancmd left-right" title="{{ 'Allowed to order' | trans }}">
|
||||
{{_self.format_checkbox(app.getAuthenticatedUser(), rights, constant('\\ACL::CANCMD'), users, 'base')}}
|
||||
</td>
|
||||
<td class="users_col case_right_quota" title="{{ 'Set download quotas' | trans }}">
|
||||
@@ -391,7 +364,7 @@
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td style="text-align:center;width:100px;"></td>
|
||||
<td style="text-align:center;width:97px;"></td>
|
||||
|
||||
<td class="users_col case_right_canaddrecord" title="{{ 'Allowed to add' | trans }}">
|
||||
{{_self.format_checkbox(app.getAuthenticatedUser(), rights, constant('\\ACL::CANADDRECORD'), users, 'base')}}
|
||||
@@ -423,8 +396,8 @@
|
||||
<td class="users_col case_right_modify" title="{{ 'Manage values lists' | trans }}">
|
||||
{{_self.format_checkbox(app.getAuthenticatedUser(), rights, constant('\\ACL::COLL_MODIFY_STRUCT'), users, 'base')}}
|
||||
</td>
|
||||
<td colspan="5">
|
||||
|
||||
<td colspan="5">
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
@@ -1099,6 +1072,31 @@
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$('body').click(function() {
|
||||
$('.users_check_line_wrap').addClass('hide');
|
||||
});
|
||||
$('.select-all-line-btn').click(function (event) {
|
||||
event.stopPropagation();
|
||||
var top = $(this).offset().top - 50;
|
||||
var left = $(this).offset().left + 60;
|
||||
$('.users_check_line_wrap').addClass('hide');
|
||||
$(this).closest('.select-all-line').find('.users_check_line_wrap').removeClass('hide').css('top', +top+'px');
|
||||
|
||||
});
|
||||
$('.check_left_right').click(function () {
|
||||
$(this).closest('.right-items').find('.left-right div').show().removeClass('unchecked').addClass('checked');
|
||||
$(this).closest('.right-items').find('.left-right input').val(1);
|
||||
$('.users_check_line_wrap').addClass('hide');
|
||||
});
|
||||
|
||||
$('.check-all_right').click(function () {
|
||||
$(this).closest('.right-items').find('div').show().removeClass('unchecked').addClass('checked');
|
||||
$(this).closest('.right-items').find('input').val(1);
|
||||
$('.users_check_line_wrap').addClass('hide');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
require([
|
||||
|
||||
@@ -42,6 +42,8 @@
|
||||
serverDisconnected: '{{ 'phraseanet::erreur: Votre session est fermee, veuillez vous re-authentifier' | trans | e('js') }}',
|
||||
check_all : '{{ 'Cocher toute la colonne' | trans | e('js') }}',
|
||||
uncheck_all : '{{ 'Decocher toute la colonne' | trans | e('js') }}',
|
||||
check_left_right : '{{ 'admin::users:edit: check left right' | trans | e('js') }}',
|
||||
check_all_right : '{{ 'admin::users:edit: check all right' | trans | e('js') }}',
|
||||
create_template : '{{ 'Creer un model' | trans | e('js') }}',
|
||||
create_user : '{{ 'Creer un utilisateur' | trans | e('js') }}',
|
||||
annuler : '{{ 'boutton::annuler' | trans | e('js') }}',
|
||||
|
||||
@@ -18,12 +18,13 @@
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).is_admin() %}
|
||||
<li>
|
||||
<a target="right" href="{{ path('setup_display_globals') }}" class="ajax">
|
||||
<img src="/assets/admin/images/Setup.png" />
|
||||
<img width="16" src="/assets/admin/images/tools-solid.svg" />
|
||||
<span>{% trans %}Setup{% endtrans %}</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a target="right" href="{{ path('admin_searchengine_form') }}">
|
||||
<img width="16" src="/assets/admin/images/searchengin.svg" />
|
||||
<span>{{ 'SearchEngine settings' | trans }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -79,7 +80,7 @@
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right(constant('\\ACL::TASKMANAGER')) %}
|
||||
<li class="{% if feature == 'workermanager' %}selected{% endif %}">
|
||||
<a target="right" href="{{ path('worker_admin') }}" class="ajax">
|
||||
<img src="/assets/admin/images/TaskManager.png" />
|
||||
<img width="16" src="/assets/admin/images/cogs-solid.svg" />
|
||||
<span>{{ 'Worker Manager' | trans }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -88,7 +89,7 @@
|
||||
<li class="open">
|
||||
<div class="{% if feature == 'bases' %}selected{% endif %}" style="padding:0 0 2px 0;">
|
||||
<a id="TREE_DATABASES" target="right" href="{{ path('admin_databases') }}" class="ajax">
|
||||
<img src="/assets/admin/images/DatabasesAvailable.png" />
|
||||
<img width="16" src="/assets/admin/images/database-solid-blue.svg" />
|
||||
<span>{{ 'admin::utilisateurs: bases de donnees' | trans }}</span>
|
||||
</a>
|
||||
</div>
|
||||
@@ -113,7 +114,7 @@
|
||||
<li class="{% if this_is_open %}open{% endif %}">
|
||||
<div style="padding:0 0 2px 0;" class="{% if this_is_selected %}selected{% endif %}">
|
||||
<a target="right" href="{{ path('admin_database', { 'databox_id' : sbas_id }) }}" class="ajax">
|
||||
<img src="/assets/admin/images/Database.png"/>
|
||||
<img width="16" src="/assets/admin/images/database-solid.svg"/>
|
||||
<span>{{ databox.get_label(app['locale']) }}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -46,7 +46,10 @@
|
||||
<option {% if parm['like_field'] == "company" %}selected="selected"{% endif %} value="company">{{ 'Push::filter on companies' | trans }}</option>
|
||||
<option {% if parm['like_field'] == "email" %}selected="selected"{% endif %} value="email">{{ 'Push::filter on emails' | trans }}</option>
|
||||
</select>
|
||||
<span>{{ 'Push::filter starts' | trans }}</span>
|
||||
<select name="like_type" class="input-medium without-border">
|
||||
<option selected="selected" value="content">{{ 'admin::users:filter: content' | trans }}</option>
|
||||
<option value="start_with">{{ 'admin::users:filter: start with' | trans }}</option>
|
||||
</select>
|
||||
<input type="text" value="{{parm['like_value']}}" name="like_value" class="input-medium">
|
||||
<span>{{ 'Last applied template' | trans }}</span>
|
||||
<select name="last_model" class="input-medium">
|
||||
|
||||
@@ -7,32 +7,32 @@
|
||||
|
||||
<li class="worker-configuration" role="presentation">
|
||||
<a href="#worker-configuration" aria-controls="worker-configuration" role="tab" data-toggle="tab" data-url="/admin/worker-manager/configuration">
|
||||
{{ "Configuration" | trans }}
|
||||
{{ "admin::workermanager:tab:configuration: title" | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="worker-info active" role="presentation">
|
||||
<a href="#worker-info" aria-controls="worker-info" role="tab" data-toggle="tab" data-url="/admin/worker-manager/info">
|
||||
{{ "Working info" | trans }}
|
||||
{{ 'admin::workermanager:tab:workerinfo: title' |trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="worker-searchengine" role="presentation">
|
||||
<a href="#worker-searchengine" aria-controls="worker-searchengine" role="tab" data-toggle="tab" data-url="/admin/worker-manager/searchengine">
|
||||
{{ "Searchengine" | trans }}
|
||||
{{ 'admin::workermanager:tab:searchengine: title' |trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="worker-pull-assets" role="presentation">
|
||||
<a href="#worker-pull-assets" aria-controls="worker-pull-assets" role="tab" data-toggle="tab" data-url="/admin/worker-manager/pull-assets">
|
||||
{{ "Pull Assets" | trans }}
|
||||
{{ 'admin::workermanager:tab:pullassets: title' |trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="worker-subview" role="presentation">
|
||||
<a href="#worker-subview" aria-controls="worker-subview" role="tab" data-toggle="tab" data-url="/admin/worker-manager/subview">
|
||||
{{ "Subview" | trans }}
|
||||
{{ 'admin::workermanager:tab:subview: title' |trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="worker-metadata" role="presentation">
|
||||
<a href="#worker-metadata" aria-controls="worker-metadata" role="tab" data-toggle="tab" data-url="/admin/worker-manager/metadata">
|
||||
{{ "Metadata" | trans }}
|
||||
{{ 'admin::workermanager:tab:metadata: title' |trans }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -86,6 +86,6 @@
|
||||
</script>
|
||||
{% else %}
|
||||
<h1 class="alert alert-danger">
|
||||
Error! can't load rabbit config. Check rabbit config to use worker.
|
||||
{{ 'admin::workermanager: Rabbit config error' |trans }}
|
||||
</h1>
|
||||
{% endif %}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<h3> Config Worker queue retry</h3>
|
||||
<h1>{{ 'admin::workermanager:tab:workerconfig: title' |trans }}</h1>
|
||||
<p class="alert alert-danger">
|
||||
<strong>Warning!</strong>
|
||||
When applied, it's re-initialize and purge "retry" and "delayed" queue!
|
||||
{{ 'admin::workermanager:tab:workerconfig: warning' |trans }}
|
||||
</p>
|
||||
|
||||
<p>Set up the delay between two attempts per queue! (if not set, default 10000 millisecond)</p>
|
||||
@@ -48,7 +47,7 @@
|
||||
|
||||
|
||||
<div class="control-group">
|
||||
<input type="submit" class="btn btn-primary" value={{ "Apply in queue"|trans }} />
|
||||
<input type="submit" class="btn btn-primary" value={{ "admin::workermanager:tab:workerconfig:Apply in queue"|trans }} />
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -1,56 +1,60 @@
|
||||
{% if not reload %}
|
||||
|
||||
<h1> worker information</h1>
|
||||
|
||||
<h1>{{ 'admin::workermanager:tab:workerinfo: description' |trans }}</h1>
|
||||
<div class="worker-info-block">
|
||||
<form action="{{ path("worker_admin_truncate") }}" method="POST">
|
||||
<p class="alert alert-danger">
|
||||
<strong>Warning!</strong>
|
||||
{{ "It's delete all work information !" |trans }}
|
||||
</p>
|
||||
<p>
|
||||
<button class="btn btn-primary">
|
||||
{{ 'Erase all information' |trans }}
|
||||
{{ 'admin::workermanager:tab:workerinfo: Erase all information' |trans }}
|
||||
</button>
|
||||
<span class="alert alert-danger">
|
||||
{{ "admin::workermanager:tab:workerinfo: Warning! Erase all information" |trans }}
|
||||
</span>
|
||||
</p>
|
||||
</form>
|
||||
|
||||
<form action="{{ path("worker_admin_delete_finished") }}" method="POST">
|
||||
<p class="alert alert-danger">
|
||||
<strong>Warning!</strong>
|
||||
{{ "It's delete all finished works !"|trans }}
|
||||
</p>
|
||||
<p>
|
||||
<button class="btn btn-primary">
|
||||
{{ 'Erase all finished' | trans }}
|
||||
{{ 'admin::workermanager:tab:workerinfo: Erase all finished' | trans }}
|
||||
</button>
|
||||
</form>
|
||||
<span class="alert alert-danger">
|
||||
{{ "admin::workermanager:tab:workerinfo: Warning! Erase all finished"|trans }}
|
||||
</span>
|
||||
|
||||
</p>
|
||||
</form>
|
||||
<br><br>
|
||||
<button id="refresh-list" class="btn btn-success">
|
||||
{{ 'Refresh list' |trans }}
|
||||
{{ 'admin::workermanager:tab:workerinfo: Refresh list' |trans }}
|
||||
</button>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox inline">
|
||||
<input class="running-work" type="checkbox" value="1" checked> {{ 'Display running work' | trans }}
|
||||
<input class="running-work" type="checkbox" value="1" checked> {{ 'admin::workermanager:tab:workerinfo: Display running work' | trans }}
|
||||
</label>
|
||||
<label class="checkbox inline">
|
||||
<input class="finished-work" type="checkbox" value="1" checked> {{ 'Display finished work' | trans }}
|
||||
<input class="finished-work" type="checkbox" value="1" checked> {{ 'admin::workermanager:tab:workerinfo: Display finished work' | trans }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<table class="admintable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="sortable">databox_id</th>
|
||||
<th class="sortable">record_id</th>
|
||||
<th class="sortable">work</th>
|
||||
<th class="sortable">work_on</th>
|
||||
<th class="sortable">created</th>
|
||||
<th class="sortable">published</th>
|
||||
<th class="sortable">status</th>
|
||||
<th class="sortable">{{ 'admin::workermanager:tab:workerinfo: databox_id' | trans }}</th>
|
||||
<th class="sortable">{{ 'admin::workermanager:tab:workerinfo: record_id' | trans }}</th>
|
||||
<th class="sortable">{{ 'admin::workermanager:tab:workerinfo: work' | trans }}</th>
|
||||
<th class="sortable">{{ 'admin::workermanager:tab:workerinfo: work_on' | trans }}</th>
|
||||
<th class="sortable">{{ 'admin::workermanager:tab:workerinfo: created' | trans }}</th>
|
||||
<th class="sortable">{{ 'admin::workermanager:tab:workerinfo: published' | trans }}</th>
|
||||
<th class="sortable">{{ 'admin::workermanager:tab:workerinfo: status' | trans }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="work-list">
|
||||
{% endif %}
|
||||
|
||||
{% for workerRow in workerRunningJob %}
|
||||
{% for workerRow in workerRunningJob | sort | reverse %}
|
||||
<tr>
|
||||
<td>{{ workerRow.databoxId }}</td>
|
||||
<td>{{ workerRow.recordId }}</td>
|
||||
@@ -59,7 +63,6 @@
|
||||
<td>{{ workerRow.created|date('Y-m-d H:i:s') }}</td>
|
||||
<td>{{ workerRow.published|date('Y-m-d H:i:s') }}</td>
|
||||
<td>{{ workerRow.status }}</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
<h1>Write metadata setting</h1>
|
||||
<h1>{{ 'admin::workermanager:tab:metadata: description' |trans }}</h1>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<h1>Pull Assets from uploader setting</h1>
|
||||
<h1>{{ 'admin::workermanager:tab:pullassets: description' |trans }}</h1>
|
||||
|
||||
{{ form_start(form, {'action': path('worker_admin_pullAssets')}) }}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<input type="submit" class="btn btn-primary" value={{ "Initialize pull assets"|trans }} />
|
||||
<input type="submit" class="btn btn-primary" value={{ "admin::workermanager:tab:pullassets: Initialize pull assets"|trans }} />
|
||||
</div>
|
||||
|
||||
{{ form_end(form) }}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<h1>Populate elasticsearch index</h1>
|
||||
<h1>{{ 'admin::workermanager:tab:searchengine: description' |trans }}</h1>
|
||||
|
||||
{{ form_start(form, {'action': path('worker_admin_searchengine')}) }}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label"> {{ 'Databox to populate' | trans }}</label>
|
||||
<label class="control-label"> {{ 'admin::workermanager:tab:searchengine: Databox to populate' | trans }}</label>
|
||||
<div class="controls">
|
||||
<label class="checkbox inline">
|
||||
<input class="subdef_sbas" type="checkbox" value="0"> {{ 'All' | trans }}
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
<div class="control-group">
|
||||
<button type="submit" class="btn btn-primary btn-trigger " id="populateButton" form="worker_searchengine">
|
||||
{{ "Populate" |trans }}
|
||||
{{ "admin::workermanager:tab:searchengine: Populate" |trans }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
}
|
||||
});
|
||||
} else {
|
||||
alert("Worker is in process to indexing one of the selected databox!!");
|
||||
alert({{ "admin::workermanager:tab:searchengine: Warning Worker is in process to indexing one of the selected databox" |trans }});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1 +1 @@
|
||||
<h1>Subview setting</h1>
|
||||
<h1>{{ 'admin::workermanager:tab:subview: description' |trans }}</h1>
|
||||
|
||||
@@ -7578,10 +7578,10 @@ phraseanet-common@^0.4.5-d:
|
||||
js-cookie "^2.1.0"
|
||||
pym.js "^1.3.1"
|
||||
|
||||
phraseanet-production-client@0.34.207-d:
|
||||
version "0.34.207-d"
|
||||
resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.207-d.tgz#ab5e3798972a4d6e341762eb3a5bdb855f671ef2"
|
||||
integrity sha512-BPX77nV9Bd5+7rwXQwiYz0y8vp+UrsBFTlb7E9xLgd6t20NagZx480+tfDwGrKQ4SMVf+DUJXAKBVVcIO8bfHw==
|
||||
phraseanet-production-client@0.34.208-d:
|
||||
version "0.34.208-d"
|
||||
resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.208-d.tgz#6e1c204c1706cdc2e3c9ad2fdc217dfe96f05688"
|
||||
integrity sha512-1uubAM0L0BeEeyCP0kiECnTt90EAO/u9hitWjkkqGxSiB+kJ3wTZHaM1T7+l676Ryg/wRIZBF/eu1vhGtoVAeQ==
|
||||
dependencies:
|
||||
"@mapbox/mapbox-gl-language" "^0.9.2"
|
||||
"@turf/turf" "^5.1.6"
|
||||
|
||||