]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
implement FosUser
authorNicolas Lœuillet <nicolas@loeuillet.org>
Tue, 18 Aug 2015 09:08:45 +0000 (11:08 +0200)
committerNicolas Lœuillet <nicolas@loeuillet.org>
Fri, 11 Sep 2015 18:32:37 +0000 (20:32 +0200)
14 files changed:
app/AppKernel.php
app/config/config.yml
app/config/security.yml
bin/twig-gettext-extractor [deleted symlink]
composer.json
composer.lock
src/Wallabag/CoreBundle/Command/InstallCommand.php
src/Wallabag/CoreBundle/DataFixtures/ORM/LoadUserData.php
src/Wallabag/CoreBundle/Entity/User.php
src/Wallabag/CoreBundle/Resources/views/Security/login.html.twig
src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig
src/Wallabag/CoreBundle/Resources/views/themes/material/Security/login.html.twig
src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php
src/Wallabag/CoreBundle/Tests/Controller/ConfigControllerTest.php

index 00206ddf21e9d25e881b862cda9b7afcee0f0fd5..08e14b8f755742465b2ccfeec8714ff7d1c8b56f 100644 (file)
@@ -17,6 +17,7 @@ class AppKernel extends Kernel
             new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
             new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
             new FOS\RestBundle\FOSRestBundle(),
+            new FOS\UserBundle\FOSUserBundle(),
             new JMS\SerializerBundle\JMSSerializerBundle(),
             new Nelmio\ApiDocBundle\NelmioApiDocBundle(),
             new Nelmio\CorsBundle\NelmioCorsBundle(),
index efc815b8e9a3211e122649c73d5883795a89bc0e..f623ab237ca9de664b9045648a4c1b7627226264 100644 (file)
@@ -152,3 +152,8 @@ liip_theme:
         # bundle_resource_dir:
         #     - %%dir%%/views/themes/%%current_theme%%/%%bundle_name%%/%%template%%
         #     - %%dir%%/views/%%bundle_name%%/%%override_path%%
+
+fos_user:
+    db_driver: orm
+    firewall_name: main
+    user_class: Wallabag\CoreBundle\Entity\User
index b9c4cbef2d55729ab3139da63756329a71b3b2e6..9884665621055d82950cb0d4a3000fbee18cb5f6 100644 (file)
@@ -12,6 +12,8 @@ security:
     providers:
         administrators:
             entity: { class: WallabagCoreBundle:User, property: username }
+        fos_userbundle:
+            id: fos_user.user_provider.username
 
     # the main part of the security, where you can set up firewalls
     # for specific sections of your app
@@ -26,31 +28,12 @@ security:
             anonymous:  ~
 
         secured_area:
-            pattern:    ^/
-            anonymous: ~
+            pattern: ^/
             form_login:
-                login_path:                     /login
-
-                use_forward:                    false
-
-                check_path:                     /login_check
-
-                post_only:                      true
-
-                always_use_default_target_path: false
-                default_target_path:            /
-                target_path_parameter:          _target_path
-                use_referer:                    true
-
-                failure_path:                   null
-                failure_forward:                false
-
-                username_parameter:             _username
-                password_parameter:             _password
-
-                csrf_parameter:                 _csrf_token
-                intention:                      authenticate
+                provider: fos_userbundle
+                csrf_provider: security.csrf.token_manager
 
+            anonymous:    true
             remember_me:
                 key:      "%secret%"
                 lifetime: 31536000
diff --git a/bin/twig-gettext-extractor b/bin/twig-gettext-extractor
deleted file mode 120000 (symlink)
index 0a8959b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../vendor/umpirsky/twig-gettext-extractor/twig-gettext-extractor
\ No newline at end of file
index 20bb553716ef7c6452f20d87bb957d940282ff62..82fe61bd2d77be764ef0d6ef03ead0ffd3961a8a 100644 (file)
@@ -52,7 +52,8 @@
         "liip/theme-bundle": "~1.1.3",
         "pagerfanta/pagerfanta": "~1.0.3",
         "lexik/form-filter-bundle": "~4.0",
