From 5a4de4750c3db661389dc6dfa5890879c38b9f78 Mon Sep 17 00:00:00 2001 From: mike-esokia Date: Wed, 16 May 2018 16:34:42 +0400 Subject: [PATCH] PORT PHRAS-1681 to 4.1 --- .../Phrasea/Twig/PhraseanetExtension.php | 25 ------------------- templates/web/common/macros.html.twig | 6 ++--- templates/web/prod/results/record.html.twig | 2 +- 3 files changed, 4 insertions(+), 29 deletions(-) diff --git a/lib/Alchemy/Phrasea/Twig/PhraseanetExtension.php b/lib/Alchemy/Phrasea/Twig/PhraseanetExtension.php index 0fef3ee23e..b9c92f5015 100644 --- a/lib/Alchemy/Phrasea/Twig/PhraseanetExtension.php +++ b/lib/Alchemy/Phrasea/Twig/PhraseanetExtension.php @@ -47,37 +47,12 @@ class PhraseanetExtension extends \Twig_Extension new \Twig_SimpleFunction('record_flags', array($this, 'getRecordFlags')), new \Twig_SimpleFunction('border_checker_from_fqcn', array($this, 'getCheckerFromFQCN')), new \Twig_SimpleFunction('caption_field', array($this, 'getCaptionField')), - new \Twig_SimpleFunction('caption_field_label', array($this, 'getCaptionFieldLabel')), new \Twig_SimpleFunction('caption_field_order', array($this, 'getCaptionFieldOrder')), new \Twig_SimpleFunction('flag_slugify', array(Flag::class, 'normalizeName')), ); } - /** - * get localized field's label - * @param RecordInterface $record - * @param $fieldName - * @return string - the name label - */ - public function getCaptionFieldLabel(RecordInterface $record, $fieldName) - { - if ($record) { - /** @var \appbox $appbox */ - $appbox = $this->app['phraseanet.appbox']; - $databox = $appbox->get_databox($record->getDataboxId()); - - foreach ($databox->get_meta_structure() as $meta) { - /** @var \databox_field $meta */ - if ($meta->get_name() === $fieldName) { - return $meta->get_label($this->app['locale']); - } - } - } - - return ''; - } - public function getCaptionField(RecordInterface $record, $field, $value) { if ($record instanceof ElasticsearchRecord) { diff --git a/templates/web/common/macros.html.twig b/templates/web/common/macros.html.twig index a8abb904d6..50091a8af3 100644 --- a/templates/web/common/macros.html.twig +++ b/templates/web/common/macros.html.twig @@ -126,9 +126,9 @@ {% macro caption(record, can_see_business, display_exif, limitedWidth = false) %}
- {% for name, value in record.getCaption(caption_field_order(record, can_see_business)) %} -
{{ caption_field_label(record, name) }}
-
{{ caption_field(record, name, value)|e|highlight }}
+ {% for field in record.get_caption().get_highlight_fields(null, can_see_business) %} +
{{ field.label_name }}
+
{{ _self.caption_value(field, bounceable|default(true))|highlight|linkify }}
{% endfor %}
{% if display_exif|default(true) and app.getAuthenticator().user is not none and user_setting('technical_display') == 'group' %} diff --git a/templates/web/prod/results/record.html.twig b/templates/web/prod/results/record.html.twig index bccf31775e..8f8dccbe1e 100644 --- a/templates/web/prod/results/record.html.twig +++ b/templates/web/prod/results/record.html.twig @@ -24,7 +24,7 @@ {% set can_see_business = granted_on_collection(record.baseId, [constant('\\ACL::CANMODIFRECORD')]) %}