New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make modules act like Symfony Bundles #8342

Merged
merged 3 commits into from Nov 6, 2017

Conversation

Projects
None yet
7 participants
@mickaelandrieu
Contributor

mickaelandrieu commented Sep 18, 2017

Questions Answers
Branch? develop
Description? From a module you can now override a new page template and declare your own Symfony parameters and services! You also have access to Symfony services inside modules used in "Symfony" context like twig, doctrine, logger or all services used by the Core.
Type? new feature
Category? CO
BC breaks? no
Deprecations? no
Fixed ticket? a lot
How to test? creates modules/{moduleName}/config/services.yml && creates modules/{moduleName}/views/PrestaShop/{path/to/your/twig/template}in a module, like in this test module provided for free :p. Docs => https://gist.github.com/mickaelandrieu/4a02ea05bb1113718aec5432ad418ee5 && https://gist.github.com/mickaelandrieu/ea6d199e3bdd2044de3e29288d4c0b32

This change is Reviewable

Next feature to come: be able to create your own modern pages using Symfony, Twig and PrestaShop UI Kit.

@@ -53,7 +53,7 @@ class CommonController extends FrameworkBundleAdminController
* {% render controller('PrestaShopBundle\\Controller\\Admin\\CommonController::paginationAction',
* {'limit': limit, 'offset': offset, 'total': product_count, 'caller_parameters': pagination_parameters}) %}
*
* @Template
* @Template("@PrestaShop/Admin/Common/pagination.html.twig")

This comment has been minimized.

@mickaelandrieu

mickaelandrieu Sep 18, 2017

Contributor

We can only override templates using "arobased" notation. This notation is the recommended one in Symfony best practices docs.

@mickaelandrieu

mickaelandrieu Sep 18, 2017

Contributor

We can only override templates using "arobased" notation. This notation is the recommended one in Symfony best practices docs.

This comment has been minimized.

@Haehnchen

Haehnchen Sep 18, 2017

no you are able to overwrite all templates, but if you are allowed for breaking changes just do it in favor of best practices

@Haehnchen

Haehnchen Sep 18, 2017

no you are able to overwrite all templates, but if you are allowed for breaking changes just do it in favor of best practices

This comment has been minimized.

@mickaelandrieu

mickaelandrieu Sep 19, 2017

Contributor

Hello Daniel, I've tried with the alternative syntax and it doesn't work Twig is unable to find the overriden template.

@mickaelandrieu

mickaelandrieu Sep 19, 2017

Contributor

Hello Daniel, I've tried with the alternative syntax and it doesn't work Twig is unable to find the overriden template.

This comment has been minimized.

@Haehnchen

Haehnchen Sep 19, 2017

for a clean overwrite you should implemented some some custom Twig loader / resolver as mentioned before about the activeModules.

another solution would be to load active without container access. its also done by Shopware https://github.com/shopware/shopware/blob/5.3/engine/Shopware/Kernel.php#L452

@Haehnchen

Haehnchen Sep 19, 2017

for a clean overwrite you should implemented some some custom Twig loader / resolver as mentioned before about the activeModules.

another solution would be to load active without container access. its also done by Shopware https://github.com/shopware/shopware/blob/5.3/engine/Shopware/Kernel.php#L452

This comment has been minimized.

@mickaelandrieu

mickaelandrieu Sep 19, 2017

Contributor

Yes, for the templates I'm good thanks to a custom Twig loader as you suggested (thanks again). I'm looking at Shopware code :)

edit: what do you think @Quetzacoalt91?

@mickaelandrieu

mickaelandrieu Sep 19, 2017

Contributor

Yes, for the templates I'm good thanks to a custom Twig loader as you suggested (thanks again). I'm looking at Shopware code :)

edit: what do you think @Quetzacoalt91?

@PrestaShop PrestaShop deleted a comment from codacy-bot Sep 18, 2017

@eternoendless eternoendless changed the title from CO: Make modules acts like a Symfony Bundle to Make modules act like a Symfony Bundle Sep 18, 2017