-        "j0k3r/graby": "~1.0"
+        "j0k3r/graby": "~1.0",
+        "friendsofsymfony/user-bundle": "dev-master"
     },
     "require-dev": {
         "doctrine/doctrine-fixtures-bundle": "~2.2.0",
index 35d8b9786e8cb295e919aa0b3cc3eff0856479d2..7dbb3cd882ee7efab4013294788ecac27bb5c006 100644 (file)
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "hash": "f5520667cebcae76568ff448172854bd",
+    "hash": "d457fa385420eb29a177ac38eac977c3",
     "packages": [
         {
             "name": "doctrine/annotations",
         },
         {
             "name": "doctrine/orm",
-            "version": "v2.5.1",
+            "version": "v2.5.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/doctrine2.git",
-                "reference": "e6a83bedbe67579cb0bfb688e982e617943a2945"
+                "reference": "aa80c7d2c55a372f5f9f825f5c66dbda53a6e3fe"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/e6a83bedbe67579cb0bfb688e982e617943a2945",
-                "reference": "e6a83bedbe67579cb0bfb688e982e617943a2945",
+                "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/aa80c7d2c55a372f5f9f825f5c66dbda53a6e3fe",
+                "reference": "aa80c7d2c55a372f5f9f825f5c66dbda53a6e3fe",
                 "shasum": ""
             },
             "require": {
                 "database",
                 "orm"
             ],
-            "time": "2015-08-31 12:59:39"
+            "time": "2015-04-02 20:40:18"
         },
         {
             "name": "ezyang/htmlpurifier",
             ],
             "time": "2015-06-16 08:39:26"
         },
+        {
+            "name": "friendsofsymfony/user-bundle",
+            "version": "dev-master",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/FriendsOfSymfony/FOSUserBundle.git",
+                "reference": "336d9cd8ba0c5a462b3e70be144a7bef5377b219"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/FriendsOfSymfony/FOSUserBundle/zipball/336d9cd8ba0c5a462b3e70be144a7bef5377b219",
+                "reference": "336d9cd8ba0c5a462b3e70be144a7bef5377b219",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.2",
+                "symfony/form": "~2.3",
+                "symfony/framework-bundle": "~2.3",
+                "symfony/security-bundle": "~2.3",
+                "symfony/twig-bundle": "~2.3"
+            },
+            "require-dev": {
+                "doctrine/doctrine-bundle": "~1.3",
+                "swiftmailer/swiftmailer": "~4.3|~5",
+                "symfony/validator": "~2.3",
+                "symfony/yaml": "~2.3",
+                "willdurand/propel-typehintable-behavior": "~1.0"
+            },
+            "suggest": {
+                "willdurand/propel-typehintable-behavior": "Needed when using the propel implementation"
+            },
+            "type": "symfony-bundle",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "FOS\\UserBundle\\": ""
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Christophe Coevoet",
+                    "email": "stof@notk.org"
+                },
+                {
+                    "name": "FriendsOfSymfony Community",
+                    "homepage": "https://github.com/friendsofsymfony/FOSUserBundle/contributors"
+                },
+                {
+                    "name": "Thibault Duplessis",
+                    "email": "thibault.duplessis@gmail.com"
+                }
+            ],
+            "description": "Symfony FOSUserBundle",
+            "homepage": "http://friendsofsymfony.github.com",
+            "keywords": [
+                "User management"
+            ],
+            "time": "2015-08-14 09:45:59"
+        },
         {
             "name": "guzzlehttp/guzzle",
             "version": "5.3.0",
         },
         {
             "name": "symfony/assetic-bundle",
-            "version": "v2.7.0",
+            "version": "v2.6.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/AsseticBundle.git",
-                "reference": "3ae5c8ca3079b6e0033cc9fbfb6500e2bc964da5"
+                "reference": "422b0add2110f0cf9bc7a873a386ea053f4a89f0"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/AsseticBundle/zipball/3ae5c8ca3079b6e0033cc9fbfb6500e2bc964da5",
-                "reference": "3ae5c8ca3079b6e0033cc9fbfb6500e2bc964da5",
+                "url": "https://api.github.com/repos/symfony/AsseticBundle/zipball/422b0add2110f0cf9bc7a873a386ea053f4a89f0",
+                "reference": "422b0add2110f0cf9bc7a873a386ea053f4a89f0",
                 "shasum": ""
             },
             "require": {
-                "kriswallsmith/assetic": "~1.3",
+                "kriswallsmith/assetic": "~1.2",
                 "php": ">=5.3.0",
                 "symfony/console": "~2.3",
                 "symfony/dependency-injection": "~2.3",
                 "symfony/framework-bundle": "~2.3",
                 "symfony/yaml": "~2.3"
             },
