]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
material design for register/login/recover pages
authorNicolas Lœuillet <nicolas.loeuillet@smile.fr>
Mon, 5 Oct 2015 20:16:18 +0000 (22:16 +0200)
committerNicolas Lœuillet <nicolas.loeuillet@smile.fr>
Mon, 5 Oct 2015 20:16:18 +0000 (22:16 +0200)
29 files changed:
app/config/config.yml
src/Wallabag/CoreBundle/Command/InstallCommand.php
src/Wallabag/CoreBundle/Form/Type/RegistrationType.php [deleted file]
src/Wallabag/CoreBundle/Resources/views/base.html.twig
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/forgotPassword.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/reset.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/material/public/css/main.css
src/Wallabag/CoreBundle/Resources/views/themes/material/public/img/logo-other_themes.png
src/Wallabag/UserBundle/Controller/ResettingController.php [new file with mode: 0644]
src/Wallabag/UserBundle/Resources/views/themes/baggy/Registration/register.html.twig [new file with mode: 0644]
src/Wallabag/UserBundle/Resources/views/themes/baggy/Registration/register_content.html.twig [new file with mode: 0644]
src/Wallabag/UserBundle/Resources/views/themes/baggy/Resetting/checkEmail.html.twig [moved from src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/checkEmail.html.twig with 100% similarity]
src/Wallabag/UserBundle/Resources/views/themes/baggy/Resetting/request.html.twig [new file with mode: 0644]
src/Wallabag/UserBundle/Resources/views/themes/baggy/Resetting/request_content.html.twig [new file with mode: 0644]
src/Wallabag/UserBundle/Resources/views/themes/baggy/Security/login.html.twig [moved from src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/login.html.twig with 88% similarity]
src/Wallabag/UserBundle/Resources/views/themes/material/ChangePassword/changePassword_content.html.twig [new file with mode: 0644]
src/Wallabag/UserBundle/Resources/views/themes/material/Registration/checkEmail.html.twig [new file with mode: 0644]
src/Wallabag/UserBundle/Resources/views/themes/material/Registration/confirmed.html.twig [new file with mode: 0644]
src/Wallabag/UserBundle/Resources/views/themes/material/Registration/register.html.twig [deleted file]
src/Wallabag/UserBundle/Resources/views/themes/material/Registration/register_content.html.twig
src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/checkEmail.html.twig [new file with mode: 0644]
src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/passwordAlreadyRequested.html.twig [new file with mode: 0644]
src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/request_content.html.twig [new file with mode: 0644]
src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/reset_content.html.twig [new file with mode: 0644]
src/Wallabag/UserBundle/Resources/views/themes/material/Security/checkEmail.html.twig [deleted file]
src/Wallabag/UserBundle/Resources/views/themes/material/Security/forgotPassword.html.twig [deleted file]
src/Wallabag/UserBundle/Resources/views/themes/material/Security/login.html.twig
src/Wallabag/UserBundle/Resources/views/themes/material/Security/reset.html.twig [deleted file]
src/Wallabag/UserBundle/Resources/views/themes/material/layout.html.twig [new file with mode: 0644]

index a4d18c6d894b0e45ee9112d949a3cbaa2c9defdd..0d893ecfbbcacad5d8bb3b44929a5cc7c5979f71 100644 (file)
@@ -160,8 +160,6 @@ fos_user:
     firewall_name: main
     user_class: Wallabag\UserBundle\Entity\User
     registration:
-        form:
-            type: wallabag_user_registration
         confirmation:
             enabled: true
 
index 140fdf9e3a48c39ea4ddd6c7dc8f7f7a4237b927..6ebbd93c0e2d9cd04787b1ee9f62c9d808cd3749 100644 (file)
@@ -188,9 +188,10 @@ class InstallCommand extends ContainerAwareCommand
 
         $em = $this->getContainer()->get('doctrine.orm.entity_manager');
 
-        $user = new User();
+        $userManager = $this->getContainer()->get('fos_user.user_manager');
+        $user = $userManager->createUser();
         $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->setPlainPassword($dialog->ask($this->defaultOutput, '<question>Password</question> <comment>(default: wallabag)</comment> :', 'wallabag'));
         $user->setEmail($dialog->ask($this->defaultOutput, '<question>Email:</question>', ''));
         $user->setEnabled(true);
 
