]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Merge pull request #3120 from aaa2000/fix-delete-annotation-user
authorJérémy Benoist <j0k3r@users.noreply.github.com>
Mon, 15 May 2017 09:42:05 +0000 (11:42 +0200)
committerGitHub <noreply@github.com>
Mon, 15 May 2017 09:42:05 +0000 (11:42 +0200)
Fix delete annotation when username is defined

app/Resources/CraueConfigBundle/views/Settings/modify.html.twig
app/config/config.yml
app/config/services.yml
composer.json
src/Wallabag/CoreBundle/Helper/RuleBasedTagger.php
src/Wallabag/CoreBundle/Resources/config/services.yml
tests/Wallabag/CoreBundle/Helper/RuleBasedTaggerTest.php
var/SymfonyRequirements.php

index c4e735ee0450cacfc2d19b36a0ce2565ca840e3f..b81b86510f6b3f9d9428e52614da2d2bc97ed089 100644 (file)
 
                         {% for section in sections | craue_sortSections %}
                             <div id="set-{{ section }}" class="col s12">
-                                {% for setting in form.settings if setting.section.vars.value == section %}
-                                        {{ form_row(setting.name) }}
-                                        {{ form_row(setting.section) }}
-                                        {{ form_row(setting.value, {
-                                            'label': setting.name.vars.value | trans({}, 'CraueConfigBundle'),
-                                        }) }}
+                                {% for setting in form.settings if setting.vars.value.section == section %}
+                                    {{ form_row(setting.value, {
+                                        'label': setting.vars.value.name | trans({}, 'CraueConfigBundle'),
+                                    }) }}
                                 {% endfor %}
                             </div>
                         {% endfor %}
index 116bb04c15c37f6f0f49c10de7044d1d8de7208f..28abe7340ad8e50d97803b14b254d7f923056778 100644 (file)
@@ -6,6 +6,7 @@ imports:
 parameters:
     # Allows to use the live reload feature for changes in assets
     use_webpack_dev_server: false
+    craue_config.cache_adapter.class: Craue\ConfigBundle\CacheAdapter\SymfonyCacheComponentAdapter
 
 framework:
     #esi:             ~
index 9a1ce80b48e67f5e8591707037add3b1ed1dc602..7b85d846bbbe5dea783885eec1c9aec8005b7ad4 100644 (file)
@@ -42,3 +42,11 @@ services:
         arguments: ["@session"]
         tags:
             - { name: kernel.event_listener, event: security.interactive_login, method: onInteractiveLogin }
+
+    craue_config_cache_provider:
+        class: Symfony\Component\Cache\Adapter\FilesystemAdapter
+        public: false
+        arguments:
+            - 'craue_config'
+            - 0
+            - '%kernel.cache_dir%'
index bfd42339b1e0bf6fbe2683578b1e5a7fbefe4ed2..02a79853f8c8b8bb2ee85c9696b06b543439d3eb 100644 (file)
@@ -75,7 +75,7 @@
         "guzzlehttp/guzzle": "^5.3.1",
         "doctrine/doctrine-migrations-bundle": "^1.0",
         "paragonie/random_compat": "~1.0",
-        "craue/config-bundle": "~1.4",
+        "craue/config-bundle": "~2.0",
         "mnapoli/piwik-twig-extension": "^1.0",
         "ocramius/proxy-manager": "1.*",
         "white-october/pagerfanta-bundle": "^1.0",
index b490e2090b4a95d5f263b1d1c5f9d17be8cdc9d3..add27db2b4ea0741a06fe1a70dc2ee928a307ca9 100644 (file)
@@ -8,6 +8,7 @@ use Wallabag\CoreBundle\Entity\Tag;
 use Wallabag\CoreBundle\Repository\EntryRepository;
 use Wallabag\CoreBundle\Repository\TagRepository;
 use Wallabag\UserBundle\Entity\User;
