Skip to content

Commit

Permalink
Cleaning up the package
Browse files Browse the repository at this point in the history
  • Loading branch information
mamazu committed Jul 16, 2024
1 parent f1c8352 commit 1a17196
Show file tree
Hide file tree
Showing 22 changed files with 98 additions and 58 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
/vendor/
/.gitignore
/composer.lock
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This package adds makers for Sulu Configurations (eg. list or form XML) but can
## How to install
Installing it with composer is very easy:
```bash
composer require --dev mamazu/sulu-maker
composer require --dev friendsofsulu/maker-bundle
```

## How to use
Expand Down
14 changes: 7 additions & 7 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
{
"name": "mamazu/sulu-maker",
"description": "Package to generate configuration in Sulu",
"name": "friendsofsulu/maker-bundle",
"description": "Package to generate configuration and boilerplate code in Sulu",
"type": "library",
"require": {
"php": ">=8.0",
"symfony/maker-bundle": "^v1.48.0",
"symfony/maker-bundle": "^v1.60.0",
"webmozart/assert": "^1.11.0",
"myclabs/php-enum": "^1.8.4"
},
"require-dev": {
"phpunit/phpunit": "^9.6.3",
"phpstan/phpstan": "^1.9.17",
"phpstan/phpstan-webmozart-assert": "^1.2.2",
"phpunit/phpunit": "^9.6.20",
"phpstan/phpstan": "^1.11.7",
"phpstan/phpstan-webmozart-assert": "^1.2.7"
},
"license": "MIT",
"autoload": {
"psr-4": {
"Mamazu\\SuluMaker\\": "src/"
"FriendsOfSulu\\MakerBundle\\": "src/"
}
},
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion src/DependencyInjection/SuluMakerExtension.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Mamazu\SuluMaker\DependencyInjection;
namespace FriendsOfSulu\MakerBundle\DependencyInjection;

use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
Expand Down
2 changes: 1 addition & 1 deletion src/Enums/Visibility.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Mamazu\SuluMaker\Enums;
namespace FriendsOfSulu\MakerBundle\Enums;

use MyCLabs\Enum\Enum;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Mamazu\SuluMaker\AdminConfiguration;
namespace FriendsOfSulu\MakerBundle\Maker\AdminConfigurationMaker;

class AdminGeneratorSettings
{
Expand All @@ -10,6 +10,8 @@ class AdminGeneratorSettings

public bool $shouldHaveAddForm = true;

public bool $shouldHaveReferences = true;

public string $slug;

public string $formKey;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?php

namespace Mamazu\SuluMaker\AdminConfiguration;
namespace FriendsOfSulu\MakerBundle\Maker\AdminConfigurationMaker;

use Mamazu\SuluMaker\Utils\ConsoleHelperTrait;
use Mamazu\SuluMaker\Utils\NameGenerators\ResourceKeyExtractor;
use Mamazu\SuluMaker\Utils\NameGenerators\UniqueNameGenerator;
use FriendsOfSulu\MakerBundle\Utils\ConsoleHelperTrait;
use FriendsOfSulu\MakerBundle\Utils\NameGenerators\ResourceKeyExtractor;
use FriendsOfSulu\MakerBundle\Utils\NameGenerators\UniqueNameGenerator;
use ReflectionClass;
use Symfony\Bundle\MakerBundle\ConsoleStyle;
use Symfony\Bundle\MakerBundle\DependencyBuilder;
Expand Down Expand Up @@ -87,6 +87,11 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen

$settings->shouldAddMenuItem = $io->confirm('Do you want to have a menu entry?');
$settings->shouldHaveEditForm = $io->confirm('Do you want to have an edit form?');
$settings->shouldHaveReferences = $io->confirm('Do you want to have an a references tab?');

if ($settings->shouldHaveReferences) {
$useStatements->addUseStatement('Sulu\Bundle\ReferenceBundle\Infrastructure\Sulu\Admin\View\ReferenceViewBuilderFactoryInterface');
}

$slug = $this->askString($io, 'Enter the API slug', '/'.$resourceKey);
$settings->slug = '/'.ltrim($slug, '/');
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?php
/** @var Mamazu\SuluMaker\AdminConfiguration\AdminGeneratorSettings $settings */
/** @var FriendsOfSulu\MakerBundle\Maker\AdminConfigurationMaker\AdminGeneratorSettings $settings */
/** @var string $resourceKey */
/** @var string $namespace */
/** @var string $class_name */
Expand Down Expand Up @@ -31,6 +31,9 @@ class <?= $class_name ?> extends Admin
public function __construct(
private SecurityCheckerInterface $securityChecker,
private ViewBuilderFactoryInterface $viewBuilderFactory
<?php if ($settings->shouldHaveReferences) { ?>
private ReferenceViewBuilderFactoryInterface $referenceViewBuilderFactory,
<?php } ?>
) {}

<?php if ($settings->shouldAddMenuItem) { ?>
Expand All @@ -41,7 +44,6 @@ public function configureNavigationItems(NavigationItemCollection $navigationIte
}

$menuItem = new NavigationItem('app.menu.<?= $resourceKey ?>');
$menuItem->setPosition(30);
$menuItem->setView(static::LIST_VIEW);

$navigationItemCollection->get(Admin::SETTINGS_NAVIGATION_ITEM)->addChild($menuItem);
Expand Down Expand Up @@ -116,6 +118,32 @@ public function configureViews(ViewCollection $viewCollection): void
->setParent(static::EDIT_FORM_VIEW)
);
<?php } ?>

<?php if ($settings->shouldHaveReferences) { ?>
if ($this->referenceViewBuilderFactory->hasReferenceListPermission()) {
$insightsResourceTabViewName = static::EDIT_TABS_VIEW.'.insights';

$viewCollection->add(
$this->viewBuilderFactory
->createResourceTabViewBuilder($insightsResourceTabViewName, '/insights')
->setResourceKey(ListingTile::RESOURCE_KEY)
->setTabOrder(6144)
->setTabTitle('sulu_admin.insights')
->setTitleProperty('')
->setParent(static::EDIT_TABS_VIEW),
);

$viewCollection->add(
$this->referenceViewBuilderFactory
->createReferenceListViewBuilder(
$insightsResourceTabViewName.'.reference',
'/references',
ListingTile::RESOURCE_KEY,
)
->setParent($insightsResourceTabViewName),
);
}
<?php } ?>
}

public function getSecurityContexts(): array
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Mamazu\SuluMaker\ControllerMaker;
namespace FriendsOfSulu\MakerBundle\Maker\ControllerMaker;

class ControllerGeneratorSettings
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?php

namespace Mamazu\SuluMaker\ControllerMaker;
namespace FriendsOfSulu\MakerBundle\Maker\ControllerMaker;

use Mamazu\SuluMaker\Utils\ConsoleHelperTrait;
use Mamazu\SuluMaker\Utils\NameGenerators\ResourceKeyExtractor;
use Mamazu\SuluMaker\Utils\NameGenerators\UniqueNameGenerator;
use FriendsOfSulu\MakerBundle\Utils\ConsoleHelperTrait;
use FriendsOfSulu\MakerBundle\Utils\NameGenerators\ResourceKeyExtractor;
use FriendsOfSulu\MakerBundle\Utils\NameGenerators\UniqueNameGenerator;
use Symfony\Bundle\MakerBundle\ConsoleStyle;
use Symfony\Bundle\MakerBundle\DependencyBuilder;
use Symfony\Bundle\MakerBundle\Generator;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php
/**
* @var Mamazu\SuluMaker\ControllerMaker\ControllerGeneratorSettings $settings
* @var FriendsOfSulu\MakerBundle\Maker\ControllerMaker\ControllerGeneratorSettings $settings
* @var string $resourceKey
* @var string $resourceClass
* @var string $namespace
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?php

namespace Mamazu\SuluMaker\ListConfiguration;
namespace FriendsOfSulu\MakerBundle\Maker\ListConfigurationMaker;

use Mamazu\SuluMaker\Enums\Visibility;
use FriendsOfSulu\MakerBundle\Enums\Visibility;

class ListPropertyInfo
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?php

namespace Mamazu\SuluMaker\ListConfiguration;
namespace FriendsOfSulu\MakerBundle\Maker\ListConfigurationMaker;

use Mamazu\SuluMaker\Enums\Visibility;
use Mamazu\SuluMaker\Property\PropertyToSuluTypeGuesser;
use Mamazu\SuluMaker\Utils\ConsoleHelperTrait;
use FriendsOfSulu\MakerBundle\Enums\Visibility;
use FriendsOfSulu\MakerBundle\Property\PropertyToSuluTypeGuesser;
use FriendsOfSulu\MakerBundle\Utils\ConsoleHelperTrait;
use ReflectionProperty;
use Symfony\Bundle\MakerBundle\ConsoleStyle;
use Webmozart\Assert\Assert;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?php

namespace Mamazu\SuluMaker\ListConfiguration;
namespace FriendsOfSulu\MakerBundle\Maker\ListConfigurationMaker;

use Mamazu\SuluMaker\Utils\NameGenerators\UniqueNameGenerator;
use FriendsOfSulu\MakerBundle\Utils\NameGenerators\UniqueNameGenerator;
use ReflectionClass;
use Symfony\Bundle\MakerBundle\ConsoleStyle;
use Symfony\Bundle\MakerBundle\DependencyBuilder;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

use Mamazu\SuluMaker\ListConfiguration\ListPropertyInfo;
use FriendsOfSulu\MakerBundle\Maker\ListConfigurationMaker\ListPropertyInfo;
/**
* @var string $listKey
* @var string $entityClass
Expand Down
2 changes: 1 addition & 1 deletion src/Property/PropertyToSuluTypeGuesser.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Mamazu\SuluMaker\Property;
namespace FriendsOfSulu\MakerBundle\Property;

use DateTimeInterface;
use ReflectionProperty;
Expand Down
44 changes: 24 additions & 20 deletions src/Resources/config/services.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?php

use Mamazu\SuluMaker\AdminConfiguration\MakeAdminConfigurationCommand;
use Mamazu\SuluMaker\ControllerMaker\MakeControllerCommand;
use Mamazu\SuluMaker\ListConfiguration\MakeListConfigurationCommand;
use Mamazu\SuluMaker\Utils\NameGenerators\ClassNameGenerator;
use Mamazu\SuluMaker\Utils\NameGenerators\ResourceKeyExtractor;
use FriendsOfSulu\MakerBundle\Maker\AdminConfigurationMaker\MakeAdminConfigurationCommand;
use FriendsOfSulu\MakerBundle\Maker\ControllerMaker\MakeControllerCommand;
use FriendsOfSulu\MakerBundle\Maker\ListConfigurationMaker\MakeListConfigurationCommand;
use FriendsOfSulu\MakerBundle\Utils\NameGenerators\ClassNameGenerator;
use FriendsOfSulu\MakerBundle\Utils\NameGenerators\ResourceKeyExtractor;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;

Expand All @@ -18,24 +18,28 @@

// makes classes in src/ available to be used as services
// this creates a service per class whose id is the fully-qualified class name
$services->load('Mamazu\\SuluMaker\\', __DIR__.'/../../*')
$services->load('FriendsOfSulu\\MakerBundle\\', __DIR__.'/../../*')
->exclude('../../src/{DependencyInjection,Entity,Tests,Kernel.php}');

$services->set(MakeListConfigurationCommand::class)
->arg('$projectDirectory', '%kernel.project_dir%')
->arg('$nameGenerator', service(ResourceKeyExtractor::class))
;
$services
->set(MakeListConfigurationCommand::class)
->arg('$projectDirectory', '%kernel.project_dir%')
->arg('$nameGenerator', service(ResourceKeyExtractor::class))
;

$services->set(MakeAdminConfigurationCommand::class)
->arg('$nameGenerator', service(ClassNameGenerator::class))
;
$services
->set(MakeAdminConfigurationCommand::class)
->arg('$nameGenerator', service(ClassNameGenerator::class))
;

$services->set(MakeControllerCommand::class)
->arg('$nameGenerator', service(ClassNameGenerator::class))
;
$services
->set(MakeControllerCommand::class)
->arg('$nameGenerator', service(ClassNameGenerator::class))
;

$services->set(ClassNameGenerator::class)
->args([
service(ResourceKeyExtractor::class)
]);
$services
->set(ClassNameGenerator::class)
->args([
service(ResourceKeyExtractor::class)
]);
};
2 changes: 1 addition & 1 deletion src/SuluMakerBundle.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Mamazu\SuluMaker;
namespace FriendsOfSulu\MakerBundle;

use Symfony\Component\HttpKernel\Bundle\Bundle;

Expand Down
2 changes: 1 addition & 1 deletion src/Utils/ConsoleHelperTrait.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Mamazu\SuluMaker\Utils;
namespace FriendsOfSulu\MakerBundle\Utils;

use Symfony\Bundle\MakerBundle\ConsoleStyle;
use Symfony\Component\Console\Input\InputInterface;
Expand Down
2 changes: 1 addition & 1 deletion src/Utils/NameGenerators/ClassNameGenerator.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Mamazu\SuluMaker\Utils\NameGenerators;
namespace FriendsOfSulu\MakerBundle\Utils\NameGenerators;

class ClassNameGenerator implements UniqueNameGenerator
{
Expand Down
2 changes: 1 addition & 1 deletion src/Utils/NameGenerators/ResourceKeyExtractor.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Mamazu\SuluMaker\Utils\NameGenerators;
namespace FriendsOfSulu\MakerBundle\Utils\NameGenerators;

use ReflectionClass;
use Webmozart\Assert\Assert;
Expand Down
2 changes: 1 addition & 1 deletion src/Utils/NameGenerators/UniqueNameGenerator.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Mamazu\SuluMaker\Utils\NameGenerators;
namespace FriendsOfSulu\MakerBundle\Utils\NameGenerators;

interface UniqueNameGenerator
{
Expand Down

0 comments on commit 1a17196

Please sign in to comment.