-            "conflict": {
-                "kriswallsmith/spork": "<=0.2",
-                "twig/twig": "<1.20"
-            },
             "require-dev": {
-                "kriswallsmith/spork": "~0.3",
+                "kriswallsmith/spork": "~0.2",
                 "patchwork/jsqueeze": "~1.0",
                 "symfony/class-loader": "~2.3",
                 "symfony/css-selector": "~2.3",
                 "symfony/dom-crawler": "~2.3",
-                "symfony/phpunit-bridge": "~2.7",
                 "symfony/twig-bundle": "~2.3"
             },
             "suggest": {
             "type": "symfony-bundle",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "2.5-dev"
                 }
             },
             "autoload": {
                 "compression",
                 "minification"
             ],
-            "time": "2015-09-01 00:05:29"
+            "time": "2015-01-27 12:45:16"
         },
         {
             "name": "symfony/monolog-bundle",
         },
         {
             "name": "symfony/symfony",
-            "version": "v2.7.4",
+            "version": "v2.7.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/symfony.git",
-                "reference": "1fdf23fe28876844b887b0e1935c9adda43ee645"
+                "reference": "a9af4708b4bb650c4897e9b8dfbfbdb2ea5f0486"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/symfony/zipball/1fdf23fe28876844b887b0e1935c9adda43ee645",
-                "reference": "1fdf23fe28876844b887b0e1935c9adda43ee645",
+                "url": "https://api.github.com/repos/symfony/symfony/zipball/a9af4708b4bb650c4897e9b8dfbfbdb2ea5f0486",
+                "reference": "a9af4708b4bb650c4897e9b8dfbfbdb2ea5f0486",
                 "shasum": ""
             },
             "require": {
                 "doctrine/common": "~2.3",
                 "php": ">=5.3.9",
                 "psr/log": "~1.0",
-                "twig/twig": "~1.20|~2.0"
+                "twig/twig": "~1.18"
             },
             "replace": {
                 "symfony/asset": "self.version",
             "keywords": [
                 "framework"
             ],
-            "time": "2015-09-08 14:26:39"
+            "time": "2015-07-31 13:24:45"
         },
         {
             "name": "tecnick.com/tcpdf",
         },
         {
             "name": "twig/extensions",
-            "version": "v1.3.0",
+            "version": "v1.2.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/twigphp/Twig-extensions.git",
-                "reference": "449e3c8a9ffad7c2479c7864557275a32b037499"
+                "reference": "8cf4b9fe04077bd54fc73f4fde83347040c3b8cd"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/twigphp/Twig-extensions/zipball/449e3c8a9ffad7c2479c7864557275a32b037499",
-                "reference": "449e3c8a9ffad7c2479c7864557275a32b037499",
+                "url": "https://api.github.com/repos/twigphp/Twig-extensions/zipball/8cf4b9fe04077bd54fc73f4fde83347040c3b8cd",
+                "reference": "8cf4b9fe04077bd54fc73f4fde83347040c3b8cd",
                 "shasum": ""
             },
             "require": {
-                "twig/twig": "~1.20|~2.0"
+                "twig/twig": "~1.12"
             },
             "require-dev": {
                 "symfony/translation": "~2.3"
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.3-dev"
+                    "dev-master": "1.2.x-dev"
                 }
             },
             "autoload": {
                 "i18n",
                 "text"
             ],
-            "time": "2015-08-22 16:38:35"
+            "time": "2014-10-30 14:30:03"
         },
         {
             "name": "twig/twig",
             ],
             "authors": [
                 {
-                    "name": "William DURAND",
+                    "name": "William Durand",
                     "email": "william.durand1@gmail.com"
                 }
             ],
             ],
             "authors": [
                 {
-                    "name": "William DURAND",
+                    "name": "William Durand",
                     "email": "william.durand1@gmail.com"
                 }
             ],
         },
         {
             "name": "phpunit/phpunit",
-            "version": "4.8.6",
+            "version": "4.8.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/phpunit.git",
-                "reference": "2246830f4a1a551c67933e4171bf2126dc29d357"
+                "reference": "9b7417edaf28059ea63d86be941e6004dbfcc0cc"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2246830f4a1a551c67933e4171bf2126dc29d357",
-                "reference": "2246830f4a1a551c67933e4171bf2126dc29d357",
+                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9b7417edaf28059ea63d86be941e6004dbfcc0cc",
+                "reference": "9b7417edaf28059ea63d86be941e6004dbfcc0cc",
                 "shasum": ""
             },
             "require": {
                 "testing",
                 "xunit"
             ],
-            "time": "2015-08-24 04:09:38"
+            "time": "2015-08-19 09:20:57"
         },
         {
             "name": "phpunit/phpunit-mock-objects",
     ],
     "aliases": [],
     "minimum-stability": "dev",