+use Psr\Log\LoggerInterface;
 
 class RuleBasedTagger
 {
@@ -15,11 +16,12 @@ class RuleBasedTagger
     private $tagRepository;
     private $entryRepository;
 
-    public function __construct(RulerZ $rulerz, TagRepository $tagRepository, EntryRepository $entryRepository)
+    public function __construct(RulerZ $rulerz, TagRepository $tagRepository, EntryRepository $entryRepository, LoggerInterface $logger)
     {
         $this->rulerz = $rulerz;
         $this->tagRepository = $tagRepository;
         $this->entryRepository = $entryRepository;
+        $this->logger = $logger;
     }
 
     /**
@@ -36,6 +38,11 @@ class RuleBasedTagger
                 continue;
             }
 
+            $this->logger->info('Matching rule.', [
+                'rule' => $rule->getRule(),
+                'tags' => $rule->getTags(),
+            ]);
+
             foreach ($rule->getTags() as $label) {
                 $tag = $this->getTag($label);
 
index 6c9195ce5abd07e2450eff32d8f56f3a5aa42e4e..a9134ac3ba1cf24bb90b46c0db8e030d7e758abf 100644 (file)
@@ -99,6 +99,7 @@ services:
             - "@rulerz"
             - "@wallabag_core.tag_repository"
             - "@wallabag_core.entry_repository"
+            - "@logger"
 
     # repository as a service
     wallabag_core.entry_repository:
index 17b08c2ac7cbe9f9b2138c894bae476c8a57791b..1e21f4004d8448ea6dbe8e83834a7cb45351c4c9 100644 (file)
@@ -2,6 +2,8 @@
 
 namespace Tests\Wallabag\CoreBundle\Helper;
 
+use Monolog\Handler\TestHandler;
+use Monolog\Logger;
 use Wallabag\CoreBundle\Entity\Config;
 use Wallabag\CoreBundle\Entity\Entry;
 use Wallabag\CoreBundle\Entity\Tag;
@@ -15,14 +17,19 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
     private $tagRepository;
     private $entryRepository;
     private $tagger;
+    private $logger;
+    private $handler;
 
     public function setUp()
     {
         $this->rulerz = $this->getRulerZMock();
         $this->tagRepository = $this->getTagRepositoryMock();
         $this->entryRepository = $this->getEntryRepositoryMock();
+        $this->logger = $this->getLogger();
+        $this->handler = new TestHandler();
+        $this->logger->pushHandler($this->handler);
 
-        $this->tagger = new RuleBasedTagger($this->rulerz, $this->tagRepository, $this->entryRepository);
+        $this->tagger = new RuleBasedTagger($this->rulerz, $this->tagRepository, $this->entryRepository, $this->logger);
     }
 
     public function testTagWithNoRule()
@@ -32,6 +39,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
         $this->tagger->tag($entry);
 
         $this->assertTrue($entry->getTags()->isEmpty());
+        $records = $this->handler->getRecords();
+        $this->assertCount(0, $records);
     }
 
     public function testTagWithNoMatchingRule()
@@ -49,6 +58,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
         $this->tagger->tag($entry);
 
         $this->assertTrue($entry->getTags()->isEmpty());
+        $records = $this->handler->getRecords();
+        $this->assertCount(0, $records);
     }
 
     public function testTagWithAMatchingRule()
@@ -70,6 +81,9 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
         $tags = $entry->getTags();
         $this->assertSame('foo', $tags[0]->getLabel());
         $this->assertSame('bar', $tags[1]->getLabel());
+
+        $records = $this->handler->getRecords();
+        $this->assertCount(1, $records);
     }
 
     public function testTagWithAMixOfMatchingRules()
@@ -90,6 +104,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
 
         $tags = $entry->getTags();
         $this->assertSame('foo', $tags[0]->getLabel());
+        $records = $this->handler->getRecords();
+        $this->assertCount(1, $records);
     }
 
     public function testWhenTheTagExists()
@@ -118,6 +134,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
 
         $tags = $entry->getTags();
         $this->assertSame($tag, $tags[0]);
+        $records = $this->handler->getRecords();
+        $this->assertCount(1, $records);
     }
 
     public function testSameTagWithDifferentfMatchingRules()
@@ -138,6 +156,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
 
         $tags = $entry->getTags();
         $this->assertCount(1, $tags);
+        $records = $this->handler->getRecords();
+        $this->assertCount(2, $records);
     }
 
     public function testTagAllEntriesForAUser()
@@ -209,4 +229,9 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->getMock();
     }
+
+    private function getLogger()
+    {
+        return new Logger('foo');
+    }
 }
index 7e7a99de92d58a6cca19a9884165d5bbb4073a37..3b14a4022d4324a35c42e6f9b8d91150053fedc2 100644 (file)
@@ -633,12 +633,6 @@ class SymfonyRequirements extends RequirementCollection
             'Install and enable the <strong>mbstring</strong> extension.'
         );
 
-        $this->addRecommendation(
-            function_exists('iconv'),
-            'iconv() should be available',
-            'Install and enable the <strong>iconv</strong> extension.'
-        );
-
         $this->addRecommendation(
             function_exists('utf8_decode'),
             'utf8_decode() should be available',