mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-24 10:23:17 +00:00
Remove ArrayCollection as there is no benefits to use it.
Change twig from ArrayCollection to plain array.
This commit is contained in:
@@ -11,9 +11,8 @@
|
||||
|
||||
namespace Alchemy\Phrasea\Model\Entities;
|
||||
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Alchemy\Phrasea\Model\RecordInterface;
|
||||
use Alchemy\Phrasea\Model\MutableRecordInterface;
|
||||
use Alchemy\Phrasea\Model\RecordInterface;
|
||||
|
||||
/**
|
||||
* Record entity from elastic search
|
||||
@@ -26,7 +25,7 @@ class ElasticsearchRecord implements RecordInterface, MutableRecordInterface
|
||||
private $baseId;
|
||||
private $collectionName;
|
||||
private $mimeType;
|
||||
private $title;
|
||||
private $title = [];
|
||||
private $originalName;
|
||||
private $updated;
|
||||
private $created;
|
||||
@@ -36,16 +35,11 @@ class ElasticsearchRecord implements RecordInterface, MutableRecordInterface
|
||||
private $type;
|
||||
private $status;
|
||||
private $isStory;
|
||||
/** @var ArrayCollection */
|
||||
private $caption;
|
||||
/** @var ArrayCollection */
|
||||
private $exif;
|
||||
/** @var ArrayCollection */
|
||||
private $subdefs;
|
||||
/** @var ArrayCollection */
|
||||
private $flags;
|
||||
/** @var ArrayCollection */
|
||||
private $highlight;
|
||||
private $caption = [];
|
||||
private $exif = [];
|
||||
private $subdefs = [];
|
||||
private $flags = [];
|
||||
private $highlight = [];
|
||||
|
||||
/** {@inheritdoc} */
|
||||
public function getId()
|
||||
@@ -110,7 +104,7 @@ class ElasticsearchRecord implements RecordInterface, MutableRecordInterface
|
||||
/** {@inheritdoc} */
|
||||
public function setIsStory($isStory)
|
||||
{
|
||||
$this->isStory = (bool) $isStory;
|
||||
$this->isStory = (bool)$isStory;
|
||||
}
|
||||
|
||||
/** {@inheritdoc} */
|
||||
@@ -187,12 +181,12 @@ class ElasticsearchRecord implements RecordInterface, MutableRecordInterface
|
||||
*/
|
||||
public function getTitle($locale = null)
|
||||
{
|
||||
if ($locale && $this->title->containsKey($locale)) {
|
||||
return $this->title->get($locale);
|
||||
if ($locale && isset($this->title[$locale])) {
|
||||
return $this->title[$locale];
|
||||
}
|
||||
|
||||
if ($this->title->containsKey('default')) {
|
||||
return $this->title->get('default');
|
||||
if (isset($this->title['default'])) {
|
||||
return $this->title['default'];
|
||||
}
|
||||
|
||||
return $this->getOriginalName();
|
||||
@@ -201,9 +195,9 @@ class ElasticsearchRecord implements RecordInterface, MutableRecordInterface
|
||||
/**
|
||||
* Sets a collection of titles
|
||||
*
|
||||
* @param ArrayCollection $titles
|
||||
* @param string[] $titles
|
||||
*/
|
||||
public function setTitles(ArrayCollection $titles)
|
||||
public function setTitles(array $titles)
|
||||
{
|
||||
$this->title = $titles;
|
||||
}
|
||||
@@ -242,45 +236,41 @@ class ElasticsearchRecord implements RecordInterface, MutableRecordInterface
|
||||
$this->uuid = $uuid;
|
||||
}
|
||||
|
||||
/** @return ArrayCollection */
|
||||
/** @return array */
|
||||
public function getCaption()
|
||||
{
|
||||
return $this->caption;
|
||||
}
|
||||
|
||||
public function setCaption(ArrayCollection $caption)
|
||||
public function setCaption(array $caption)
|
||||
{
|
||||
$this->caption = $caption;
|
||||
}
|
||||
|
||||
/** @return ArrayCollection */
|
||||
/** @return array */
|
||||
public function getExif()
|
||||
{
|
||||
return $this->exif;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $exif
|
||||
*/
|
||||
public function setExif(ArrayCollection $exif)
|
||||
public function setExif(array $exif)
|
||||
{
|
||||
$this->exif = $exif;
|
||||
}
|
||||
|
||||
/** @return ArrayCollection */
|
||||
/** @return array */
|
||||
public function getSubdefs()
|
||||
{
|
||||
return $this->subdefs;
|
||||
}
|
||||
|
||||
/** @return ArrayCollection */
|
||||
public function setSubdefs(ArrayCollection $subdefs)
|
||||
public function setSubdefs(array $subdefs)
|
||||
{
|
||||
$this->subdefs = $subdefs;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ArrayCollection
|
||||
* @return array
|
||||
*/
|
||||
public function getFlags()
|
||||
{
|
||||
@@ -288,9 +278,9 @@ class ElasticsearchRecord implements RecordInterface, MutableRecordInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ArrayCollection $flags
|
||||
* @param array $flags
|
||||
*/
|
||||
public function setFlags(ArrayCollection $flags)
|
||||
public function setFlags(array $flags)
|
||||
{
|
||||
$this->flags = $flags;
|
||||
}
|
||||
@@ -323,7 +313,7 @@ class ElasticsearchRecord implements RecordInterface, MutableRecordInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ArrayCollection
|
||||
* @return array
|
||||
*/
|
||||
public function getHighlight()
|
||||
{
|
||||
@@ -331,9 +321,9 @@ class ElasticsearchRecord implements RecordInterface, MutableRecordInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ArrayCollection $highlight
|
||||
* @param array $highlight
|
||||
*/
|
||||
public function setHighlight(ArrayCollection $highlight)
|
||||
public function setHighlight(array $highlight)
|
||||
{
|
||||
$this->highlight = $highlight;
|
||||
}
|
||||
|
||||
@@ -58,9 +58,9 @@ interface RecordInterface
|
||||
/** @return integer */
|
||||
public function getStatusBitField();
|
||||
|
||||
/** @return ArrayCollection */
|
||||
/** @return array */
|
||||
public function getExif();
|
||||
|
||||
/** @return ArrayCollection */
|
||||
/** @return array */
|
||||
public function getCaption();
|
||||
}
|
||||
|
||||
@@ -41,12 +41,12 @@ class ElasticsearchRecordHydrator
|
||||
$record->setUpdated($updatedOn ? new \DateTime($updatedOn) : $updatedOn);
|
||||
$record->setUuid(igorw\get_in($data, ['uuid'], ''));
|
||||
$record->setStatusBitField(igorw\get_in($data, ['flags_bitfield'], 0));
|
||||
$record->setTitles(new ArrayCollection((array) igorw\get_in($data, ['title'], [])));
|
||||
$record->setCaption(new ArrayCollection((array) igorw\get_in($data, ['caption'], [])));
|
||||
$record->setExif(new ArrayCollection((array) igorw\get_in($data, ['exif'], [])));
|
||||
$record->setSubdefs(new ArrayCollection((array) igorw\get_in($data, ['subdefs'], [])));
|
||||
$record->setFlags(new ArrayCollection((array) igorw\get_in($data, ['flags'], [])));
|
||||
$record->setHighlight(new ArrayCollection($highlight));
|
||||
$record->setTitles((array) igorw\get_in($data, ['title'], []));
|
||||
$record->setCaption((array) igorw\get_in($data, ['caption'], []));
|
||||
$record->setExif((array) igorw\get_in($data, ['exif'], []));
|
||||
$record->setSubdefs((array) igorw\get_in($data, ['subdefs'], []));
|
||||
$record->setFlags((array) igorw\get_in($data, ['flags'], []));
|
||||
$record->setHighlight((array) $highlight);
|
||||
|
||||
return $record;
|
||||
}
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
namespace Alchemy\Phrasea\Twig;
|
||||
|
||||
use Alchemy\Phrasea\Application;
|
||||
use Alchemy\Phrasea\Model\Entities\ElasticsearchRecord;
|
||||
use Alchemy\Phrasea\Model\Entities\User;
|
||||
use Alchemy\Phrasea\Model\RecordInterface;
|
||||
use Silex\Application;
|
||||
|
||||
class PhraseanetExtension extends \Twig_Extension
|
||||
{
|
||||
@@ -49,11 +49,12 @@ class PhraseanetExtension extends \Twig_Extension
|
||||
if ($record instanceof ElasticsearchRecord) {
|
||||
$highlightKey = sprintf('caption.%s', $field);
|
||||
|
||||
if (false === $record->getHighlight()->containsKey($highlightKey)) {
|
||||
$highlights = $record->getHighlight();
|
||||
if (false === isset($highlights[$highlightKey])) {
|
||||
return implode('; ', (array) $value);
|
||||
}
|
||||
|
||||
$highlightValue = $record->getHighlight()->get($highlightKey);
|
||||
$highlightValue = $highlights[$highlightKey];
|
||||
|
||||
// if field is multivalued, merge highlighted values with captions ones
|
||||
if (is_array($value)) {
|
||||
@@ -71,7 +72,9 @@ class PhraseanetExtension extends \Twig_Extension
|
||||
public function getRecordFlags(RecordInterface $record)
|
||||
{
|
||||
$recordStatuses = [];
|
||||
$databox = $this->app['phraseanet.appbox']->get_databox($record->getDataboxId());
|
||||
/** @var \appbox $appbox */
|
||||
$appbox = $this->app['phraseanet.appbox'];
|
||||
$databox = $appbox->get_databox($record->getDataboxId());
|
||||
|
||||
$structure = $databox->getStatusStructure()->toArray();
|
||||
|
||||
@@ -207,8 +210,9 @@ class PhraseanetExtension extends \Twig_Extension
|
||||
public function getSubdefUrl(RecordInterface $record, $subdefName)
|
||||
{
|
||||
if ($record instanceof ElasticsearchRecord) {
|
||||
if ($record->getSubdefs()->containsKey($subdefName)) {
|
||||
$thumbnail = $record->getSubdefs()->get($subdefName);
|
||||
$subdefs = $record->getSubdefs();
|
||||
if (isset($subdefs[$subdefName])) {
|
||||
$thumbnail = $subdefs[$subdefName];
|
||||
if (null !== $path = $thumbnail['path']) {
|
||||
if (is_string($path) && '' !== $path) {
|
||||
return $this->app['phraseanet.static-file']->getUrl($path);
|
||||
|
||||
@@ -765,14 +765,15 @@ class record_adapter implements RecordInterface, cache_cacheableInterface
|
||||
|
||||
public function getCaption()
|
||||
{
|
||||
$collection = new ArrayCollection();
|
||||
$collection = [];
|
||||
|
||||
/** @var caption_field $field */
|
||||
foreach ($this->get_caption()->get_fields() as $field) {
|
||||
$values = array_map(function($fieldValue) {
|
||||
$values = array_map(function(caption_Field_Value $fieldValue) {
|
||||
return $fieldValue->getValue();
|
||||
}, $field->get_values());
|
||||
|
||||
$collection->set($field->get_name(), $values);
|
||||
$collection[$field->get_name()] = $values;
|
||||
}
|
||||
|
||||
return $collection;
|
||||
@@ -2035,7 +2036,7 @@ class record_adapter implements RecordInterface, cache_cacheableInterface
|
||||
/** {@inheritdoc} */
|
||||
public function getExif()
|
||||
{
|
||||
return new ArrayCollection($this->get_technical_infos());
|
||||
return $this->get_technical_infos();
|
||||
}
|
||||
|
||||
public function getStatusStructure()
|
||||
|
||||
@@ -19,52 +19,52 @@
|
||||
<br/>
|
||||
|
||||
{% block td_size %}
|
||||
{% set width = record.exif.get(constant('media_subdef::TC_DATA_WIDTH')) %}
|
||||
{% set height = record.exif.get(constant('media_subdef::TC_DATA_HEIGHT')) %}
|
||||
{% set width = record.exif[constant('media_subdef::TC_DATA_WIDTH')]|default(null) %}
|
||||
{% set height = record.exif[constant('media_subdef::TC_DATA_HEIGHT')]|default(null) %}
|
||||
{% if width is not none and height is not none %}
|
||||
{{ width ~ " x " ~ height }}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
<hr/>
|
||||
{% block td_camera_model %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_CAMERAMODEL')) is not none %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_CAMERAMODEL')] is defined %}
|
||||
{{ 'Camera Model' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_CAMERAMODEL')) }}
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_CAMERAMODEL')] }}
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_color_space %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_COLORSPACE')) is not none %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_COLORSPACE')] is defined %}
|
||||
{{ 'Color space' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_COLORSPACE')) }}
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_COLORSPACE')] }}
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_channels %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_CHANNELS')) is not none %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_CHANNELS')] is defined %}
|
||||
{{ 'Channels' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_CHANNELS')) }}
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_CHANNELS')] }}
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_color_depth %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_COLORDEPTH')) is not none %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_COLORDEPTH')] is defined %}
|
||||
{{ 'Color Depth' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_COLORDEPTH')) }} bits
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_COLORDEPTH')] }} bits
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_iso_sensibility %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_ISO')) is not none %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_ISO')] is defined %}
|
||||
{{ 'ISO sensibility' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_ISO')) }}
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_ISO')] }}
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_flash %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_FLASHFIRED')) is not none %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_FLASHFIRED')] is defined %}
|
||||
{{ 'Flash' | trans }} :
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_FLASHFIRED')) %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_FLASHFIRED')] %}
|
||||
{{ 'yes' | trans }}
|
||||
{% else %}
|
||||
{{ 'no' | trans }}
|
||||
@@ -73,72 +73,72 @@
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_shutter_speed %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_SHUTTERSPEED')) is not none %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_SHUTTERSPEED')] is defined %}
|
||||
{{ 'Shutter speed' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_SHUTTERSPEED')) }} s.
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_SHUTTERSPEED')] }} s.
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_apeture %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_APERTURE')) is not none %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_APERTURE')] is defined %}
|
||||
{{ 'Aperture' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_APERTURE')) | round(2) }}
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_APERTURE')] | round(2) }}
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_focal_length %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_FOCALLENGTH')) is not none %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_FOCALLENGTH')] is defined %}
|
||||
{{ 'Focal length' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_FOCALLENGTH')) }} mm
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_FOCALLENGTH')] }} mm
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_hyperfocal_distance %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_HYPERFOCALDISTANCE')) is not none %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_HYPERFOCALDISTANCE')] is defined %}
|
||||
{{ 'Hyperfocal distance' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_HYPERFOCALDISTANCE')) | round(2) }} mm
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_HYPERFOCALDISTANCE')] | round(2) }} mm
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_light_value %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_LIGHTVALUE')) is not none %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_LIGHTVALUE')] is defined %}
|
||||
{{ 'Light Value' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_LIGHTVALUE')) | round(2) }}
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_LIGHTVALUE')] | round(2) }}
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_duration %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_DURATION')) is not none %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_DURATION')] is defined %}
|
||||
{{ 'Duree' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_DURATION')) }}
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_DURATION')] }}
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_framerate %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_FRAMERATE')) is not none %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_FRAMERATE')] is defined %}
|
||||
{{ 'Images par secondes' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_FRAMERATE')) | round(2) }} ips
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_FRAMERATE')] | round(2) }} ips
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_codec_audio %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_AUDIOCODEC')) %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_AUDIOCODEC')] is defined %}
|
||||
{{ 'Codec Audio' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_AUDIOCODEC')) }}
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_AUDIOCODEC')] }}
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_codec_video %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_VIDEOCODEC')) %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_VIDEOCODEC')] is defined %}
|
||||
{{ 'Codec Video' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_VIDEOCODEC')) }}
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_VIDEOCODEC')] }}
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block td_audio_rate %}
|
||||
{% if record.exif.get(constant('media_subdef::TC_DATA_AUDIOSAMPLERATE')) %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_AUDIOSAMPLERATE')] is defined %}
|
||||
{{ 'Frequence d\'echantillonage' | trans }} :
|
||||
{{ record.exif.get(constant('media_subdef::TC_DATA_AUDIOSAMPLERATE')) | round(2) }} kHz
|
||||
{{ record.exif[constant('media_subdef::TC_DATA_AUDIOSAMPLERATE')] | round(2) }} kHz
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
{% set thumb_w = 70 %}
|
||||
{% set thumb_h = 70 %}
|
||||
|
||||
{% set thumbnail = record.subdefs.get('thumbnail') %}
|
||||
{% set thumbnail = record.subdefs.thumbnail|default(null) %}
|
||||
|
||||
{% if thumbnail is not none %}
|
||||
{% set thumb_w = thumbnail.width %}
|
||||
@@ -50,4 +50,3 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL"></div>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
{% set thumb_w = 256 %}
|
||||
{% set thumb_h = 256 %}
|
||||
|
||||
{% set thumbnail = record.subdefs.get('thumbnail') %}
|
||||
{% set thumbnail = record.subdefs.thumbnail|default(null) %}
|
||||
{% if thumbnail is not none %}
|
||||
{% set thumb_w = thumbnail.width %}
|
||||
{% set thumb_h = thumbnail.height %}
|
||||
@@ -39,7 +39,7 @@
|
||||
{% set thumb_w = 256 %}
|
||||
{% set thumb_h = 256 %}
|
||||
|
||||
{% set thumbnail = record.subdefs.get('thumbnailgif') %}
|
||||
{% set thumbnail = record.subdefs.thumbnailgif|default(null) %}
|
||||
{% if thumbnail is not none %}
|
||||
{% set thumb_w = thumbnail.width %}
|
||||
{% set thumb_h = thumbnail.height %}
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
{% set rollover = record.subdefs.containsKey('thumbnailgif') %}
|
||||
{% set rollover = record.subdefs.thumbnailgif is defined %}
|
||||
{% set extraclass = '' %}
|
||||
<div class="{% if rollover %}rollovable{% endif %}">
|
||||
{% if rollover %}
|
||||
@@ -116,7 +116,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% if record.subdefs.containsKey('preview') and has_access_subdef(record, 'preview') %}
|
||||
{% if record.subdefs.preview is defined and has_access_subdef(record, 'preview') %}
|
||||
<div tooltipsrc="{{ path('prod_tooltip_preview', { 'sbas_id' : record.databoxId, 'record_id' : record.recordId }) }}" class="previewTips"></div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user