-    "stability-flags": [],
+    "stability-flags": {
+        "friendsofsymfony/user-bundle": 20
+    },
     "prefer-stable": true,
     "prefer-lowest": false,
     "platform": {
index 491c67f9fc99533c7e49ec7cd12cc6a7a883adea..29d91109e48d6608c15bae42a0f84149318cc09a 100644 (file)
@@ -192,6 +192,7 @@ class InstallCommand extends ContainerAwareCommand
         $user->setUsername($dialog->ask($this->defaultOutput, '<question>Username</question> <comment>(default: wallabag)</comment> :', 'wallabag'));
         $user->setPassword($dialog->ask($this->defaultOutput, '<question>Password</question> <comment>(default: wallabag)</comment> :', 'wallabag'));
         $user->setEmail($dialog->ask($this->defaultOutput, '<question>Email:</question>', ''));
+        $user->setEnabled(true);
 
         $em->persist($user);
 
index 1c7f9dfae03947c19f7d2f2d2ea2d4d2118ddddc..4ef53329c36b648b7f7a1f55d70c5b494b6877dc 100644 (file)
@@ -19,6 +19,7 @@ class LoadUserData extends AbstractFixture implements OrderedFixtureInterface
         $userAdmin->setEmail('bigboss@wallabag.org');
         $userAdmin->setUsername('admin');
         $userAdmin->setPassword('mypassword');
+        $userAdmin->setEnabled(true);
 
         $manager->persist($userAdmin);
 
@@ -29,6 +30,7 @@ class LoadUserData extends AbstractFixture implements OrderedFixtureInterface
         $bobUser->setEmail('bobby@wallabag.org');
         $bobUser->setUsername('bob');
         $bobUser->setPassword('mypassword');
+        $bobUser->setEnabled(true);
 
         $manager->persist($bobUser);
 
index 510a1594e2a38821619fb2ee6aa3ce544d647229..eeae331e29582b24752ea30873abee9e0d3ae89b 100644 (file)
@@ -10,6 +10,7 @@ use Symfony\Component\Security\Core\User\AdvancedUserInterface;
 use Symfony\Component\Validator\Constraints as Assert;
 use JMS\Serializer\Annotation\ExclusionPolicy;
 use JMS\Serializer\Annotation\Expose;
+use FOS\UserBundle\Model\User as BaseUser;
 
 /**
  * User.
@@ -22,7 +23,7 @@ use JMS\Serializer\Annotation\Expose;
  * @UniqueEntity("email")
  * @UniqueEntity("username")
  */
-class User implements AdvancedUserInterface, \Serializable
+class User extends BaseUser implements AdvancedUserInterface, \Serializable
 {
     /**
      * @var int
@@ -32,100 +33,49 @@ class User implements AdvancedUserInterface, \Serializable
      * @ORM\Id
      * @ORM\GeneratedValue(strategy="AUTO")
      */
-    private $id;
-
-    /**
-     * @var string
-     *
-     * @ORM\Column(name="username", type="text")
-     * @Assert\NotBlank()
-     * @Assert\Length(
-     *      min = "3",
-     *      max = "255"
-     * )
-     */
-    private $username;
-
-    /**
-     * @var string
-     *
-     * @ORM\Column(type="string", length=32)
-     */
-    private $salt;
-
-    /**
-     * @var string
-     *
-     * @ORM\Column(name="password", type="text")
-     */
-    private $password;
+    protected $id;
 
     /**
      * @var string
      *
      * @ORM\Column(name="name", type="text", nullable=true)
      */
-    private $name;
-
-    /**
-     * @var string
-     *
-     * @ORM\Column(name="email", type="text", nullable=false)
-     * @Assert\Email()
-     * @Assert\NotBlank()
-     */
-    private $email;
-
-    /**
-     * @ORM\Column(name="is_active", type="boolean", nullable=false)
-     */
-    private $isActive = true;
-
-    /**
-     * @ORM\Column(name="confirmation_token", type="string", nullable=true)
-     */
-    private $confirmationToken;
-
-    /**
-     * @ORM\Column(name="password_requested_at", type="datetime", nullable=true)
-     */
-    private $passwordRequestedAt;
+    protected $name;
 
     /**
      * @var date
      *
      * @ORM\Column(name="created_at", type="datetime")
      */
-    private $createdAt;
+    protected $createdAt;
 
     /**
      * @var date
      *
      * @ORM\Column(name="updated_at", type="datetime")
      */
-    private $updatedAt;
+    protected $updatedAt;
 
     /**
      * @ORM\OneToMany(targetEntity="Entry", mappedBy="user", cascade={"remove"})
      */
-    private $entries;
+    protected $entries;
 
     /**
      * @ORM\OneToOne(targetEntity="Config", mappedBy="user")
      */
-    private $config;
+    protected $config;
 
     /**
      * @ORM\OneToMany(targetEntity="Tag", mappedBy="user", cascade={"remove"})
      */
-    private $tags;
+    protected $tags;
 
     public function __construct()
     {
-        $this->isActive = true;
-        $this->salt = md5(uniqid(null, true));
-        $this->entries = new ArrayCollection();
-        $this->tags = new ArrayCollection();
+        parent::__construct();
+        $this->entries  = new ArrayCollection();
+        $this->tags     = new ArrayCollection();
     }
 
     /**
@@ -141,56 +91,6 @@ class User implements AdvancedUserInterface, \Serializable
         $this->updatedAt = new \DateTime();
     }
 
-    /**
-     * Get id.
-     *
-     * @return int
-     */
-    public function getId()
-    {
-        return $this->id;
-    }
-
-    /**
-     * Set username.
-     *
-     * @param string $username
-     *
-     * @return User
-     */
-    public function setUsername($username)
-    {
-        $this->username = $username;
-
-        return $this;
-    }
-
-    /**
-     * Get username.
-     *
-     * @return string
-     */
-    public function getUsername()
-    {
-        return $this->username;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSalt()
-    {
-        return $this->salt;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRoles()
-    {
-        return array('ROLE_USER');
-    }
-
     /**
      * Set password.
      *
@@ -209,16 +109,6 @@ class User implements AdvancedUserInterface, \Serializable
         return $this;
     }
 
-    /**
-     * Get password.
-     *
-     * @return string
-     */
-    public function getPassword()
-    {
-        return $this->password;
-    }
-
     /**
      * Set name.
      *
@@ -243,30 +133,6 @@ class User implements AdvancedUserInterface, \Serializable
         return $this->name;
     }
 
-    /**
-     * Set email.
-     *
-     * @param string $email
-     *
-     * @return User
-     */
-    public function setEmail($email)
-    {
-        $this->email = $email;
-
-        return $this;
-    }
-
-    /**
-     * Get email.
-     *
-     * @return string
-     */
-    public function getEmail()
-    {
-        return $this->email;
-    }
-
     /**
      * @return string
      */
@@ -322,56 +188,12 @@ class User implements AdvancedUserInterface, \Serializable
     {
         return $this->tags;
     }
-    /**
-     * {@inheritdoc}
-     */
-    public function eraseCredentials()
-    {
-    }
-
-    /**
-     * @see \Serializable::serialize()
-     */
-    public function serialize()
-    {
-        return serialize(array(
-            $this->id,
-        ));
-    }
-
-    /**
-     * @see \Serializable::unserialize()
-     */
-    public function unserialize($serialized)
-    {
-        list(
-            $this->id) = unserialize($serialized);
-    }
 
     public function isEqualTo(UserInterface $user)
     {
         return $this->username === $user->getUsername();
     }
 
-    public function isAccountNonExpired()
-    {
-        return true;
-    }
-
-    public function isAccountNonLocked()
-    {
-        return true;
-    }
-
-    public function isCredentialsNonExpired()
-    {
-        return true;
-    }
-
-    public function isEnabled()
-    {
-        return $this->isActive;
-    }
     /**
      * Set config.
      *
@@ -395,52 +217,4 @@ class User implements AdvancedUserInterface, \Serializable
     {
         return $this->config;
     }
-
-    /**
-     * Set confirmationToken.
-     *
-     * @param string $confirmationToken
-     *
-     * @return User
-     */
-    public function setConfirmationToken($confirmationToken)
-    {
-        $this->confirmationToken = $confirmationToken;
-
-        return $this;
-    }
-
-    /**
-     * Get confirmationToken.
-     *
-     * @return string
-     */
-    public function getConfirmationToken()
-    {
-        return $this->confirmationToken;
-    }
-
-    /**
-     * Set passwordRequestedAt.
-     *
-     * @param \DateTime $passwordRequestedAt
-     *
-     * @return User
-     */
-    public function setPasswordRequestedAt($passwordRequestedAt)
-    {
-        $this->passwordRequestedAt = $passwordRequestedAt;
-
-        return $this;
-    }
-
-    /**
-     * Get passwordRequestedAt.
-     *
-     * @return \DateTime
-     */
-    public function getPasswordRequestedAt()
-    {
-        return $this->passwordRequestedAt;
-    }
 }
index f669574e8602cbbca83a2cb35f602a7d1048c737..5437d20c4aca12f2769ef0f8aa78fcec29152184 100644 (file)
@@ -30,6 +30,7 @@
                 </div>
 
                 <div class="row mts txtcenter">
+                    <input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}" />
                     <button type="submit">Login</button>
                     <a href="{{ path('forgot_password') }}" class="small">Forgot your password?</a>
                 </div>
index 3711f6e561dd49a52193ac8c4a6ea4c3f87a9892..1ecaecc56a901fe7bf5593df67097ff420394b4c 100644 (file)
@@ -58,7 +58,6 @@
         {% endfor %}
     </ul>
 
-
     <!-- Filters -->
     <div id="filters" class="side-nav fixed right-aligned">
         <form action="{{ path('all') }}">
index 2c513ffef1c9cb7c2ae33f67a0f2eb482dab3d6a..c9979198c5147fb19a12150fa493a74e9ba9eeba 100644 (file)
@@ -44,6 +44,7 @@
 
                     </div>
                     <div class="card-action">
+                        <input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}" />
                         <button class="btn waves-effect waves-light" type="submit" name="send">
                             {% trans %}Login{% endtrans %}
                             <i class="mdi-content-send right"></i>
index 7a819953e07d08bc24caa3f2a39d3761100a2723..3067e5a4dcb951bdab3e03e2a787f361942b5cbe 100644 (file)
@@ -75,7 +75,7 @@ class InstallCommandTest extends WallabagCoreTestCase
             ->getMock();
         $dialog->expects($this->any())
             ->method('ask')
-            ->will($this->returnValue('test'));
+            ->will($this->returnValue('test2'));
         $dialog->expects($this->any())
             ->method('askConfirmation')
             ->will($this->returnValue(true));
index 5ab9c3295576ea556ffbfe00c574d65744a34f60..e11da935290401c5efcaff01407eec4ad67b00be 100644 (file)
@@ -266,7 +266,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
             array(
                 array(
                     'new_user[username]' => 'ad',
-                    'new_user[password]' => '',
+                    'new_user[password]' => 'mypassword',
                     'new_user[email]' => '',
                 ),
                 'This value is too short.',
@@ -274,7 +274,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
             array(
                 array(
                     'new_user[username]' => 'wallace',
-                    'new_user[password]' => '',
+                    'new_user[password]' => 'mypassword',
                     'new_user[email]' => 'test',
                 ),
                 'This value is not a valid email address.',