diff --git a/src/Wallabag/CoreBundle/Form/Type/RegistrationType.php b/src/Wallabag/CoreBundle/Form/Type/RegistrationType.php
deleted file mode 100644 (file)
index 47d4f34..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-namespace Wallabag\CoreBundle\Form\Type;
-
-use Symfony\Component\Form\AbstractType;
-use Symfony\Component\Form\FormBuilderInterface;
-
-class RegistrationType extends AbstractType
-{
-    public function buildForm(FormBuilderInterface $builder, array $options)
-    {
-        $builder->add('name');
-    }
-
-    public function getParent()
-    {
-        return 'fos_user_registration';
-    }
-
-    public function getName()
-    {
-        return 'wallabag_user_registration';
-    }
-}
index 152c5c28746dbb03c01625257057d5accc4cd316..c94c004414300314994562936ea8502ef614d554 100644 (file)
@@ -45,7 +45,7 @@
                 <script src="{{ asset('themes/_global/js/bookmarklet.js') }}"></script>
             {% endblock %}
 
-            <title>{% block title %}{% endblock %} - wallabag</title>
+            <title>{% block title %}{% endblock %}</title>
         {% endblock %}
     </head>
 
@@ -60,7 +60,7 @@
 
                 {% block messages %}{% endblock %}
 
-                <div id="content" class="w600p">
+                <div id="content">
                     {% block content %}{% endblock %}
                 </div>
             </main>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/forgotPassword.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/forgotPassword.html.twig
deleted file mode 100644 (file)
index 4476ea7..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{% trans %}Forgot password{% endtrans %}{% endblock %}
-
-{% block body_class %}login{% endblock %}
-
-{% block menu %}{% endblock %}
-
-{% block content %}
-        <form action="{{ path('forgot_password') }}" method="post" name="forgotPasswordform">
-            <fieldset class="w500p center">
-                <h2 class="mbs txtcenter">{% trans %}Forgot password{% endtrans %}</h2>
-
-                {{ form_errors(form) }}
-
-                <p>Enter your email address below and we'll send you password reset instructions.</p>
-
-                <div class="row">
-                    {{ form_label(form.email) }}
-                    {{ form_errors(form.email) }}
-                    {{ form_widget(form.email) }}
-                </div>
-
-                <div class="row mts txtcenter">
-                    <button type="submit">Send me reset instructions</button>
-                </div>
-            </fieldset>
-
-            {{ form_rest(form) }}
-        </form>
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/reset.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/reset.html.twig
deleted file mode 100644 (file)
index fda88af..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{% trans %}Change password{% endtrans %}{% endblock %}
-
-{% block body_class %}login{% endblock %}
-
-{% block menu %}{% endblock %}
-
-{% block content %}
-        <form action="{{ path('forgot_password_reset', {'token': token}) }}" method="post" name="loginform">
-            <fieldset class="w500p center">
-                <h2 class="mbs txtcenter">{% trans %}Change password{% endtrans %}</h2>
-
-                {{ form_errors(form) }}
-
-                <div class="row">
-                    {{ form_label(form.new_password.first) }}
-                    {{ form_errors(form.new_password.first) }}
-                    {{ form_widget(form.new_password.first) }}
-                </div>
-
-                <div class="row">
-                    {{ form_label(form.new_password.second) }}
-                    {{ form_errors(form.new_password.second) }}
-                    {{ form_widget(form.new_password.second) }}
-                </div>
-
-                <div class="row mts txtcenter">
-                    <button type="submit">Change password</button>
-                </div>
-            </fieldset>
-
-            {{ form_rest(form) }}
-        </form>
-{% endblock %}
index 7a4e7df2f2861ce0cff27e506a920667c69963aa..eb33f042e66092d22212e3a2dc814a9d05701f87 100755 (executable)
@@ -250,9 +250,14 @@ main ul.row {
 }
 
 .card .card-action a {
+    color: #ffffff;
     margin: 0;
 }
 
+.card .card-action a:hover {
+    color: #ffffff;
+}
+
 .settings .div_tabs {
     padding-bottom: 15px;
 }
index 32543a449079cba30d6b6d673f950a63fbcd06a1..c90aa46f857f029fc89b4080879451bf9d290f68 100755 (executable)
Binary files a/src/Wallabag/CoreBundle/Resources/views/themes/material/public/img/logo-other_themes.png and b/src/Wallabag/CoreBundle/Resources/views/themes/material/public/img/logo-other_themes.png differ
diff --git a/src/Wallabag/UserBundle/Controller/ResettingController.php b/src/Wallabag/UserBundle/Controller/ResettingController.php
new file mode 100644 (file)
index 0000000..8aa1e23
--- /dev/null
@@ -0,0 +1,75 @@
+<?php
+
+namespace Wallabag\UserBundle\Controller;
+
+use FOS\UserBundle\FOSUserEvents;
+use FOS\UserBundle\Event\FormEvent;
+use FOS\UserBundle\Event\GetResponseUserEvent;
+use FOS\UserBundle\Event\FilterUserResponseEvent;
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\RedirectResponse;
+use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
+
+class ResettingController extends \FOS\UserBundle\Controller\ResettingController
+{
+    /**
+     * Extends ResettingController to change the redirection after success.
+     *
+     * @param Request $request
+     * @param $token
+     *
+     * @return null|RedirectResponse|\Symfony\Component\HttpFoundation\Response
+     */
+    public function resetAction(Request $request, $token)
+    {
+        /** @var $formFactory \FOS\UserBundle\Form\Factory\FactoryInterface */
+        $formFactory = $this->get('fos_user.resetting.form.factory');
+        /** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
+        $userManager = $this->get('fos_user.user_manager');
+        /** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
+        $dispatcher = $this->get('event_dispatcher');
+
+        $user = $userManager->findUserByConfirmationToken($token);
+
+        if (null === $user) {
+            throw new NotFoundHttpException(sprintf('The user with "confirmation token" does not exist for value "%s"', $token));
+        }
+
+        $event = new GetResponseUserEvent($user, $request);
+        $dispatcher->dispatch(FOSUserEvents::RESETTING_RESET_INITIALIZE, $event);
+
+        if (null !== $event->getResponse()) {
+            return $event->getResponse();
+        }
+
+        $form = $formFactory->createForm();
+        $form->setData($user);
+
+        $form->handleRequest($request);
+
+        if ($form->isValid()) {
+            $event = new FormEvent($form, $request);
+            $dispatcher->dispatch(FOSUserEvents::RESETTING_RESET_SUCCESS, $event);
+
+            $userManager->updateUser($user);
+
+            if (null === $response = $event->getResponse()) {
+                $this->get('session')->getFlashBag()->add(
+                    'notice',
+                    'Password updated'
+                );
+                $url = $this->generateUrl('homepage');
+                $response = new RedirectResponse($url);
+            }
+
+            $dispatcher->dispatch(FOSUserEvents::RESETTING_RESET_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
+
+            return $response;
+        }
+
+        return $this->render('FOSUserBundle:Resetting:reset.html.twig', array(
+            'token' => $token,
+            'form' => $form->createView(),
+        ));
+    }
+}
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/baggy/Registration/register.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/baggy/Registration/register.html.twig
new file mode 100644 (file)
index 0000000..e5c1876
--- /dev/null
@@ -0,0 +1,20 @@
+{% extends "WallabagCoreBundle::layout.html.twig" %}
+
+{% block title %}{% trans %}create an account{% endtrans %}{% endblock %}
+
+{% block body_class %}login{% endblock %}
+
+{% block menu %}{% endblock %}
+{% block messages %}{% endblock %}
+
+{% block content %}
+    <form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register">
+        <fieldset class="w500p center">
+            <h2 class="mbs txtcenter">{% trans %}create an account{% endtrans %}</h2>
+        {% include "FOSUserBundle:Registration:register_content.html.twig" %}
+        </fieldset>
+    </form>
+{% endblock %}
+
+{% block footer %}
+{% endblock %}
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/baggy/Registration/register_content.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/baggy/Registration/register_content.html.twig
new file mode 100644 (file)
index 0000000..f1f899d
--- /dev/null
@@ -0,0 +1,38 @@
+{% trans_default_domain 'FOSUserBundle' %}
+
+{{ form_errors(form) }}
+{{ form_widget(form._token) }}
+
+{% for flashMessage in app.session.flashbag.get('notice') %}
+    <span><p>{{ flashMessage }}</p></span>
+{% endfor %}
+
+<div class="row">
+    {{ form_errors(form.email) }}
+    <label for="fos_user_registration_form_email">{% trans %}Email{% endtrans %}</label>
+    <input type="text" id="fos_user_registration_form_email" name="fos_user_registration_form[email]" />
+</div>
+
+<div class="row">
+    {{ form_errors(form.username) }}
+    <label for="fos_user_registration_form_username">{% trans %}Username{% endtrans %}</label>
+    <input type="text" id="fos_user_registration_form_username" name="fos_user_registration_form[username]" />
+</div>
+
+<div class="row">
+    {{ form_errors(form.plainPassword.first) }}
+    <label for="fos_user_registration_form_plainPassword_first">{% trans %}Password{% endtrans %}</label>
+    <input type="password" id="fos_user_registration_form_plainPassword_first" name="fos_user_registration_form[plainPassword][first]" />
+</div>
+
+<div class="row">
+    {{ form_errors(form.plainPassword.second) }}
+    <label for="fos_user_registration_form_plainPassword_second">{% trans %}Repeat password{% endtrans %}</label>
+    <input type="password" id="fos_user_registration_form_plainPassword_second" name="fos_user_registration_form[plainPassword][second]" />
+</div>
+
+
+<div class="row mts txtcenter">
+    <button type="submit">{{ 'registration.submit'|trans({}, 'FOSUserBundle') }}</button>
+    <a href="{{ path('fos_user_security_login') }}" class="button">{% trans %}Login{% endtrans %}</a>
+</div>
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/baggy/Resetting/request.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/baggy/Resetting/request.html.twig
new file mode 100644 (file)
index 0000000..10094e8
--- /dev/null
@@ -0,0 +1,20 @@
+{% extends "WallabagCoreBundle::layout.html.twig" %}
+
+{% block title %}{% trans %}Forgot password{% endtrans %}{% endblock %}
+
+{% block body_class %}login{% endblock %}
+
+{% block menu %}{% endblock %}
+{% block messages %}{% endblock %}
+
+{% block content %}
+        <form action="{{ path('fos_user_resetting_send_email') }}" method="post" name="forgotPasswordform">
+            <fieldset class="w500p center">
+                <h2 class="mbs txtcenter">{% trans %}Forgot password{% endtrans %}</h2>
+                {% include "FOSUserBundle:Resetting:request_content.html.twig" %}
+            </fieldset>
+        </form>
+{% endblock %}
+
+{% block footer %}
+{% endblock %}
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/baggy/Resetting/request_content.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/baggy/Resetting/request_content.html.twig
new file mode 100644 (file)
index 0000000..1f8da8d
--- /dev/null
@@ -0,0 +1,17 @@
+{% trans_default_domain 'FOSUserBundle' %}
+
+{% trans %}Enter your email address below and we'll send you password reset instructions.{% endtrans %}
+
+{% if invalid_username is defined %}
+    <p>{{ 'resetting.request.invalid_username'|trans({'%username%': invalid_username}) }}</p>
+{% endif %}
+
+<div class="row">
+    <label for="username">{{ 'resetting.request.username'|trans }}</label>
+    <input type="text" id="username" name="username" required="required" />
+</div>
+
+<div class="row mts txtcenter">
+    <button type="submit">{{ 'resetting.request.submit'|trans }}</button>
+    <a href="{{ path('fos_user_security_login') }}" class="button">{% trans %}Login{% endtrans %}</a>
+</div>
similarity index 88%
rename from src/Wallabag/CoreBundle/Resources/views/themes/baggy/Security/login.html.twig
rename to src/Wallabag/UserBundle/Resources/views/themes/baggy/Security/login.html.twig
index 9a59dfc60651c7a22e9a2d7455d9188a98cd3ad4..0e7bba0f0ac8a01aacdd68a40020e8e3dccb1669 100644 (file)
@@ -8,7 +8,7 @@
 {% block messages %}{% endblock %}
 
 {% block content %}
-        <form action="{{ path('login_check') }}" method="post" name="loginform">
+        <form action="{{ path('fos_user_security_check') }}" method="post" name="loginform">
             <fieldset class="w500p center">
                 <h2 class="mbs txtcenter">{% trans %}Login to wallabag{% endtrans %}</h2>
                 {% if error %}
@@ -33,7 +33,7 @@
                     <input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}" />
                     <button type="submit">Login</button>
                     <a href="{{ path('fos_user_registration_register') }}" class="button">{% trans %}Register{% endtrans %}</a>
-                    <a href="{{ path('forgot_password') }}" class="small">Forgot your password?</a>
+                    <a href="{{ path('fos_user_resetting_request') }}" class="small">Forgot your password?</a>
                 </div>
             </fieldset>
         </form>
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/ChangePassword/changePassword_content.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/ChangePassword/changePassword_content.html.twig
new file mode 100644 (file)
index 0000000..e7b7318
--- /dev/null
@@ -0,0 +1,12 @@
+{% trans_default_domain 'FOSUserBundle' %}
+
+<form action="{{ path('fos_user_change_password') }}" {{ form_enctype(form) }} method="POST" class="fos_user_change_password">
+    <div class="card-content">
+        <div class="row">
+            {{ form_widget(form) }}
+            <div>
+                <input type="submit" value="{{ 'change_password.submit'|trans }}" />
+            </div>
+        </div>
+    </div>
+</form>
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/Registration/checkEmail.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/Registration/checkEmail.html.twig
new file mode 100644 (file)
index 0000000..5093727
--- /dev/null
@@ -0,0 +1,11 @@
+{% extends "FOSUserBundle::layout.html.twig" %}
+
+{% trans_default_domain 'FOSUserBundle' %}
+
+{% block fos_user_content %}
+<div class="card-content">
+    <div class="row">
+        <p>{{ 'registration.check_email'|trans({'%email%': user.email}) }}</p>
+    </div>
+</div>
+{% endblock fos_user_content %}
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/Registration/confirmed.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/Registration/confirmed.html.twig
new file mode 100644 (file)
index 0000000..c6d4d3d
--- /dev/null
@@ -0,0 +1,17 @@
+{% extends "FOSUserBundle::layout.html.twig" %}
+
+{% trans_default_domain 'FOSUserBundle' %}
+
+{% block fos_user_content %}
+<div class="card-content">
+    <div class="row">
+        <p>{{ 'registration.confirmed'|trans({'%username%': user.username}) }}</p>
+        {% if targetUrl %}
+        <p><a href="{{ targetUrl }}">{{ 'registration.back'|trans }}</a></p>
+        {% endif %}
+    </div>
+    <div class="card-action center">
+        <a href="{{ path('homepage') }}" class="waves-effect waves-light btn"><i class="material-icons left"></i> {% trans %}Go to your account{% endtrans %}</a>
+    </div>
+</div>
+{% endblock fos_user_content %}
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/Registration/register.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/Registration/register.html.twig
deleted file mode 100644 (file)
index d765c85..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{% trans %}create an account{% endtrans %}{% endblock %}
-
-{% block body_class %}register{% endblock %}
-
-{% block menu %}{% endblock %}
-{% block messages %}{% endblock %}
-
-{% block content %}
-<main class="valign-wrapper">
-    <div class="valign row">
-        <div class="card sw">
-            <div class="center"><img src="{{ asset('themes/baggy/img/logo-other_themes.png') }}" alt="wallabag logo" /></div>
-
-            {% include "FOSUserBundle:Registration:register_content.html.twig" %}
-
-        </div>
-        <div class="center">
-            <a href="{{ path('fos_user_security_login') }}">{% trans %}Already have an account?{% endtrans %}</a>
-        </div>
-    </div>
-</main>
-    <style>
-        main {
-            padding: 0;
-        }
-    </style>
-{% endblock %}
-
-{% block footer %}
-{% endblock %}
index 26a91433cb8407af70347fc42256fb91d514ac59..b356f58c6ccf9a97a3a63936d074e0cd8bb148f8 100644 (file)
@@ -2,12 +2,44 @@
 
 <form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register">
     <div class="card-content">
-    {{ form_widget(form) }}
-        <input type="submit" value="{{ 'registration.submit'|trans }}" />
+        <div class="row">
+
+            {{ form_errors(form) }}
+            {{ form_widget(form._token) }}
+
+            {% for flashMessage in app.session.flashbag.get('notice') %}
+                <span class="black-text"><p>{{ flashMessage }}</p></span>
+            {% endfor %}
+
+            <div class="input-field col s12">
+                {{ form_errors(form.email) }}
+                <label for="fos_user_registration_form_email">{% trans %}Email{% endtrans %}</label>
+                <input type="text" id="fos_user_registration_form_email" name="fos_user_registration_form[email]" />
+            </div>
+
+            <div class="input-field col s12">
+                {{ form_errors(form.username) }}
+                <label for="fos_user_registration_form_username">{% trans %}Username{% endtrans %}</label>
+                <input type="text" id="fos_user_registration_form_username" name="fos_user_registration_form[username]" />
+            </div>
+
+            <div class="input-field col s12">
+                {{ form_errors(form.plainPassword.first) }}
+                <label for="fos_user_registration_form_plainPassword_first">{% trans %}Password{% endtrans %}</label>
+                <input type="password" id="fos_user_registration_form_plainPassword_first" name="fos_user_registration_form[plainPassword][first]" />
+            </div>
+
+            <div class="input-field col s12">
+                {{ form_errors(form.plainPassword.second) }}
+                <label for="fos_user_registration_form_plainPassword_second">{% trans %}Repeat password{% endtrans %}</label>
+                <input type="password" id="fos_user_registration_form_plainPassword_second" name="fos_user_registration_form[plainPassword][second]" />
+            </div>
+        </div>
     </div>
-    <div class="card-action">
+    <div class="card-action center">
+        <a href="{{ path('fos_user_security_login') }}" class="waves-effect waves-light grey btn"><i class="material-icons left"></i> {% trans %}Login{% endtrans %}</a>
         <button class="btn waves-effect waves-light" type="submit" name="send">
-            {% trans %}Create account{% endtrans %}
+            {{ 'registration.submit'|trans({}, 'FOSUserBundle') }}
             <i class="mdi-content-send right"></i>
         </button>
     </div>
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/checkEmail.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/checkEmail.html.twig
new file mode 100644 (file)
index 0000000..66cbdc2
--- /dev/null
@@ -0,0 +1,11 @@
+{% extends "FOSUserBundle::layout.html.twig" %}
+
+{% trans_default_domain 'FOSUserBundle' %}
+
+{% block fos_user_content %}
+<div class="card-content">
+    <div class="row">
+        {{ 'resetting.check_email'|trans({'%email%': email}) }}
+    </div>
+</div>
+{% endblock fos_user_content %}
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/passwordAlreadyRequested.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/passwordAlreadyRequested.html.twig
new file mode 100644 (file)
index 0000000..0eec430
--- /dev/null
@@ -0,0 +1,11 @@
+{% extends "FOSUserBundle::layout.html.twig" %}
+
+{% trans_default_domain 'FOSUserBundle' %}
+
+{% block fos_user_content %}
+<div class="card-content">
+    <div class="row">
+    {{ 'resetting.password_already_requested'|trans }}
+    </div>
+</div>
+{% endblock fos_user_content %}
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/request_content.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/request_content.html.twig
new file mode 100644 (file)
index 0000000..e871d7b
--- /dev/null
@@ -0,0 +1,26 @@
+{% trans_default_domain 'FOSUserBundle' %}
+<form action="{{ path('fos_user_resetting_send_email') }}" method="POST" class="fos_user_resetting_request">
+    <div class="card-content">
+        <div class="row">
+        <p>{% trans %}Enter your email address below and we'll send you password reset instructions.{% endtrans %}</p>
+            {% for flashMessage in app.session.flashbag.get('notice') %}
+                <span class="black-text"><p>{{ flashMessage }}</p></span>
+            {% endfor %}
+
+            {% if invalid_username is defined %}
+                <p>{{ 'resetting.request.invalid_username'|trans({'%username%': invalid_username}) }}</p>
+            {% endif %}
+
+            <div class="input-field col s12">
+                <label for="username">{{ 'resetting.request.username'|trans }}</label>
+                <input type="text" id="username" name="username" required="required" />
+            </div>
+        </div>
+    </div>
+    <div class="card-action center">
+        <a href="{{ path('fos_user_security_login') }}" class="waves-effect waves-light grey btn"><i class="material-icons left"></i> {% trans %}Login{% endtrans %}</a>
+        <button class="btn waves-effect waves-light" type="submit" name="send">
+            {{ 'resetting.request.submit'|trans }}
+        </button>
+    </div>
+</form>
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/reset_content.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/reset_content.html.twig
new file mode 100644 (file)
index 0000000..f7e061d
--- /dev/null
@@ -0,0 +1,15 @@
+{% trans_default_domain 'FOSUserBundle' %}
+
+<form action="{{ path('fos_user_resetting_reset', {'token': token}) }}" {{ form_enctype(form) }} method="POST" class="fos_user_resetting_reset">
+    <div class="card-content">
+        <div class="row">
+            {{ form_widget(form) }}
+        </div>
+        <div class="card-action center">
+            <button class="btn waves-effect waves-light" type="submit" name="send">
+                {{ 'resetting.reset.submit'|trans }}
+                <i class="mdi-content-send right"></i>
+            </button>
+        </div>
+    </div>
+</form>
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/Security/checkEmail.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/Security/checkEmail.html.twig
deleted file mode 100644 (file)
index 8f698e1..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{% trans %}Forgot password{% endtrans %}{% endblock %}
-
-{% block body_class %}login{% endblock %}
-
-{% block menu %}{% endblock %}
-
-{% block content %}
-    <main class="valign-wrapper">
-        <div class="valign row">
-            <h1>{% trans %}Forgot password{% endtrans %}</h1>
-            <div class="card sw">
-                <div class="card-content">
-                    <span class="card-title black-text">
-                        <p>{{ 'An email has been sent to %email%. It contains a link you must click to reset your password.'|trans({'%email%': email}) }}</p>
-                    </span>
-                </div>
-            </div>
-        </div>
-    </main>
-    <style>
-    main {
-        padding: 0;
-    }
-    </style>
-{% endblock %}
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/Security/forgotPassword.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/Security/forgotPassword.html.twig
deleted file mode 100644 (file)
index 9750f8b..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{% trans %}Forgot password{% endtrans %}{% endblock %}
-
-{% block body_class %}login{% endblock %}
-
-{% block menu %}{% endblock %}
-
-{% block content %}
-    <main class="valign-wrapper">
-        <div class="valign row">
-            <h1>{% trans %}Forgot password{% endtrans %}</h1>
-            <div class="card sw">
-                <form action="{{ path('forgot_password') }}" method="post" name="forgotPasswordform">
-                    <div class="card-content">
-
-                        <span class="card-title black-text"><p>{% trans %}Enter your email address below and we'll send you password reset instructions.{% endtrans %}</p></span>
-
-                        {% if form_errors(form) %}
-                            <span class="black-text">{{ form_errors(form) }}</span>
-                        {% endif %}
-
-                        {% for flashMessage in app.session.flashbag.get('notice') %}
-                            <span class="black-text"><p>{{ flashMessage }}</p></span>
-                        {% endfor %}
-
-                        {% if form_errors(form.email) %}
-                            <span class="black-text">{{ form_errors(form.email) }}</span>
-                        {% endif %}
-
-                        <div class="input-field s12">
-                            {{ form_label(form.email) }}
-                            {{ form_widget(form.email) }}
-                        </div>
-
-                    </div>
-                    <div class="card-action">
-                        <button class="btn waves-effect waves-light" type="submit" name="send">
-                            {% trans %}Send{% endtrans %}
-                            <i class="mdi-content-send right"></i>
-                        </button>
-                    </div>
-                    {{ form_rest(form) }}
-                </form>
-            </div>
-            <div class="center">
-                <a href="{{ path('login') }}">{% trans %}Back to login{% endtrans %}</a>
-            </div>
-        </div>
-    </main>
-    <style>
-    main {
-        padding: 0;
-    }
-    </style>
-{% endblock %}
-
-{% block footer %}
-{% endblock %}
index e953203777cfdae1ff0160613969bb7fa7f01c28..6bf99bf88ab351e2e1514f6f2f02970d222287a3 100644 (file)
@@ -1,69 +1,46 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
+{% extends "FOSUserBundle::layout.html.twig" %}
 
-{% block title %}{% trans %}login to your wallabag{% endtrans %}{% endblock %}
+{% block fos_user_content %}
+<form action="{{ path('fos_user_security_check') }}" method="post" name="loginform">
+    <div class="card-content">
 
-{% block body_class %}login{% endblock %}
+        {% if error %}
+            <span class="black-text">{{ error.message }}</span>
+        {% endif %}
 
-{% block menu %}{% endblock %}
-{% block messages %}{% endblock %}
+        {% for flashMessage in app.session.flashbag.get('notice') %}
+            <span class="black-text"><p>{{ flashMessage }}</p></span>
+        {% endfor %}
 
-{% block content %}
-    <main class="valign-wrapper">
-        <div class="valign row">
-            <div class="card sw">
-                <div class="center"><img src="{{ asset('themes/baggy/img/logo-other_themes.png') }}" alt="wallabag logo" /></div>
-                <form action="{{ path('fos_user_security_check') }}" method="post" name="loginform">
-                    <div class="card-content">
+        <div class="row">
 
-                        {% if error %}
-                            <span class="black-text">{{ error.message }}</span>
-                        {% endif %}
-
-                        {% for flashMessage in app.session.flashbag.get('notice') %}
-                            <span class="black-text"><p>{{ flashMessage }}</p></span>
-                        {% endfor %}
-
-                        <div class="row">
-
-                            <div class="input-field col s12">
-                                <label for="username">{% trans %}Username{% endtrans %}</label>
-                                <input type="text" id="username" name="_username" value="{{ last_username }}" />
-                            </div>
-
-                            <div class="input-field col s12">
-                                <label for="password">{% trans %}Password{% endtrans %}</label>
-                                <input type="password" id="password" name="_password" />
-                            </div>
-
-                            <div class="input-field col s12">
-                                <input type="checkbox" id="remember_me" name="_remember_me" checked />
-                                <label for="remember_me">{% trans %}Keep me logged in{% endtrans %}</label>
-                            </div>
-
-                        </div>
+            <div class="input-field col s12">
+                <label for="username">{% trans %}Username{% endtrans %}</label>
+                <input type="text" id="username" name="_username" value="{{ last_username }}" />
+            </div>
 
-                    </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>
-                        </button>
-                        <a href="{{ path('fos_user_registration_register') }}">{% trans %}Register{% endtrans %}</a>
-                    </div>
-                </form>
+            <div class="input-field col s12">
+                <label for="password">{% trans %}Password{% endtrans %}</label>
+                <input type="password" id="password" name="_password" />
             </div>
-            <div class="center">
-                <a href="{{ path('fos_user_resetting_request') }}">{% trans %}Forgot your password?{% endtrans %}</a>
+
+            <div class="input-field col s12">
+                <input type="checkbox" id="remember_me" name="_remember_me" checked />
+                <label for="remember_me">{% trans %}Keep me logged in{% endtrans %}</label>
             </div>
-        </div>
-    </main>
-    <style>
-    main {
-        padding: 0;
-    }
-    </style>
-{% endblock %}
 
-{% block footer %}
-{% endblock %}
+        </div>
+    </div>
+    <div class="card-action center">
+        <input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}" />
+        <a href="{{ path('fos_user_registration_register') }}" class="waves-effect waves-light grey btn"><i class="material-icons left"></i> {% trans %}Register{% endtrans %}</a>
+        <button class="btn waves-effect waves-light" type="submit" name="send">
+            {% trans %}Login{% endtrans %}
+            <i class="mdi-content-send right"></i>
+        </button>
+    </div>
+    <div class="center">
+        <a href="{{ path('fos_user_resetting_request') }}">{% trans %}Forgot your password?{% endtrans %}</a>
+    </div>
+</form>
+{% endblock fos_user_content %}
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/Security/reset.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/Security/reset.html.twig
deleted file mode 100644 (file)
index 09d0b63..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{% trans %}Change password{% endtrans %}{% endblock %}
-
-{% block body_class %}login{% endblock %}
-
-{% block menu %}{% endblock %}
-
-{% block content %}
-    <main class="valign-wrapper">
-        <div class="valign row">
-            <div class="card sw">
-                <form action="{{ path('forgot_password_reset', {'token': token}) }}" method="post" name="loginform">
-                    <div class="card-content">
-
-                        <span class="card-title black-text"><p>{% trans %}Change password{% endtrans %}</p></span>
-
-                        {% if form_errors(form) %}
-                            <span class="black-text">{{ form_errors(form) }}</span>
-                        {% endif %}
-
-                        {% if form_errors(form.new_password.first) %}
-                            <span class="black-text">{{ form_errors(form.new_password.first) }}</span>
-                        {% endif %}
-
-                        {% if form_errors(form.new_password.second) %}
-                            <span class="black-text">{{ form_errors(form.new_password.second) }}</span>
-                        {% endif %}
-
-                        <div class="input-field s12">
-                            {{ form_label(form.new_password.first) }}
-                            {{ form_widget(form.new_password.first) }}
-                        </div>
-
-                        <div class="input-field s12">
-                            {{ form_label(form.new_password.second) }}
-                            {{ form_widget(form.new_password.second) }}
-                        </div>
-
-                    </div>
-                    <div class="card-action">
-                        <button class="btn waves-effect waves-light" type="submit" name="send">
-                            {% trans %}Change password{% endtrans %}
-                            <i class="mdi-content-send right"></i>
-                        </button>
-                    </div>
-                    {{ form_rest(form) }}
-                </form>
-            </div>
-        </div>
-    </main>
-    <style>
-    main {
-        padding: 0;
-    }
-    </style>
-{% endblock %}
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/layout.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/layout.html.twig
new file mode 100644 (file)
index 0000000..0305ea4
--- /dev/null
@@ -0,0 +1,26 @@
+{% extends "WallabagCoreBundle::layout.html.twig" %}
+
+{% block title %}Welcome on wallabag!{% endblock %}
+
+{% block menu %}{% endblock %}
+{% block messages %}{% endblock %}
+
+{% block content %}
+<main class="valign-wrapper">
+    <div class="valign row">
+        <div class="card sw">
+            <div class="center"><img src="{{ asset('themes/material/img/logo-other_themes.png') }}" alt="wallabag logo" /></div>
+            {% block fos_user_content %}
+            {% endblock fos_user_content %}
+        </div>
+    </div>
+</main>
+<style>
+    main {
+        padding: 0;
+    }
+</style>
+{% endblock %}
+
+{% block footer %}
+{% endblock %}