From: Nicolas Lœuillet Date: Tue, 21 Nov 2017 12:26:24 +0000 (+0100) Subject: Merge pull request #3425 from wallabag/add-setting-for-headers X-Git-Tag: 2.3.0~17 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=95b7d92ea5f92078c2e1fed0b346a9722de762c4;hp=709e21a3f4ef3616112a02be06045a1e3ab63a01;p=github%2Fwallabag%2Fwallabag.git Merge pull request #3425 from wallabag/add-setting-for-headers Added internal setting to enable/disable headers storage --- diff --git a/app/DoctrineMigrations/Version20171008195606.php b/app/DoctrineMigrations/Version20171008195606.php index c190f4ed..f09726c8 100644 --- a/app/DoctrineMigrations/Version20171008195606.php +++ b/app/DoctrineMigrations/Version20171008195606.php @@ -31,6 +31,7 @@ class Version20171008195606 extends AbstractMigration implements ContainerAwareI switch ($this->connection->getDatabasePlatform()->getName()) { case 'mysql': + $this->addSql('UPDATE ' . $this->getTable('entry') . ' SET reading_time = 0 WHERE reading_time IS NULL;'); $this->addSql('ALTER TABLE ' . $this->getTable('entry') . ' CHANGE reading_time reading_time INT(11) NOT NULL;'); break; case 'postgresql': diff --git a/app/DoctrineMigrations/Version20171105202000.php b/app/DoctrineMigrations/Version20171105202000.php new file mode 100644 index 00000000..3769045f --- /dev/null +++ b/app/DoctrineMigrations/Version20171105202000.php @@ -0,0 +1,55 @@ +container = $container; + } + + /** + * @param Schema $schema + */ + public function up(Schema $schema) + { + $entryTable = $schema->getTable($this->getTable('entry')); + + $this->skipIf($entryTable->hasColumn('origin_url'), 'It seems that you already played this migration.'); + + $entryTable->addColumn('origin_url', 'text', [ + 'notnull' => false, + ]); + } + + /** + * @param Schema $schema + */ + public function down(Schema $schema) + { + $entryTable = $schema->getTable($this->getTable('entry')); + + $this->skipIf(!$entryTable->hasColumn('origin_url'), 'It seems that you already played this migration.'); + + $entryTable->dropColumn('origin_url'); + } + + private function getTable($tableName) + { + return $this->container->getParameter('database_table_prefix') . $tableName; + } +} diff --git a/composer.json b/composer.json index ae7108f0..23c7cdc2 100644 --- a/composer.json +++ b/composer.json @@ -43,46 +43,46 @@ "ext-iconv": "*", "ext-tokenizer": "*", "ext-pdo": "*", - "symfony/symfony": "3.3.*", - "doctrine/orm": "^2.5", - "doctrine/doctrine-bundle": "^1.6", - "doctrine/doctrine-cache-bundle": "^1.2", - "twig/extensions": "~1.0", - "symfony/swiftmailer-bundle": "^2.3", - "symfony/monolog-bundle": "^3.0", - "sensio/distribution-bundle": "^5.0", - "sensio/framework-extra-bundle": "^3.0", - "incenteev/composer-parameter-handler": "^2.0", - "nelmio/cors-bundle": "~1.4", + "symfony/symfony": "~3.3.13", + "doctrine/orm": "^2.5.12", + "doctrine/doctrine-bundle": "^1.8.0", + "doctrine/doctrine-cache-bundle": "^1.3.2", + "twig/extensions": "^1.5.1", + "symfony/swiftmailer-bundle": "^2.6.7", + "symfony/monolog-bundle": "^3.1.2", + "sensio/distribution-bundle": "^5.0.21", + "sensio/framework-extra-bundle": "^3.0.28", + "incenteev/composer-parameter-handler": "^2.1.2", + "nelmio/cors-bundle": "~1.5", "friendsofsymfony/rest-bundle": "~2.1", "jms/serializer-bundle": "~2.2", - "nelmio/api-doc-bundle": "~2.7", + "nelmio/api-doc-bundle": "^2.13.2", "mgargano/simplehtmldom": "~1.5", - "wallabag/tcpdf": "^6.2", + "wallabag/tcpdf": "^6.2.15", "simplepie/simplepie": "~1.5", - "willdurand/hateoas-bundle": "~1.0", - "liip/theme-bundle": "~1.1", - "lexik/form-filter-bundle": "~5.0", + "willdurand/hateoas-bundle": "~1.3", + "liip/theme-bundle": "^1.4.6", + "lexik/form-filter-bundle": "^5.0.4", "j0k3r/graby": "^1.0", - "friendsofsymfony/user-bundle": "^2.0", - "friendsofsymfony/oauth-server-bundle": "^1.5", + "friendsofsymfony/user-bundle": "^2.0.1", + "friendsofsymfony/oauth-server-bundle": "^1.5.2", "stof/doctrine-extensions-bundle": "^1.2", - "scheb/two-factor-bundle": "~2.0", - "grandt/phpepub": "~4.0", + "scheb/two-factor-bundle": "^2.14.0", + "grandt/phpepub": "^4.0.7", "wallabag/php-mobi": "~1.0.0", "kphoen/rulerz-bundle": "~0.13", "guzzlehttp/guzzle": "^5.3.1", - "doctrine/doctrine-migrations-bundle": "^1.0", - "paragonie/random_compat": "~2.0", + "doctrine/doctrine-migrations-bundle": "^1.3", + "paragonie/random_compat": "^2.0.11", "craue/config-bundle": "~2.0", "mnapoli/piwik-twig-extension": "^1.0", - "ocramius/proxy-manager": "1.*", - "white-october/pagerfanta-bundle": "^1.0", - "php-amqplib/rabbitmq-bundle": "^1.8", - "predis/predis": "^1.0", + "ocramius/proxy-manager": "^1.0.2", + "white-october/pagerfanta-bundle": "^1.1.0", + "php-amqplib/rabbitmq-bundle": "^1.14", + "predis/predis": "^1.1.1", "javibravo/simpleue": "^2.0", - "symfony/dom-crawler": "^3.1", - "friendsofsymfony/jsrouting-bundle": "^1.6", + "symfony/dom-crawler": "^3.3.13", + "friendsofsymfony/jsrouting-bundle": "^1.6.3", "bdunogier/guzzle-site-authenticator": "^1.0.0@dev", "defuse/php-encryption": "^2.1", "html2text/html2text": "^4.1" diff --git a/src/Wallabag/ApiBundle/Controller/EntryRestController.php b/src/Wallabag/ApiBundle/Controller/EntryRestController.php index 6f161a08..7d820c7e 100644 --- a/src/Wallabag/ApiBundle/Controller/EntryRestController.php +++ b/src/Wallabag/ApiBundle/Controller/EntryRestController.php @@ -309,6 +309,7 @@ class EntryRestController extends WallabagRestController * {"name"="published_at", "dataType"="datetime|integer", "format"="YYYY-MM-DDTHH:II:SS+TZ or a timestamp", "required"=false, "description"="Published date of the entry"}, * {"name"="authors", "dataType"="string", "format"="Name Firstname,author2,author3", "required"=false, "description"="Authors of the entry"}, * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"}, + * {"name"="origin_url", "dataType"="string", "required"=false, "format"="http://www.test.com/article.html", "description"="Origin url for the entry (from where you found it)."}, * } * ) * @@ -368,6 +369,10 @@ class EntryRestController extends WallabagRestController $this->get('wallabag_core.tags_assigner')->assignTagsToEntry($entry, $data['tags']); } + if (!empty($data['origin_url'])) { + $entry->setOriginUrl($data['origin_url']); + } + if (null !== $data['isPublic']) { if (true === (bool) $data['isPublic'] && null === $entry->getUid()) { $entry->generateUid(); @@ -404,6 +409,7 @@ class EntryRestController extends WallabagRestController * {"name"="published_at", "dataType"="datetime|integer", "format"="YYYY-MM-DDTHH:II:SS+TZ or a timestamp", "required"=false, "description"="Published date of the entry"}, * {"name"="authors", "dataType"="string", "format"="Name Firstname,author2,author3", "required"=false, "description"="Authors of the entry"}, * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"}, + * {"name"="origin_url", "dataType"="string", "required"=false, "format"="http://www.test.com/article.html", "description"="Origin url for the entry (from where you found it)."}, * } * ) * @@ -480,6 +486,10 @@ class EntryRestController extends WallabagRestController } } + if (!empty($data['origin_url'])) { + $entry->setOriginUrl($data['origin_url']); + } + $em = $this->getDoctrine()->getManager(); $em->persist($entry); $em->flush(); @@ -778,6 +788,7 @@ class EntryRestController extends WallabagRestController 'picture' => $request->request->get('preview_picture'), 'publishedAt' => $request->request->get('published_at'), 'authors' => $request->request->get('authors', ''), + 'origin_url' => $request->request->get('origin_url', ''), ]; } diff --git a/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadEntryData.php b/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadEntryData.php index fedad009..0e1510a2 100644 --- a/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadEntryData.php +++ b/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadEntryData.php @@ -37,6 +37,7 @@ class LoadEntryData extends AbstractFixture implements OrderedFixtureInterface $entry2->setMimetype('text/html'); $entry2->setTitle('test title entry2'); $entry2->setContent('This is my content /o/'); + $entry2->setOriginUrl('ftp://oneftp.tld'); $entry2->setLanguage('fr'); $manager->persist($entry2); diff --git a/src/Wallabag/CoreBundle/Entity/Entry.php b/src/Wallabag/CoreBundle/Entity/Entry.php index cfb8db75..2b1f2e05 100644 --- a/src/Wallabag/CoreBundle/Entity/Entry.php +++ b/src/Wallabag/CoreBundle/Entity/Entry.php @@ -245,6 +245,15 @@ class Entry */ private $tags; + /** + * @var string + * + * @ORM\Column(name="origin_url", type="text", nullable=true) + * + * @Groups({"entries_for_user", "export_all"}) + */ + private $originUrl; + /* * @param User $user */ @@ -831,4 +840,28 @@ class Entry return $this; } + + /** + * Set origin url. + * + * @param string $originUrl + * + * @return Entry + */ + public function setOriginUrl($originUrl) + { + $this->originUrl = $originUrl; + + return $this; + } + + /** + * Get origin url. + * + * @return string + */ + public function getOriginUrl() + { + return $this->originUrl; + } } diff --git a/src/Wallabag/CoreBundle/Form/Type/EditEntryType.php b/src/Wallabag/CoreBundle/Form/Type/EditEntryType.php index 1627cc44..08355928 100644 --- a/src/Wallabag/CoreBundle/Form/Type/EditEntryType.php +++ b/src/Wallabag/CoreBundle/Form/Type/EditEntryType.php @@ -5,6 +5,7 @@ namespace Wallabag\CoreBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\Extension\Core\Type\TextType; +use Symfony\Component\Form\Extension\Core\Type\UrlType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -17,11 +18,16 @@ class EditEntryType extends AbstractType 'required' => true, 'label' => 'entry.edit.title_label', ]) - ->add('url', TextType::class, [ + ->add('url', UrlType::class, [ 'disabled' => true, 'required' => false, 'label' => 'entry.edit.url_label', ]) + ->add('origin_url', UrlType::class, [ + 'required' => false, + 'property_path' => 'originUrl', + 'label' => 'entry.edit.origin_url_label', + ]) ->add('save', SubmitType::class, [ 'label' => 'entry.edit.save_label', ]) diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml index d0a38f7e..27dbb388 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml @@ -233,6 +233,7 @@ entry: created_at: 'Oprettelsesdato' # published_at: 'Publication date' # published_by: 'Published by' + # provided_by: 'Provided by' new: page_title: 'Gem ny artikel' placeholder: 'http://website.com' @@ -244,6 +245,7 @@ entry: # page_title: 'Edit an entry' # title_label: 'Title' url_label: 'Url' + # origin_url_label: 'Origin url (from where you found that entry)' save_label: 'Gem' public: # shared_by_wallabag: "This article has been shared by %username% with wallabag" diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml index 158762a9..d47986e5 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml @@ -233,6 +233,7 @@ entry: created_at: 'Erstellungsdatum' published_at: 'Erscheinungsdatum' published_by: 'Veröffentlicht von' + # provided_by: 'Provided by' new: page_title: 'Neuen Artikel speichern' placeholder: 'https://website.de' @@ -244,6 +245,7 @@ entry: page_title: 'Eintrag bearbeiten' title_label: 'Titel' url_label: 'URL' + # origin_url_label: 'Origin url (from where you found that entry)' save_label: 'Speichern' public: shared_by_wallabag: 'Dieser Artikel wurde von %username% mittels wallabag geteilt' diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml index de3e11fe..bbaecb24 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml @@ -233,6 +233,7 @@ entry: created_at: 'Creation date' published_at: 'Publication date' published_by: 'Published by' + provided_by: 'Provided by' new: page_title: 'Save new entry' placeholder: 'http://website.com' @@ -244,6 +245,7 @@ entry: page_title: 'Edit an entry' title_label: 'Title' url_label: 'Url' + origin_url_label: 'Origin url (from where you found that entry)' save_label: 'Save' public: shared_by_wallabag: "This article has been shared by %username% with wallabag" diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml index 6dfc1525..e3b625f7 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml @@ -233,6 +233,7 @@ entry: created_at: 'Fecha de creación' # published_at: 'Publication date' # published_by: 'Published by' + # provided_by: 'Provided by' new: page_title: 'Guardar un nuevo artículo' placeholder: 'http://sitioweb.com' @@ -244,6 +245,7 @@ entry: page_title: 'Editar un artículo' title_label: 'Título' url_label: 'URL' + # origin_url_label: 'Origin url (from where you found that entry)' save_label: 'Guardar' public: shared_by_wallabag: "Este artículo se ha compartido con wallabag" diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml index ffc48933..c03cca46 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml @@ -233,6 +233,7 @@ entry: created_at: 'زمان ساخت' # published_at: 'Publication date' # published_by: 'Published by' + # provided_by: 'Provided by' new: page_title: 'ذخیرهٔ مقالهٔ تازه' placeholder: 'http://website.com' @@ -244,6 +245,7 @@ entry: page_title: 'ویرایش مقاله' title_label: 'عنوان' url_label: 'نشانی' + # origin_url_label: 'Origin url (from where you found that entry)' save_label: 'ذخیره' public: # shared_by_wallabag: "This article has been shared by %username% with wallabag" diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml index c9d95e2b..b0037ad2 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml @@ -233,6 +233,7 @@ entry: created_at: "Date de création" published_at: "Date de publication" published_by: "Publié par" + provided_by: "Fourni par" new: page_title: "Sauvegarder un nouvel article" placeholder: "http://website.com" @@ -244,6 +245,7 @@ entry: page_title: "Éditer un article" title_label: "Titre" url_label: "Adresse" + origin_url_label: "Adresse d'origine (d'où vous avez trouvé cet article)" save_label: "Enregistrer" public: shared_by_wallabag: "Cet article a été partagé par %username% avec wallabag" diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml index c53266ca..56cf341b 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml @@ -233,6 +233,7 @@ entry: created_at: 'Data di creazione' published_at: 'Data di pubblicazione' published_by: 'Pubblicato da' + # provided_by: 'Provided by' new: page_title: 'Salva un nuovo contenuto' placeholder: 'http://website.com' @@ -244,6 +245,7 @@ entry: page_title: 'Modifica voce' title_label: 'Titolo' url_label: 'Url' + # origin_url_label: 'Origin url (from where you found that entry)' save_label: 'Salva' public: shared_by_wallabag: "Questo articolo è stato condiviso da %username% con wallabag" diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml index 3ae64c49..1b5b221f 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml @@ -233,6 +233,7 @@ entry: created_at: 'Data de creacion' published_at: 'Data de publicacion' published_by: 'Publicat per' + # provided_by: 'Provided by' new: page_title: 'Enregistrar un novèl article' placeholder: 'http://website.com' @@ -244,6 +245,7 @@ entry: page_title: 'Modificar un article' title_label: 'Títol' url_label: 'Url' + # origin_url_label: 'Origin url (from where you found that entry)' save_label: 'Enregistrar' public: shared_by_wallabag: "Aqueste article es estat partejat per wallabag" diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml index e642c530..88f35738 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml @@ -233,6 +233,7 @@ entry: created_at: 'Czas stworzenia' published_at: 'Data publikacji' published_by: 'Opublikowane przez' + # provided_by: 'Provided by' new: page_title: 'Zapisz nowy wpis' placeholder: 'http://website.com' @@ -244,6 +245,7 @@ entry: page_title: 'Edytuj wpis' title_label: 'Tytuł' url_label: 'Adres URL' + # origin_url_label: 'Origin url (from where you found that entry)' save_label: 'Zapisz' public: shared_by_wallabag: "Ten artykuł został udostępniony przez wallabag" diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml index 9b3fea6b..3987cec3 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml @@ -233,6 +233,7 @@ entry: created_at: 'Data de criação' # published_at: 'Publication date' # published_by: 'Published by' + # provided_by: 'Provided by' new: page_title: 'Salvar nova entrada' placeholder: 'http://website.com' @@ -244,6 +245,7 @@ entry: page_title: 'Editar uma entrada' title_label: 'Título' url_label: 'Url' + # origin_url_label: 'Origin url (from where you found that entry)' save_label: 'Salvar' public: shared_by_wallabag: "Este artigo foi compartilhado pelo wallabag" diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml index 673ca183..4d2fd569 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml @@ -233,6 +233,7 @@ entry: created_at: 'Data creării' # published_at: 'Publication date' # published_by: 'Published by' + # provided_by: 'Provided by' new: page_title: 'Salvează un nou articol' placeholder: 'http://website.com' @@ -244,6 +245,7 @@ entry: # page_title: 'Edit an entry' # title_label: 'Title' url_label: 'Url' + # origin_url_label: 'Origin url (from where you found that entry)' save_label: 'Salvează' public: # shared_by_wallabag: "This article has been shared by %username% with wallabag" diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml index eceecabf..a560e58d 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml @@ -223,6 +223,7 @@ entry: original_article: 'оригинал' annotations_on_the_entry: '{0} Нет аннотации|{1} Одна аннотация|]1,Inf[ %count% аннотаций' created_at: 'Дата создания' + # provided_by: 'Provided by' new: page_title: 'Сохранить новую запись' placeholder: 'http://website.com' @@ -234,6 +235,7 @@ entry: page_title: 'Изменить запись' title_label: 'Название' url_label: 'Ссылка' + # origin_url_label: 'Origin url (from where you found that entry)' is_public_label: 'Публичная' save_label: 'Сохранить' public: diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml index 563bc50b..0fd6e989 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml @@ -231,6 +231,7 @@ entry: created_at: 'Oluşturulma tarihi' # published_at: 'Publication date' # published_by: 'Published by' + # provided_by: 'Provided by' new: page_title: 'Yeni makaleyi kaydet' placeholder: 'http://website.com' @@ -242,6 +243,7 @@ entry: page_title: 'Makaleyi düzenle' title_label: 'Başlık' url_label: 'Url' + # origin_url_label: 'Origin url (from where you found that entry)' save_label: 'Kaydet' public: # shared_by_wallabag: "This article has been shared by %username% with wallabag" diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig index f8723189..0c7cbaa6 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig @@ -71,6 +71,14 @@ comment {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }} + + {% if entry.originUrl is not empty %} + launch + + {{ entry.originUrl|striptags|removeSchemeAndWww|truncate(32) }} + + {% endif %} +