@mickaelandrieu mickaelandrieu changed the title from Make modules act like a Symfony Bundle to [WIP] Make modules act like a Symfony Bundle Sep 18, 2017

@PrestaShop PrestaShop deleted a comment from codacy-bot Sep 18, 2017

@mickaelandrieu mickaelandrieu changed the title from [WIP] Make modules act like a Symfony Bundle to [WIP] Make modules act like Symfony Bundles Sep 18, 2017

@mickaelandrieu mickaelandrieu changed the title from [WIP] Make modules act like Symfony Bundles to Make modules act like Symfony Bundles Sep 18, 2017

@kpodemski

This comment has been minimized.

Show comment
Hide comment
@kpodemski

kpodemski Sep 19, 2017

Contributor

Interesting. Test module doesn't work tho

Contributor

kpodemski commented Sep 19, 2017

Interesting. Test module doesn't work tho

@mickaelandrieu

This comment has been minimized.

Show comment
Hide comment
@mickaelandrieu

mickaelandrieu Sep 19, 2017

Contributor

@kpodemski the link should be good now, the old module have been put in private because... it's a surprise 👍

Contributor

mickaelandrieu commented Sep 19, 2017

@kpodemski the link should be good now, the old module have been put in private because... it's a surprise 👍

@mickaelandrieu mickaelandrieu changed the title from Make modules act like Symfony Bundles to [WIP] Make modules act like Symfony Bundles Sep 19, 2017

@mickaelandrieu mickaelandrieu changed the title from [WIP] Make modules act like Symfony Bundles to Make modules act like Symfony Bundles Sep 19, 2017

@mickaelandrieu mickaelandrieu changed the title from Make modules act like Symfony Bundles to [WIP] Make modules act like Symfony Bundles Sep 19, 2017

@mickaelandrieu mickaelandrieu changed the title from [WIP] Make modules act like Symfony Bundles to Make modules act like Symfony Bundles Sep 19, 2017

@PrestaShop PrestaShop deleted a comment from codacy-bot Sep 19, 2017

@PrestaShop PrestaShop deleted a comment from codacy-bot Sep 20, 2017

@mickaelandrieu mickaelandrieu referenced this pull request Sep 20, 2017

Merged

Migrate Performance page to Symfony #8279

13 of 13 tasks complete

@PrestaShop PrestaShop deleted a comment from codacy-bot Sep 21, 2017

@PrestaShop PrestaShop deleted a comment from codacy-bot Sep 21, 2017

@PrestaShop PrestaShop deleted a comment from codacy-bot Sep 21, 2017

@PrestaShop PrestaShop deleted a comment from codacy-bot Sep 21, 2017

@mickaelandrieu mickaelandrieu reopened this Oct 9, 2017

@eternoendless

This comment has been minimized.

Show comment
Hide comment
@eternoendless

eternoendless Oct 12, 2017

Member

:lgtm:


Reviewed 3 of 3 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.


Comments from Reviewable

Member

eternoendless commented Oct 12, 2017

:lgtm:


Reviewed 3 of 3 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.


Comments from Reviewable

@kpodemski

This comment has been minimized.

Show comment
Hide comment
@kpodemski

kpodemski Oct 12, 2017

Contributor

@eternoendless i hope that you guys will document this feature addition ;-)

Contributor

kpodemski commented Oct 12, 2017

@eternoendless i hope that you guys will document this feature addition ;-)

@Quetzacoalt91

This comment has been minimized.

Show comment
Hide comment
@Quetzacoalt91

Quetzacoalt91 Oct 12, 2017

Member

We hope so too, as we may need to use that feature internally. ;)

Member

Quetzacoalt91 commented Oct 12, 2017

We hope so too, as we may need to use that feature internally. ;)

@mickaelandrieu

This comment has been minimized.

Show comment
Hide comment
@mickaelandrieu

mickaelandrieu Oct 24, 2017

Contributor

Docs are here, test module is here, feature is rebased from origin/develop :)

Contributor

mickaelandrieu commented Oct 24, 2017

Docs are here, test module is here, feature is rebased from origin/develop :)

@kpodemski

