Skip to content

Commit

Permalink
company type (#253)
Browse files Browse the repository at this point in the history
add blacklist functionality for type converter
add missing keys to company type roles
attach company type to company if its missing
  • Loading branch information
julianzimmermann authored Apr 24, 2024
1 parent 513fc2b commit bcc152d
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 2 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ phpstan:

.PHONY: codeception
codeception:
./vendor/bin/codecept run --env standalone --coverage --coverage-xml --coverage-html
./vendor/bin/codecept run --env standalone

.PHONY: ci
ci: phpcs codeception phpstan
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?php

namespace FondOfImpala\Zed\CompanyTypeRole\Communication\Plugin\PermissionExtension;

use Spryker\Shared\PermissionExtension\Dependency\Plugin\PermissionPluginInterface;
use Spryker\Zed\Kernel\Communication\AbstractPlugin;

/**
* @method \FondOfImpala\Zed\CompanyTypeRole\CompanyTypeRoleConfig getConfig()
* @method \FondOfImpala\Zed\CompanyTypeRole\Business\CompanyTypeRoleFacadeInterface getFacade()
*/
class AssignDistributionManagementRolePermissionPlugin extends AbstractPlugin implements PermissionPluginInterface
{
/**
* @var string
*/
public const KEY = 'AssignDistributionManagementRolePermission';

/**
* @return string
*/
public function getKey(): string
{
return static::KEY;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?php

namespace FondOfImpala\Zed\CompanyTypeRole\Communication\Plugin\PermissionExtension;

use Spryker\Shared\PermissionExtension\Dependency\Plugin\PermissionPluginInterface;
use Spryker\Zed\Kernel\Communication\AbstractPlugin;

/**
* @method \FondOfImpala\Zed\CompanyTypeRole\CompanyTypeRoleConfig getConfig()
* @method \FondOfImpala\Zed\CompanyTypeRole\Business\CompanyTypeRoleFacadeInterface getFacade()
*/
class AssignOrderManagementRolePermissionPlugin extends AbstractPlugin implements PermissionPluginInterface
{
/**
* @var string
*/
public const KEY = 'AssignOrderManagementRolePermission';

/**
* @return string
*/
public function getKey(): string
{
return static::KEY;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,12 @@ public function getPredefinedCompanyRolesByCompanyTypeName(string $companyTypeNa
$this->createCompanyRole($companyTypeName, static::ROLE_NAME_CUSTOMER_SERVICE, false),
$this->createCompanyRole($companyTypeName, static::ROLE_NAME_SALES_COORDINATION, false),
$this->createCompanyRole($companyTypeName, static::ROLE_NAME_ORDER_MANAGEMENT, false),
$this->createCompanyRole($companyTypeName, static::ROLE_NAME_DISTRIBUTION_MANAGEMENT, false),
];

if ($companyTypeName === 'manufacturer') {
return array_merge($predefinedRoles, [
$this->createCompanyRole($companyTypeName, static::ROLE_NAME_SUPER_DISTRIBUTION, false),
$this->createCompanyRole($companyTypeName, static::ROLE_NAME_DISTRIBUTION_MANAGEMENT, false),
]);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ class CompanyTypeRoleConfigTest extends Unit
'super_administration' => ['APermissionPlugin', 'BPermissionPlugin'],
'customer_service' => ['APermissionPlugin', 'BPermissionPlugin'],
'order_management' => ['APermissionPlugin', 'BPermissionPlugin'],
'distribution_management' => ['APermissionPlugin', 'BPermissionPlugin', 'CPermissionPlugin'],
'sales_coordination' => ['APermissionPlugin', 'BPermissionPlugin'],
'distribution' => ['APermissionPlugin', 'BPermissionPlugin'],
'administration' => ['APermissionPlugin', 'BPermissionPlugin'],
Expand All @@ -34,6 +35,7 @@ class CompanyTypeRoleConfigTest extends Unit
'super_administration' => ['APermissionPlugin', 'BPermissionPlugin', 'CPermissionPlugin'],
'customer_service' => ['APermissionPlugin', 'BPermissionPlugin', 'CPermissionPlugin'],
'order_management' => ['APermissionPlugin', 'BPermissionPlugin', 'CPermissionPlugin'],
'distribution_management' => ['APermissionPlugin', 'BPermissionPlugin', 'CPermissionPlugin'],
'sales_coordination' => ['APermissionPlugin', 'BPermissionPlugin', 'CPermissionPlugin'],
'distribution' => ['APermissionPlugin', 'BPermissionPlugin', 'CPermissionPlugin'],
'administration' => ['APermissionPlugin', 'BPermissionPlugin', 'CPermissionPlugin'],
Expand Down

0 comments on commit bcc152d

Please sign in to comment.