Skip to content

Commit

Permalink
Preapre Sylius plugin standard version
Browse files Browse the repository at this point in the history
  • Loading branch information
bitbager committed Apr 12, 2018
1 parent 978701c commit 161994a
Show file tree
Hide file tree
Showing 35 changed files with 94 additions and 92 deletions.
6 changes: 3 additions & 3 deletions README.md
Expand Up @@ -18,7 +18,7 @@ $ composer require bitbag/mailchimp-plugin
Import routing in your routing.yml file:

```yml
bitbag_mailchimp_plugin:
bitbag_sylius_mailchimp_plugin:
resource: "@MailChimpPlugin/Resources/config/routing.yml"
prefix: /
```
Expand All @@ -31,7 +31,7 @@ public function registerBundles()
return array_merge(parent::registerBundles(), [
...

new \BitBag\MailChimpPlugin\MailChimpPlugin(),
new \BitBag\SyliusMailChimpPlugin\BitBagSyliusMailChimpPlugin(),
]);
}
```
Expand All @@ -51,7 +51,7 @@ parameters:
In your twig template include

```twig
{% include '@MailChimpPlugin/_subscribe.html.twig' %}
{% include '@BitBagMailChimpPlugin/_subscribe.html.twig' %}
```

In case you'd like to submit the form with AJAX
Expand Down
2 changes: 2 additions & 0 deletions easy-coding-standard.neon
@@ -0,0 +1,2 @@
includes:
- vendor/sylius-labs/coding-standard/easy-coding-standard.neon
4 changes: 2 additions & 2 deletions phpspec.yml
@@ -1,5 +1,5 @@
suites:
main:
namespace: BitBag\MailChimpPlugin
psr4_prefix: BitBag\MailChimpPlugin
namespace: BitBag\SyliusMailChimpPlugin
psr4_prefix: BitBag\SyliusMailChimpPlugin
src_path: .
6 changes: 3 additions & 3 deletions spec/EventListener/CustomerNewsletterListenerSpec.php
@@ -1,9 +1,9 @@
<?php

namespace spec\BitBag\MailChimpPlugin\EventListener;
namespace spec\BitBag\SyliusMailChimpPlugin\EventListener;

use BitBag\MailChimpPlugin\EventListener\CustomerNewsletterListener;
use BitBag\MailChimpPlugin\Handler\NewsletterSubscriptionHandler;
use BitBag\SyliusMailChimpPlugin\EventListener\CustomerNewsletterListener;
use BitBag\SyliusMailChimpPlugin\Handler\NewsletterSubscriptionHandler;
use PhpSpec\ObjectBehavior;
use Sylius\Component\Core\Model\CustomerInterface;
use Sylius\Component\Resource\Exception\UnexpectedTypeException;
Expand Down
4 changes: 2 additions & 2 deletions spec/Handler/NewsletterSubscriptionHandlerSpec.php
@@ -1,8 +1,8 @@
<?php

namespace spec\BitBag\MailChimpPlugin\Handler;
namespace spec\BitBag\SyliusMailChimpPlugin\Handler;

use BitBag\MailChimpPlugin\Handler\NewsletterSubscriptionHandler;
use BitBag\SyliusMailChimpPlugin\Handler\NewsletterSubscriptionHandler;
use Doctrine\ORM\EntityManagerInterface;
use DrewM\MailChimp\MailChimp;
use PhpSpec\ObjectBehavior;
Expand Down
6 changes: 3 additions & 3 deletions spec/Validator/Constraints/UniqueNewsletterEmailSpec.php
@@ -1,8 +1,8 @@
<?php

namespace spec\BitBag\MailChimpPlugin\Validator\Constraints;
namespace spec\BitBag\SyliusMailChimpPlugin\Validator\Constraints;

use BitBag\MailChimpPlugin\Validator\Constraints\UniqueNewsletterEmail;
use BitBag\SyliusMailChimpPlugin\Validator\Constraints\UniqueNewsletterEmail;
use PhpSpec\ObjectBehavior;
use Prophecy\Argument;
use Symfony\Component\Validator\Constraint;
Expand All @@ -21,6 +21,6 @@ function it_has_constraint_type()

function it_points_proper_validator_class()
{
$this->validatedBy()->shouldReturn('BitBag\MailChimpPlugin\Validator\Constraints\UniqueNewsletterEmailValidator');
$this->validatedBy()->shouldReturn('BitBag\SyliusMailChimpPlugin\Validator\Constraints\UniqueNewsletterEmailValidator');
}
}
@@ -1,9 +1,9 @@
<?php

namespace spec\BitBag\MailChimpPlugin\Validator\Constraints;
namespace spec\BitBag\SyliusMailChimpPlugin\Validator\Constraints;

use BitBag\MailChimpPlugin\Validator\Constraints\UniqueNewsletterEmail;
use BitBag\MailChimpPlugin\Validator\Constraints\UniqueNewsletterEmailValidator;
use BitBag\SyliusMailChimpPlugin\Validator\Constraints\UniqueNewsletterEmail;
use BitBag\SyliusMailChimpPlugin\Validator\Constraints\UniqueNewsletterEmailValidator;
use PhpSpec\ObjectBehavior;
use Prophecy\Argument;
use Sylius\Component\Core\Model\CustomerInterface;
Expand Down
@@ -1,11 +1,11 @@
<?php

namespace BitBag\MailChimpPlugin;
namespace BitBag\SyliusMailChimpPlugin;

use Sylius\Bundle\CoreBundle\Application\SyliusPluginTrait;
use Symfony\Component\HttpKernel\Bundle\Bundle;

final class MailChimpPlugin extends Bundle
final class BitBagSyliusMailChimpPlugin extends Bundle
{
use SyliusPluginTrait;
}
10 changes: 5 additions & 5 deletions src/Controller/NewsletterController.php
@@ -1,6 +1,6 @@
<?php

namespace BitBag\MailChimpPlugin\Controller;
namespace BitBag\SyliusMailChimpPlugin\Controller;

use FOS\RestBundle\Controller\FOSRestController;
use Symfony\Component\HttpFoundation\JsonResponse;
Expand All @@ -13,19 +13,19 @@ public function subscribeAction(Request $request)
{
$email = $request->request->get('email');

$validator = $this->get('bitbag.mailchimp_plugin.validator.email_validator');
$validator = $this->get('bitbag_sylius_mailchimp_plugin.validator.email_validator');
$errors = $validator->validate($email);

if (!$this->isCsrfTokenValid('newsletter', $request->request->get('_token'))) {
$errors[] = $this->get('translator')->trans('bitbag.mailchimp_plugin.invalid_csrf_token');
$errors[] = $this->get('translator')->trans('bitbag_sylius_mailchimp_plugin.invalid_csrf_token');
}

if (count($errors) === 0) {
$handler = $this->get('bitbag.mailchimp_plugin.handler.newsleter_subscription_handler');
$handler = $this->get('bitbag_sylius_mailchimp_plugin.handler.newsleter_subscription_handler');
$handler->subscribe($email);
return new JsonResponse([
'success' => true,
'message' => $this->get('translator')->trans('bitbag.mailchimp_plugin.subscribed_successfully')
'message' => $this->get('translator')->trans('bitbag_sylius_mailchimp_plugin.subscribed_successfully')
]);
}

Expand Down
@@ -1,13 +1,13 @@
<?php

namespace BitBag\MailChimpPlugin\DependencyInjection;
namespace BitBag\SyliusMailChimpPlugin\DependencyInjection;

use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Extension\Extension;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;

final class MailChimpExtension extends Extension
final class BitBagSyliusMailChimpExtension extends Extension
{
/**
* {@inheritdoc}
Expand Down
4 changes: 2 additions & 2 deletions src/EventListener/CustomerNewsletterListener.php
@@ -1,8 +1,8 @@
<?php

namespace BitBag\MailChimpPlugin\EventListener;
namespace BitBag\SyliusMailChimpPlugin\EventListener;

use BitBag\MailChimpPlugin\Handler\NewsletterSubscriptionHandler;
use BitBag\SyliusMailChimpPlugin\Handler\NewsletterSubscriptionHandler;
use Sylius\Component\Core\Model\CustomerInterface;
use Sylius\Component\Resource\Exception\UnexpectedTypeException;
use Symfony\Component\EventDispatcher\GenericEvent;
Expand Down
2 changes: 1 addition & 1 deletion src/Handler/NewsletterSubscriptionHandler.php
@@ -1,6 +1,6 @@
<?php

namespace BitBag\MailChimpPlugin\Handler;
namespace BitBag\SyliusMailChimpPlugin\Handler;

use Doctrine\ORM\EntityManagerInterface;
use DrewM\MailChimp\MailChimp;
Expand Down
2 changes: 1 addition & 1 deletion src/Resources/config/routing.yml
@@ -1,4 +1,4 @@
bitbag_mailchimp_plugin_newsletter_subscribe:
bitbag_sylius_mailchimp_plugin_newsletter_subscribe:
path: /newsletter/subscribe
methods: ["POST", "PATCH"]
defaults:
Expand Down
22 changes: 11 additions & 11 deletions src/Resources/config/services.yml
@@ -1,35 +1,35 @@
services:
bitbag.mailchimp_plugin.validator.email_validator:
class: BitBag\MailChimpPlugin\Validator\NewsletterValidator
bitbag_sylius_mailchimp_plugin.validator.email_validator:
class: BitBag\SyliusMailChimpPlugin\Validator\NewsletterValidator
arguments:
- "@validator"
- "@sylius.manager.customer"

bitbag.mailchimp_plugin.drewm.mailchimp:
bitbag_sylius_mailchimp_plugin.drewm.mailchimp:
class: DrewM\MailChimp\MailChimp
arguments:
- "%mailchimp.api_key%"

bitbag.mailchimp_plugin.handler.newsleter_subscription_handler:
class: BitBag\MailChimpPlugin\Handler\NewsletterSubscriptionHandler
bitbag_sylius_mailchimp_plugin.handler.newsleter_subscription_handler:
class: BitBag\SyliusMailChimpPlugin\Handler\NewsletterSubscriptionHandler
arguments:
- "@sylius.repository.customer"
- "@sylius.factory.customer"
- "@sylius.manager.customer"
- "@bitbag.mailchimp_plugin.drewm.mailchimp"
- "@bitbag_sylius_mailchimp_plugin.drewm.mailchimp"
- "%mailchimp.list_id%"

bitbag.mailchimp_plugin.validator.unique_newsletter_email_validator:
class: BitBag\MailChimpPlugin\Validator\Constraints\UniqueNewsletterEmailValidator
bitbag_sylius_mailchimp_plugin.validator.unique_newsletter_email_validator:
class: BitBag\SyliusMailChimpPlugin\Validator\Constraints\UniqueNewsletterEmailValidator
arguments:
- "@sylius.repository.customer"
tags:
- { name: "validator.constraint_validator" }

bitbag.mailchimp_plugin.event_listener.customer_listener:
class: BitBag\MailChimpPlugin\EventListener\CustomerNewsletterListener
bitbag_sylius_mailchimp_plugin.event_listener.customer_listener:
class: BitBag\SyliusMailChimpPlugin\EventListener\CustomerNewsletterListener
arguments:
- "@bitbag.mailchimp_plugin.handler.newsleter_subscription_handler"
- "@bitbag_sylius_mailchimp_plugin.handler.newsleter_subscription_handler"
tags:
- { name: "kernel.event_listener", event: "sylius.customer.post_register", method: customerCreateEvent }
- { name: "kernel.event_listener", event: "sylius.customer.pre_update", method: customerUpdateEvent }
6 changes: 3 additions & 3 deletions src/Resources/translations/messages.en.yml
@@ -1,7 +1,7 @@
bitbag:
mailchimp_plugin:
bitbag_sylius_mailchimp_plugin:
ui:
newsletter: Newsletter
subscribe: Subscribe
your_email_address: Your email address
subscribed_successfully: You are now subscribed to the newsletter.
invalid_csrf_token: Submited CSRF token is invalid.
invalid_csrf_token: Submited CSRF token is invalid.
4 changes: 2 additions & 2 deletions src/Resources/translations/messages.nl.yml
@@ -1,5 +1,5 @@
bitbag:
mailchimp_plugin:
bitbag_sylius_mailchimp_plugin:
ui:
newsletter: Nieuwsbrief
subscribe: Abonneren
your_email_address: Jouw e-mailadres
Expand Down
6 changes: 3 additions & 3 deletions src/Resources/translations/messages.pl.yml
@@ -1,7 +1,7 @@
bitbag:
mailchimp_plugin:
bitbag_sylius_mailchimp_plugin:
ui:
newsletter: Newsletter
subscribe: Subskrybuj
your_email_address: Twój adres email
subscribed_successfully: Zostałeś zapisany do newslettera.
invalid_csrf_token: Przesłany token CSRF jest nieprawidłowy. Prosimy spróbować ponownie.
invalid_csrf_token: Przesłany token CSRF jest nieprawidłowy. Prosimy spróbować ponownie.
6 changes: 3 additions & 3 deletions src/Resources/translations/validators.en.yml
@@ -1,5 +1,5 @@
bitbag:
mailchimp_plugin:
bitbag_sylius_mailchimp_plugin:
ui:
invalid_email: The submitted email address is not valid.
email_not_blank: Please fill the email field.
unique_email: Given email address is already subscribed to the newsletter.
unique_email: Given email address is already subscribed to the newsletter.
4 changes: 2 additions & 2 deletions src/Resources/translations/validators.nl.yml
@@ -1,5 +1,5 @@
bitbag:
mailchimp_plugin:
bitbag_sylius_mailchimp_plugin:
ui:
invalid_email: Het ingediende e-mailadres is niet geldig.
email_not_blank: Vul het e-mailveld in.
unique_email: Ingediende e-mailadres is al ingeschreven op de nieuwsbrief.
6 changes: 3 additions & 3 deletions src/Resources/translations/validators.pl.yml
@@ -1,5 +1,5 @@
bitbag:
mailchimp_plugin:
bitbag_sylius_mailchimp_plugin:
ui:
invalid_email: Przesłany adres email nie jest prawidłowy.
email_not_blank: Proszę podać adres email.
unique_email: Na podany adres email zarejestrowana jest już subskrybcja newslettera.
unique_email: Na podany adres email zarejestrowana jest już subskrybcja newslettera.
10 changes: 5 additions & 5 deletions src/Resources/views/_subscribe.html.twig
@@ -1,14 +1,14 @@
<form action="{{ path('bitbag_mailchimp_plugin_newsletter_subscribe') }}" method="POST" class="ui form" id="footer-newsletter-form">
<form action="{{ path('bitbag_sylius_mailchimp_plugin_newsletter_subscribe') }}" method="POST" class="ui form" id="footer-newsletter-form">
<div class="success-element"></div>
<div class="validation-element"></div>
<div class="inline field">
<input type="text"
id="newsletter-email" name="email"
placeholder="{{ 'bitbag.mailchimp_plugin.your_email_address'|trans }}"
placeholder="{{ 'bitbag_sylius_mailchimp_plugin.ui.your_email_address'|trans }}"
/>
<input type="hidden" id="newsletter-token" name="_token" value="{{ csrf_token('newsletter') }}">
<button title="{{ 'bitbag.mailchimp_plugin.subscribe' }}" type="submit" class="ui button">
{{ 'bitbag.mailchimp_plugin.subscribe'|trans }}
<button title="{{ 'bitbag_sylius_mailchimp_plugin.ui.subscribe' }}" type="submit" class="ui button">
{{ 'bitbag_sylius_mailchimp_plugin.ui.subscribe'|trans }}
</button>
</div>
</form>
</form>
4 changes: 2 additions & 2 deletions src/Validator/Constraints/UniqueNewsletterEmail.php
@@ -1,12 +1,12 @@
<?php

namespace BitBag\MailChimpPlugin\Validator\Constraints;
namespace BitBag\SyliusMailChimpPlugin\Validator\Constraints;

use Symfony\Component\Validator\Constraint;

final class UniqueNewsletterEmail extends Constraint
{
public $message = 'bitbag.mailchimp_plugin.unique_email';
public $message = 'bitbag_sylius_mailchimp_plugin.unique_email';

public function validatedBy()
{
Expand Down
@@ -1,6 +1,6 @@
<?php

namespace BitBag\MailChimpPlugin\Validator\Constraints;
namespace BitBag\SyliusMailChimpPlugin\Validator\Constraints;

use Sylius\Component\Core\Repository\CustomerRepositoryInterface;
use Sylius\Component\Customer\Model\CustomerInterface;
Expand Down
8 changes: 4 additions & 4 deletions src/Validator/NewsletterValidator.php
@@ -1,8 +1,8 @@
<?php

namespace BitBag\MailChimpPlugin\Validator;
namespace BitBag\SyliusMailChimpPlugin\Validator;

use BitBag\MailChimpPlugin\Validator\Constraints\UniqueNewsletterEmail;
use BitBag\SyliusMailChimpPlugin\Validator\Constraints\UniqueNewsletterEmail;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Validator\ConstraintViolation;
Expand Down Expand Up @@ -38,8 +38,8 @@ public function __construct(ValidatorInterface $validator, EntityManagerInterfac
public function validate($email)
{
$violations = $this->validator->validate($email, [
new Email(['message' => 'bitbag.mailchimp_plugin.invalid_email']),
new NotBlank(['message' => 'bitbag.mailchimp_plugin.email_not_blank']),
new Email(['message' => 'bitbag_sylius_mailchimp_plugin.invalid_email']),
new NotBlank(['message' => 'bitbag_sylius_mailchimp_plugin.email_not_blank']),
new UniqueNewsletterEmail(),
]);

Expand Down
2 changes: 1 addition & 1 deletion tests/Application/app/AppKernel.php
Expand Up @@ -17,7 +17,7 @@ public function registerBundles()
new \FOS\OAuthServerBundle\FOSOAuthServerBundle(), // Required by SyliusApiBundle
new \Sylius\Bundle\AdminApiBundle\SyliusAdminApiBundle(),

new \BitBag\MailChimpPlugin\MailChimpPlugin(),
new \BitBag\SyliusMailChimpPlugin\BitBagSyliusMailChimpPlugin(),
]);
}

Expand Down
Expand Up @@ -25,7 +25,7 @@
style="color: #1abb9c;">Sylius</a>.</p>
</div>
<div class="eight wide column">
<h4 class="ui inverted header">&copy; {{ 'bitbag.mailchimp_plugin.newsletter'|trans }}</h4>
<h4 class="ui inverted header">&copy; {{ 'bitbag_sylius_mailchimp_plugin.ui.newsletter'|trans }}</h4>
{% include '@MailChimpPlugin/_subscribe.html.twig' %}
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion tests/Behat/Context/Ui/Shop/MailChimpContext.php
@@ -1,6 +1,6 @@
<?php

namespace Tests\BitBag\MailChimpPlugin\Behat\Context\Ui\Shop;
namespace Tests\BitBag\SyliusMailChimpPlugin\Behat\Context\Ui\Shop;

use Behat\Behat\Context\Context;
use DrewM\MailChimp\MailChimp;
Expand Down
6 changes: 3 additions & 3 deletions tests/Behat/Context/Ui/Shop/NewsletterContext.php
@@ -1,6 +1,6 @@
<?php

namespace Tests\BitBag\MailChimpPlugin\Behat\Context\Ui\Shop;
namespace Tests\BitBag\SyliusMailChimpPlugin\Behat\Context\Ui\Shop;

use Behat\Behat\Context\Context;
use Doctrine\ORM\EntityManagerInterface;
Expand All @@ -9,8 +9,8 @@
use Sylius\Component\Core\Repository\CustomerRepositoryInterface;
use Sylius\Component\Resource\Factory\FactoryInterface;
use Sylius\Component\Resource\Model\ResourceInterface;
use Tests\BitBag\MailChimpPlugin\Behat\Page\Shop\NewsletterPageInterface;
use Tests\BitBag\MailChimpPlugin\Behat\Page\Shop\ProfileUpdatePageInterface;
use Tests\BitBag\SyliusMailChimpPlugin\Behat\Page\Shop\NewsletterPageInterface;
use Tests\BitBag\SyliusMailChimpPlugin\Behat\Page\Shop\ProfileUpdatePageInterface;
use Webmozart\Assert\Assert;

final class NewsletterContext implements Context
Expand Down

0 comments on commit 161994a

Please sign in to comment.