This comment has been minimized.

Show comment
Hide comment
@kpodemski

kpodemski Nov 3, 2017

Contributor

Only the milestone is wrong, there should be 1.7.3 lol :)

Contributor

kpodemski commented Nov 3, 2017

Only the milestone is wrong, there should be 1.7.3 lol :)

@LittleBigDev

This comment has been minimized.

Show comment
Hide comment
@LittleBigDev

LittleBigDev Nov 6, 2017

Contributor

Reviewed 14 of 21 files at r1, 8 of 8 files at r3.
Review status: all files reviewed at latest revision, 8 unresolved discussions.


app/AppKernel.php, line 86 at r3 (raw file):

                $activeModules = $this->getActiveModules();
            } catch (\Exception $e) {}
        }

I would extract this block as a getActiveModulesParameter() method returning an array (empty or not). What do you think ?


app/AppKernel.php, line 111 at r3 (raw file):

        $databasePrefix = $this->getParameters()['database_prefix'];

        $modulesRepository = new ModuleRepository(

No issue with this dependency (testing, etc.) ?


app/AppKernel.php, line 124 at r3 (raw file):

    private function getParameters()
    {
        $parametersFile = $this->getRootDir().'/config/parameters.php';

I would either set it as configurable, constant value or new method for better visibility. What do you think ?


app/AppKernel.php, line 137 at r3 (raw file):

     * @var bool
     */
    private function isParametersFile()

I'm not convinced by the method name. The call $this->isParametersFile() makes me expect another kind of checks. You are actually checking if "a" parameter files exists.
Maybe rename this method according to this ? Maybe checkIfParametersFilsExists() (or something shorter but equivalent)...


app/AppKernel.php, line 139 at r3 (raw file):

    private function isParametersFile()
    {
        $parametersFile = $this->getRootDir().'/config/parameters.php';

I would either set it as configurable, constant value or new method for better visibility. What do you think ?


src/Core/Addon/Module/ModuleRepository.php, line 551 at r3 (raw file):

    {
        $paths = array();
        $modulesFiles = Finder::create()->directories()->in(__DIR__.'/../../../../modules')->depth(0);

No other way to get the correct path ? :O


src/PrestaShopBundle/DependencyInjection/Compiler/LoadServicesFromModulesPass.php, line 60 at r3 (raw file):

        foreach ($this->getModulesPaths() as $modulePath) {
            if (in_array($modulePath->getFilename(), $installedModules)) {
                if (file_exists($modulePath.'/config/services.yml')) {

why not if (XX && YY) ?


src/PrestaShopBundle/Kernel/ModuleRepository.php, line 51 at r3 (raw file):

    {
        $this->connection = $connection;
        $this->databaseName = $databasePrefix.'module';

Did you mean tableName ?


Comments from Reviewable

Contributor

LittleBigDev commented Nov 6, 2017

Reviewed 14 of 21 files at r1, 8 of 8 files at r3.
Review status: all files reviewed at latest revision, 8 unresolved discussions.


app/AppKernel.php, line 86 at r3 (raw file):

                $activeModules = $this->getActiveModules();
            } catch (\Exception $e) {}
        }

I would extract this block as a getActiveModulesParameter() method returning an array (empty or not). What do you think ?


app/AppKernel.php, line 111 at r3 (raw file):

        $databasePrefix = $this->getParameters()['database_prefix'];

        $modulesRepository = new ModuleRepository(

No issue with this dependency (testing, etc.) ?


app/AppKernel.php, line 124 at r3 (raw file):

    private function getParameters()
    {
        $parametersFile = $this->getRootDir().'/config/parameters.php';

I would either set it as configurable, constant value or new method for better visibility. What do you think ?


app/AppKernel.php, line 137 at r3 (raw file):

     * @var bool
     */
    private function isParametersFile()

I'm not convinced by the method name. The call $this->isParametersFile() makes me expect another kind of checks. You are actually checking if "a" parameter files exists.
Maybe rename this method according to this ? Maybe checkIfParametersFilsExists() (or something shorter but equivalent)...


app/AppKernel.php, line 139 at r3 (raw file):

    private function isParametersFile()
    {
        $parametersFile = $this->getRootDir().'/config/parameters.php';

I would either set it as configurable, constant value or new method for better visibility. What do you think ?


src/Core/Addon/Module/ModuleRepository.php, line 551 at r3 (raw file):

    {
        $paths = array();
        $modulesFiles = Finder::create()->directories()->in(__DIR__.'/../../../../modules')->depth(0);

No other way to get the correct path ? :O


src/PrestaShopBundle/DependencyInjection/Compiler/LoadServicesFromModulesPass.php, line 60 at r3 (raw file):

        foreach ($this->getModulesPaths() as $modulePath) {
            if (in_array($modulePath->getFilename(), $installedModules)) {
                if (file_exists($modulePath.'/config/services.yml')) {

why not if (XX && YY) ?


src/PrestaShopBundle/Kernel/ModuleRepository.php, line 51 at r3 (raw file):

    {
        $this->connection = $connection;
        $this->databaseName = $databasePrefix.'module';

Did you mean tableName ?


Comments from Reviewable

@LittleBigDev

Thanks for this great PR !
Please see my review comments above.

@mickaelandrieu

This comment has been minimized.

Show comment
Hide comment
@mickaelandrieu

mickaelandrieu Nov 6, 2017

Contributor

This is not ready, sadly :) but thanks for your support 🍭


Review status: all files reviewed at latest revision, 8 unresolved discussions.


Comments from Reviewable

Contributor

mickaelandrieu commented Nov 6, 2017

This is not ready, sadly :) but thanks for your support 🍭


Review status: all files reviewed at latest revision, 8 unresolved discussions.


Comments from Reviewable

@mickaelandrieu

This comment has been minimized.

Show comment
Hide comment
@mickaelandrieu

mickaelandrieu Nov 6, 2017

Contributor

Review status: all files reviewed at latest revision, 8 unresolved discussions.


app/AppKernel.php, line 111 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

No issue with this dependency (testing, etc.) ?

I cannot use the Container of services in this context because... Symfony app is not booted at this moment :) So I have to build my objects myself, as in old days...


app/AppKernel.php, line 124 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

I would either set it as configurable, constant value or new method for better visibility. What do you think ?

I see no direct value of making this path configurable: do you have a use case in mind?


app/AppKernel.php, line 137 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

I'm not convinced by the method name. The call $this->isParametersFile() makes me expect another kind of checks. You are actually checking if "a" parameter files exists.
Maybe rename this method according to this ? Maybe checkIfParametersFilsExists() (or something shorter but equivalent)...

agree on renaming this in parametersFileExists, easy to read: if($this->parametersFileExists)


app/AppKernel.php, line 139 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

I would either set it as configurable, constant value or new method for better visibility. What do you think ?

agree only if you have a relavant use case: I don't expect AppKernel to be overriden by developers, this mostly never happens in Symfony apps, I don't think PrestaShop developers will need to change the path. More, if theu change this path this will probably break the application because I think this path is hardcoded in some parts of PrestaShop.


src/Core/Addon/Module/ModuleRepository.php, line 551 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

No other way to get the correct path ? :O

without introduce a dependency? no. I don't want to rely on PrestaShop constants here, cause we can't be sure PrestaShop "kernel" is booted at this moment.


src/PrestaShopBundle/DependencyInjection/Compiler/LoadServicesFromModulesPass.php, line 60 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

why not if (XX && YY) ?

you're right 👍


src/PrestaShopBundle/Kernel/ModuleRepository.php, line 51 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

Did you mean tableName ?

indeed 👍


Comments from Reviewable

Contributor

mickaelandrieu commented Nov 6, 2017

Review status: all files reviewed at latest revision, 8 unresolved discussions.


app/AppKernel.php, line 111 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

No issue with this dependency (testing, etc.) ?

I cannot use the Container of services in this context because... Symfony app is not booted at this moment :) So I have to build my objects myself, as in old days...


app/AppKernel.php, line 124 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

I would either set it as configurable, constant value or new method for better visibility. What do you think ?

I see no direct value of making this path configurable: do you have a use case in mind?


app/AppKernel.php, line 137 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

I'm not convinced by the method name. The call $this->isParametersFile() makes me expect another kind of checks. You are actually checking if "a" parameter files exists.
Maybe rename this method according to this ? Maybe checkIfParametersFilsExists() (or something shorter but equivalent)...

agree on renaming this in parametersFileExists, easy to read: if($this->parametersFileExists)


app/AppKernel.php, line 139 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

I would either set it as configurable, constant value or new method for better visibility. What do you think ?

agree only if you have a relavant use case: I don't expect AppKernel to be overriden by developers, this mostly never happens in Symfony apps, I don't think PrestaShop developers will need to change the path. More, if theu change this path this will probably break the application because I think this path is hardcoded in some parts of PrestaShop.


src/Core/Addon/Module/ModuleRepository.php, line 551 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

No other way to get the correct path ? :O

without introduce a dependency? no. I don't want to rely on PrestaShop constants here, cause we can't be sure PrestaShop "kernel" is booted at this moment.


src/PrestaShopBundle/DependencyInjection/Compiler/LoadServicesFromModulesPass.php, line 60 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

why not if (XX && YY) ?

you're right 👍


src/PrestaShopBundle/Kernel/ModuleRepository.php, line 51 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

Did you mean tableName ?

indeed 👍


Comments from Reviewable

@mickaelandrieu

This comment has been minimized.

Show comment
Hide comment
@mickaelandrieu

mickaelandrieu Nov 6, 2017

Contributor

Review status: all files reviewed at latest revision, 8 unresolved discussions.


app/AppKernel.php, line 86 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

I would extract this block as a getActiveModulesParameter() method returning an array (empty or not). What do you think ?

As I don't see any use case validating a reuse, and as it is readable: I'd say "not yet"? :)


Comments from Reviewable

Contributor

mickaelandrieu commented Nov 6, 2017

Review status: all files reviewed at latest revision, 8 unresolved discussions.


app/AppKernel.php, line 86 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

I would extract this block as a getActiveModulesParameter() method returning an array (empty or not). What do you think ?

As I don't see any use case validating a reuse, and as it is readable: I'd say "not yet"? :)


Comments from Reviewable

@LittleBigDev

This comment has been minimized.

Show comment
Hide comment
@LittleBigDev

LittleBigDev Nov 6, 2017

Contributor

Reviewed 2 of 2 files at r4, 1 of 1 files at r5.
Review status: all files reviewed at latest revision, 5 unresolved discussions.


app/AppKernel.php, line 86 at r3 (raw file):

Previously, mickaelandrieu (Mickaël Andrieu) wrote…

As I don't see any use case validating a reuse, and as it is readable: I'd say "not yet"? :)

It's about single responsibility and maintainability. Atomic methods save so much brain bandwidth...


app/AppKernel.php, line 124 at r3 (raw file):

Previously, mickaelandrieu (Mickaël Andrieu) wrote…

I see no direct value of making this path configurable: do you have a use case in mind?

Just throwing ideas. First reason is I don't like magic values. Second on is I saw this call twice in this class.


app/AppKernel.php, line 139 at r3 (raw file):

Previously, mickaelandrieu (Mickaël Andrieu) wrote…

agree only if you have a relavant use case: I don't expect AppKernel to be overriden by developers, this mostly never happens in Symfony apps, I don't think PrestaShop developers will need to change the path. More, if theu change this path this will probably break the application because I think this path is hardcoded in some parts of PrestaShop.

See comment above. Besides my personal taste (about hard coded values), I suggest keeping it DRY.
But eventually, I'll respect the way you chose to implement it.


app/AppKernel.php, line 138 at r4 (raw file):

     * @var bool
     */
    private function isParametersFileExists()

-"is"


src/Core/Addon/Module/ModuleRepository.php, line 551 at r3 (raw file):

Previously, mickaelandrieu (Mickaël Andrieu) wrote…

without introduce a dependency? no. I don't want to rely on PrestaShop constants here, cause we can't be sure PrestaShop "kernel" is booted at this moment.

If it's 100% sure ModuleRepository.php won't move from here, I'm ok with this.


Comments from Reviewable

Contributor

LittleBigDev commented Nov 6, 2017

Reviewed 2 of 2 files at r4, 1 of 1 files at r5.
Review status: all files reviewed at latest revision, 5 unresolved discussions.


app/AppKernel.php, line 86 at r3 (raw file):

Previously, mickaelandrieu (Mickaël Andrieu) wrote…

As I don't see any use case validating a reuse, and as it is readable: I'd say "not yet"? :)

It's about single responsibility and maintainability. Atomic methods save so much brain bandwidth...


app/AppKernel.php, line 124 at r3 (raw file):

Previously, mickaelandrieu (Mickaël Andrieu) wrote…

I see no direct value of making this path configurable: do you have a use case in mind?

Just throwing ideas. First reason is I don't like magic values. Second on is I saw this call twice in this class.


app/AppKernel.php, line 139 at r3 (raw file):

Previously, mickaelandrieu (Mickaël Andrieu) wrote…

agree only if you have a relavant use case: I don't expect AppKernel to be overriden by developers, this mostly never happens in Symfony apps, I don't think PrestaShop developers will need to change the path. More, if theu change this path this will probably break the application because I think this path is hardcoded in some parts of PrestaShop.

See comment above. Besides my personal taste (about hard coded values), I suggest keeping it DRY.
But eventually, I'll respect the way you chose to implement it.


app/AppKernel.php, line 138 at r4 (raw file):

     * @var bool
     */
    private function isParametersFileExists()

-"is"


src/Core/Addon/Module/ModuleRepository.php, line 551 at r3 (raw file):

Previously, mickaelandrieu (Mickaël Andrieu) wrote…

without introduce a dependency? no. I don't want to rely on PrestaShop constants here, cause we can't be sure PrestaShop "kernel" is booted at this moment.

If it's 100% sure ModuleRepository.php won't move from here, I'm ok with this.


Comments from Reviewable

@mickaelandrieu

This comment has been minimized.

Show comment
Hide comment
@mickaelandrieu

mickaelandrieu Nov 6, 2017

Contributor

Review status: 22 of 23 files reviewed at latest revision, 5 unresolved discussions.


src/Core/Addon/Module/ModuleRepository.php, line 551 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

If it's 100% sure ModuleRepository.php won't move from here, I'm ok with this.

not only it wont supposed to change, but the class is "final" so no one can't override/extend it.


Comments from Reviewable

Contributor

mickaelandrieu commented Nov 6, 2017

Review status: 22 of 23 files reviewed at latest revision, 5 unresolved discussions.


src/Core/Addon/Module/ModuleRepository.php, line 551 at r3 (raw file):

Previously, LittleBigDev (Bastien Bieri) wrote…

If it's 100% sure ModuleRepository.php won't move from here, I'm ok with this.

not only it wont supposed to change, but the class is "final" so no one can't override/extend it.


Comments from Reviewable

@LittleBigDev

This comment has been minimized.

Show comment
Hide comment
@LittleBigDev

LittleBigDev Nov 6, 2017

Contributor

:lgtm:


Reviewed 1 of 1 files at r6.
Review status: all files reviewed at latest revision, all discussions resolved.


Comments from Reviewable

Contributor

LittleBigDev commented Nov 6, 2017

:lgtm:


Reviewed 1 of 1 files at r6.
Review status: all files reviewed at latest revision, all discussions resolved.


Comments from Reviewable

@mickaelandrieu mickaelandrieu reopened this Nov 6, 2017

@toutantic toutantic merged commit 4efccba into PrestaShop:develop Nov 6, 2017

2 checks passed

code-review/reviewable 23 files reviewed
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@mickaelandrieu mickaelandrieu modified the milestones: 1.7.4.0, 1.7.3.0 Nov 6, 2017

@mickaelandrieu mickaelandrieu deleted the mickaelandrieu:bogoss/module-as-bundle branch Mar 21, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment