Skip to content

Commit 18fcbe5

Browse files
authored
Refactoring: Rename "Newsletter" to "Category" (Case 212902) (#31)
Renames the conept "Newsletter" to "Category" (including all derived terms, like "NewsletterRepository" => "CategoryRepository" etc.). The entity was named "Newsletter" because the client for whom it was developed did indeed offer various "Newsletters", each with a in individual name. We do the rename in order to reserve the name "Newsletter" for the content that is sent out. Fixes #30
1 parent 5f70cbf commit 18fcbe5

39 files changed

Lines changed: 287 additions & 287 deletions

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ In either case, configure Doctrine's interface mapping to deal with your custom
6262
doctrine:
6363
orm:
6464
resolve_target_entities:
65-
\Webfactory\NewsletterRegistrationBundle\Entity\NewsletterInterface: '\AppBundle\Newsletter\Entity\Newsletter'
65+
\Webfactory\NewsletterRegistrationBundle\Entity\CategoryInterface: '\AppBundle\Newsletter\Entity\Category'
6666
```
6767
6868
Side node: The templates and example above assume that you want to keep your Newsletter classes inside a Newsletter
@@ -116,15 +116,15 @@ implementations:
116116
# src/services.yml
117117
118118
services:
119-
AppBundle\Newsletter\Entity\NewsletterRepository:
119+
AppBundle\Newsletter\Entity\CategoryRepository:
120120
factory:
121121
- '@doctrine.orm.entity_manager'
122122
- 'getRepository'
123123
arguments:
124-
- 'AppBundle\Newsletter\Entity\Newsletter'
124+
- 'AppBundle\Newsletter\Entity\Category'
125125
126-
Webfactory\NewsletterRegistrationBundle\Entity\NewsletterRepositoryInterface:
127-
alias: 'AppBundle\Newsletter\Entity\NewsletterRepository'
126+
Webfactory\NewsletterRegistrationBundle\Entity\CategoryRepositoryInterface:
127+
alias: 'AppBundle\Newsletter\Entity\CategoryRepository'
128128
129129
AppBundle\Newsletter\Entity\PendingOptInRepository:
130130
factory:
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace AppBundle\Newsletter\Entity;
4+
5+
use Doctrine\ORM\Mapping as ORM;
6+
7+
#[ORM\Entity(repositoryClass: CategoryRepository::class)]
8+
#[ORM\Table(name: 'wfd_newsletterCategory')]
9+
class Category extends \Webfactory\NewsletterRegistrationBundle\Entity\Category
10+
{
11+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
namespace AppBundle\Newsletter\Entity;
4+
5+
class CategoryRepository extends \Webfactory\NewsletterRegistrationBundle\Entity\CategoryRepository
6+
{
7+
}

Resources/app-class-templates/Newsletter.php

Lines changed: 0 additions & 11 deletions
This file was deleted.

Resources/app-class-templates/NewsletterRepository.php

Lines changed: 0 additions & 7 deletions
This file was deleted.

Resources/translations/webfactory-newsletter-registration+intl-icu.de.xlf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
<source>edit.registration.updated</source>
2626
<target>Ihre Registrierung wurde aktualisiert.</target>
2727
</trans-unit>
28-
<trans-unit id="AGtLjHG" resname="edit.registration.updated.no.newsletters.chosen">
29-
<source>edit.registration.updated.no.newsletters.chosen</source>
28+
<trans-unit id="AGtLjHG" resname="edit.registration.updated.no.categories.chosen">
29+
<source>edit.registration.updated.no.categories.chosen</source>
3030
<target>Ihre Newsletter-Abos wurden gelöscht, aber Ihre Registrierungsdaten sind (wie Ihre Email-Adresse) sind weitertin in unserer Datenbank gespeichert. Wenn Sie diese auch löschen möchten, nutzen Sie bitte den untenstehende Knopf.</target>
3131
</trans-unit>
3232
<trans-unit id="T83i0qx" resname="delete.registration.success">

Resources/translations/webfactory-newsletter-registration+intl-icu.en.xlf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
<source>edit.registration.updated</source>
2626
<target>Your newsletter registration was updated.</target>
2727
</trans-unit>
28-
<trans-unit id="AGtLjHG" resname="edit.registration.updated.no.newsletters.chosen">
29-
<source>edit.registration.updated.no.newsletters.chosen</source>
28+
<trans-unit id="AGtLjHG" resname="edit.registration.updated.no.categories.chosen">
29+
<source>edit.registration.updated.no.categories.chosen</source>
3030
<target>All your newsletter subscriptions have been deleted, but your registration data (like your email address) is still saved in our database. If you would like to delete that data too, please delete your registration with the button below.</target>
3131
</trans-unit>
3232
<trans-unit id="T83i0qx" resname="delete.registration.success">

src/Controller.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,9 +169,9 @@ public function editRegistration(string $uuid, Request $request, FlashBagAwareSe
169169

170170
if ($editForm->isSubmitted() && $editForm->isValid()) {
171171
$this->editRegistrationTask->editRegistration($recipient);
172-
$messageKey = \count($recipient->getNewsletters()) > 0
172+
$messageKey = \count($recipient->getCategories()) > 0
173173
? 'edit.registration.updated'
174-
: 'edit.registration.updated.no.newsletters.chosen';
174+
: 'edit.registration.updated.no.categories.chosen';
175175
$session->getFlashBag()->add(
176176
'success',
177177
$this->translator->trans($messageKey, [], 'webfactory-newsletter-registration')

src/DependencyInjection/services.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ services:
1616

1717
Webfactory\NewsletterRegistrationBundle\StartRegistration\Type:
1818
arguments:
19-
- '@Webfactory\NewsletterRegistrationBundle\Entity\NewsletterRepositoryInterface'
19+
- '@Webfactory\NewsletterRegistrationBundle\Entity\CategoryRepositoryInterface'
2020
- '@Webfactory\NewsletterRegistrationBundle\Entity\PendingOptInFactory'
2121
tags: ['form.type']
2222

@@ -44,7 +44,7 @@ services:
4444

4545
Webfactory\NewsletterRegistrationBundle\EditRegistration\Type:
4646
arguments:
47-
- '@Webfactory\NewsletterRegistrationBundle\Entity\NewsletterRepositoryInterface'
47+
- '@Webfactory\NewsletterRegistrationBundle\Entity\CategoryRepositoryInterface'
4848
tags: ['form.type']
4949

5050
Webfactory\NewsletterRegistrationBundle\DeleteRegistration\Type:

src/EditRegistration/Type.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,25 @@
55
use Symfony\Component\Form\AbstractType;
66
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
77
use Symfony\Component\Form\FormBuilderInterface;
8-
use Webfactory\NewsletterRegistrationBundle\Entity\NewsletterRepositoryInterface;
8+
use Webfactory\NewsletterRegistrationBundle\Entity\CategoryRepositoryInterface;
99

1010
class Type extends AbstractType
1111
{
12-
use TypeHasNewslettersElementTrait;
12+
use TypeHasCategoriesElementTrait;
1313

14-
public const ELEMENT_NEWSLETTERS = 'newsletters';
14+
public const ELEMENT_CATEGORIES = 'categories';
1515

16-
public function __construct(NewsletterRepositoryInterface $newsletterRepository)
16+
public function __construct(CategoryRepositoryInterface $categoryRepository)
1717
{
18-
$this->newsletterRepository = $newsletterRepository;
18+
$this->categoryRepository = $categoryRepository;
1919
}
2020

2121
public function buildForm(FormBuilderInterface $builder, array $options): void
2222
{
23-
$this->addNewslettersElementToForm($builder, false);
23+
$this->addCategoriesElementToForm($builder, false);
2424

25-
// We need at least one element in addition to the newsletters above, so that Symfony recognizes the form being
26-
// submitted even if no newsletters where chosen.
25+
// We need at least one element in addition to the categories above, so that Symfony recognizes the form being
26+
// submitted even if no categories where chosen.
2727
$builder->add('hidden', HiddenType::class, ['mapped' => false]);
2828
}
2929
}

0 commit comments

Comments
 (0)