bug and media fixes

This commit is contained in:
Dennis Eichhorn 2021-10-29 14:49:55 +02:00
parent ce68887e90
commit baf370fbc8
15 changed files with 73 additions and 84 deletions

View File

@ -32,11 +32,11 @@ use Modules\ClientManagement\Models\NullClientAttributeValue;
use Modules\Media\Models\PathSettings; use Modules\Media\Models\PathSettings;
use Modules\Profile\Models\ContactElementMapper; use Modules\Profile\Models\ContactElementMapper;
use Modules\Profile\Models\Profile; use Modules\Profile\Models\Profile;
use phpOMS\Localization\ISO639x1Enum;
use phpOMS\Message\Http\RequestStatusCode; use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Message\NotificationLevel; use phpOMS\Message\NotificationLevel;
use phpOMS\Message\RequestAbstract; use phpOMS\Message\RequestAbstract;
use phpOMS\Message\ResponseAbstract; use phpOMS\Message\ResponseAbstract;
use phpOMS\Localization\ISO639x1Enum;
use phpOMS\Model\Message\FormValidation; use phpOMS\Model\Message\FormValidation;
/** /**
@ -271,7 +271,7 @@ final class ApiController extends Controller
*/ */
private function createClientAttributeTypeL11nFromRequest(RequestAbstract $request) : ClientAttributeTypeL11n private function createClientAttributeTypeL11nFromRequest(RequestAbstract $request) : ClientAttributeTypeL11n
{ {
$attrL11n = new ClientAttributeTypeL11n(); $attrL11n = new ClientAttributeTypeL11n();
$attrL11n->type = (int) ($request->getData('type') ?? 0); $attrL11n->type = (int) ($request->getData('type') ?? 0);
$attrL11n->setLanguage((string) ( $attrL11n->setLanguage((string) (
$request->getData('language') ?? $request->getLanguage() $request->getData('language') ?? $request->getLanguage()
@ -489,7 +489,8 @@ final class ApiController extends Controller
} }
$uploaded = $this->app->moduleManager->get('Media')->uploadFiles( $uploaded = $this->app->moduleManager->get('Media')->uploadFiles(
[$request->getData('name') ?? ''], $request->getDataList('names') ?? [],
$request->getDataList('filenames') ?? [],
$uploadedFiles, $uploadedFiles,
$request->header->account, $request->header->account,
__DIR__ . '/../../../Modules/Media/Files/Modules/ClientManagement/' . ($request->getData('client') ?? '0'), __DIR__ . '/../../../Modules/Media/Files/Modules/ClientManagement/' . ($request->getData('client') ?? '0'),

View File

@ -18,7 +18,6 @@ use Modules\Admin\Models\Address;
use Modules\Admin\Models\NullAddress; use Modules\Admin\Models\NullAddress;
use Modules\Editor\Models\EditorDoc; use Modules\Editor\Models\EditorDoc;
use Modules\Media\Models\Media; use Modules\Media\Models\Media;
use Modules\Media\Models\NullMedia;
use Modules\Profile\Models\ContactElement; use Modules\Profile\Models\ContactElement;
use Modules\Profile\Models\NullContactElement; use Modules\Profile\Models\NullContactElement;
use Modules\Profile\Models\Profile; use Modules\Profile\Models\Profile;
@ -315,12 +314,12 @@ class Client
public function toArray() : array public function toArray() : array
{ {
return [ return [
'id' => $this->id, 'id' => $this->id,
'number' => $this->number, 'number' => $this->number,
'numberReverse' => $this->numberReverse, 'numberReverse' => $this->numberReverse,
'status' => $this->status, 'status' => $this->status,
'type' => $this->type, 'type' => $this->type,
'info' => $this->info, 'info' => $this->info,
]; ];
} }

View File

@ -65,7 +65,7 @@ class ClientAttribute implements \JsonSerializable, ArrayableInterface
*/ */
public function __construct() public function __construct()
{ {
$this->type = new ClientAttributeType(); $this->type = new ClientAttributeType();
$this->value = new ClientAttributeValue(); $this->value = new ClientAttributeValue();
} }
@ -87,8 +87,8 @@ class ClientAttribute implements \JsonSerializable, ArrayableInterface
public function toArray() : array public function toArray() : array
{ {
return [ return [
'id' => $this->id, 'id' => $this->id,
'type' => $this->type, 'type' => $this->type,
'value' => $this->value, 'value' => $this->value,
]; ];
} }

View File

@ -141,12 +141,12 @@ class ClientAttributeType implements \JsonSerializable, ArrayableInterface
public function toArray() : array public function toArray() : array
{ {
return [ return [
'id' => $this->id, 'id' => $this->id,
'name' => $this->name, 'name' => $this->name,
'fields' => $this->fields, 'fields' => $this->fields,
'custom' => $this->custom, 'custom' => $this->custom,
'validationPattern' => $this->validationPattern, 'validationPattern' => $this->validationPattern,
'isRequired' => $this->isRequired, 'isRequired' => $this->isRequired,
]; ];
} }

View File

@ -119,9 +119,9 @@ class ClientAttributeTypeL11n implements \JsonSerializable, ArrayableInterface
public function toArray() : array public function toArray() : array
{ {
return [ return [
'id' => $this->id, 'id' => $this->id,
'title' => $this->title, 'title' => $this->title,
'type' => $this->type, 'type' => $this->type,
'language' => $this->language, 'language' => $this->language,
]; ];
} }

View File

@ -233,15 +233,15 @@ class ClientAttributeValue implements \JsonSerializable, ArrayableInterface
public function toArray() : array public function toArray() : array
{ {
return [ return [
'id' => $this->id, 'id' => $this->id,
'type' => $this->type, 'type' => $this->type,
'valueInt' => $this->valueInt, 'valueInt' => $this->valueInt,
'valueStr' => $this->valueStr, 'valueStr' => $this->valueStr,
'valueDec' => $this->valueDec, 'valueDec' => $this->valueDec,
'valueDat' => $this->valueDat, 'valueDat' => $this->valueDat,
'isDefault' => $this->isDefault, 'isDefault' => $this->isDefault,
'language' => $this->language, 'language' => $this->language,
'country' => $this->country, 'country' => $this->country,
]; ];
} }

View File

@ -392,4 +392,4 @@ function phpServe() : void
}); });
} }
phpServe(); \phpServe();

View File

@ -14,21 +14,17 @@ declare(strict_types=1);
namespace Modules\ClientManagement\tests\Controller\Api; namespace Modules\ClientManagement\tests\Controller\Api;
use Modules\ClientManagement\Models\AttributeValueType;
use phpOMS\Localization\ISO3166TwoEnum;
use phpOMS\Localization\ISO639x1Enum;
use phpOMS\Message\Http\HttpRequest; use phpOMS\Message\Http\HttpRequest;
use phpOMS\Message\Http\HttpResponse; use phpOMS\Message\Http\HttpResponse;
use phpOMS\Message\Http\RequestStatusCode; use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Uri\HttpUri; use phpOMS\Uri\HttpUri;
use Modules\ClientManagement\Models\AttributeValueType;
use Modules\Profile\Models\ContactType;
use phpOMS\Localization\ISO3166TwoEnum;
use phpOMS\Localization\ISO639x1Enum;
use phpOMS\Stdlib\Base\AddressType;
use phpOMS\System\MimeType;
use phpOMS\Utils\TestUtils;
trait ApiControllerAttributeTrait trait ApiControllerAttributeTrait
{ {
/** /**
* @covers Modules\ClientManagement\Controller\ApiController * @covers Modules\ClientManagement\Controller\ApiController
* @group module * @group module
*/ */
@ -141,7 +137,7 @@ trait ApiControllerAttributeTrait
self::assertGreaterThan(0, $response->get('')['response']->getId()); self::assertGreaterThan(0, $response->get('')['response']->getId());
} }
/** /**
* @covers Modules\ClientManagement\Controller\ApiController * @covers Modules\ClientManagement\Controller\ApiController
* @group module * @group module
*/ */
@ -159,7 +155,7 @@ trait ApiControllerAttributeTrait
self::assertGreaterThan(0, $response->get('')['response']->getId()); self::assertGreaterThan(0, $response->get('')['response']->getId());
} }
/** /**
* @covers Modules\ClientManagement\Controller\ApiController * @covers Modules\ClientManagement\Controller\ApiController
* @group module * @group module
*/ */

View File

@ -14,16 +14,13 @@ declare(strict_types=1);
namespace Modules\ClientManagement\tests\Controller\Api; namespace Modules\ClientManagement\tests\Controller\Api;
use Modules\Profile\Models\ContactType;
use phpOMS\Localization\ISO3166TwoEnum;
use phpOMS\Message\Http\HttpRequest; use phpOMS\Message\Http\HttpRequest;
use phpOMS\Message\Http\HttpResponse; use phpOMS\Message\Http\HttpResponse;
use phpOMS\Message\Http\RequestStatusCode; use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Uri\HttpUri;
use Modules\ClientManagement\Models\AttributeValueType;
use Modules\Profile\Models\ContactType;
use phpOMS\Localization\ISO3166TwoEnum;
use phpOMS\Localization\ISO639x1Enum;
use phpOMS\Stdlib\Base\AddressType;
use phpOMS\System\MimeType; use phpOMS\System\MimeType;
use phpOMS\Uri\HttpUri;
use phpOMS\Utils\TestUtils; use phpOMS\Utils\TestUtils;
trait ApiControllerClientTrait trait ApiControllerClientTrait
@ -31,11 +28,11 @@ trait ApiControllerClientTrait
public static function tearDownAfterClass() : void public static function tearDownAfterClass() : void
{ {
if (\is_file(__DIR__ . '/m_icon_tmp.png')) { if (\is_file(__DIR__ . '/m_icon_tmp.png')) {
unlink(__DIR__ . '/m_icon_tmp.png'); \unlink(__DIR__ . '/m_icon_tmp.png');
} }
if (\is_file(__DIR__ . '/Test file_tmp.txt')) { if (\is_file(__DIR__ . '/Test file_tmp.txt')) {
unlink(__DIR__ . '/Test file_tmp.txt'); \unlink(__DIR__ . '/Test file_tmp.txt');
} }
} }

View File

@ -16,13 +16,13 @@ namespace Modules\ClientManagement\tests\Controller;
use Model\CoreSettings; use Model\CoreSettings;
use Modules\Admin\Models\AccountPermission; use Modules\Admin\Models\AccountPermission;
use Modules\ClientManagement\tests\Controller\Api\ApiControllerClientTrait;
use Modules\ClientManagement\tests\Controller\Api\ApiControllerAttributeTrait; use Modules\ClientManagement\tests\Controller\Api\ApiControllerAttributeTrait;
use phpOMS\DataStorage\Session\HttpSession; use Modules\ClientManagement\tests\Controller\Api\ApiControllerClientTrait;
use phpOMS\Account\Account; use phpOMS\Account\Account;
use phpOMS\Account\AccountManager; use phpOMS\Account\AccountManager;
use phpOMS\Account\PermissionType; use phpOMS\Account\PermissionType;
use phpOMS\Application\ApplicationAbstract; use phpOMS\Application\ApplicationAbstract;
use phpOMS\DataStorage\Session\HttpSession;
use phpOMS\Dispatcher\Dispatcher; use phpOMS\Dispatcher\Dispatcher;
use phpOMS\Event\EventManager; use phpOMS\Event\EventManager;
use phpOMS\Module\ModuleAbstract; use phpOMS\Module\ModuleAbstract;

View File

@ -70,16 +70,16 @@ final class ClientAttributeTypeL11nTest extends \PHPUnit\Framework\TestCase
*/ */
public function testSerialize() : void public function testSerialize() : void
{ {
$this->l11n->title = 'Title'; $this->l11n->title = 'Title';
$this->l11n->type = 2; $this->l11n->type = 2;
$this->l11n->setLanguage(ISO639x1Enum::_DE); $this->l11n->setLanguage(ISO639x1Enum::_DE);
self::assertEquals( self::assertEquals(
[ [
'id' => 0, 'id' => 0,
'title' => 'Title', 'title' => 'Title',
'type' => 2, 'type' => 2,
'language' => ISO639x1Enum::_DE, 'language' => ISO639x1Enum::_DE,
], ],
$this->l11n->jsonSerialize() $this->l11n->jsonSerialize()
); );

View File

@ -16,7 +16,6 @@ namespace Modules\ClientManagement\tests\Models;
use Modules\ClientManagement\Models\ClientAttributeType; use Modules\ClientManagement\Models\ClientAttributeType;
use Modules\ClientManagement\Models\ClientAttributeTypeL11n; use Modules\ClientManagement\Models\ClientAttributeTypeL11n;
use phpOMS\Localization\ISO639x1Enum;
/** /**
* @internal * @internal
@ -62,20 +61,20 @@ final class ClientAttributeTypeTest extends \PHPUnit\Framework\TestCase
*/ */
public function testSerialize() : void public function testSerialize() : void
{ {
$this->type->name = 'Title'; $this->type->name = 'Title';
$this->type->fields = 2; $this->type->fields = 2;
$this->type->custom = true; $this->type->custom = true;
$this->type->validationPattern = '\d*'; $this->type->validationPattern = '\d*';
$this->type->isRequired = true; $this->type->isRequired = true;
self::assertEquals( self::assertEquals(
[ [
'id' => 0, 'id' => 0,
'name' => 'Title', 'name' => 'Title',
'fields' => 2, 'fields' => 2,
'custom' => true, 'custom' => true,
'validationPattern' => '\d*', 'validationPattern' => '\d*',
'isRequired' => true, 'isRequired' => true,
], ],
$this->type->jsonSerialize() $this->type->jsonSerialize()
); );

View File

@ -40,7 +40,7 @@ final class ClientAttributeValueTest extends \PHPUnit\Framework\TestCase
public function testDefault() : void public function testDefault() : void
{ {
self::assertEquals(0, $this->value->getId()); self::assertEquals(0, $this->value->getId());
self::assertEquals(null, $this->value->getValue()); self::assertNull($this->value->getValue());
} }
/** /**
@ -117,15 +117,15 @@ final class ClientAttributeValueTest extends \PHPUnit\Framework\TestCase
self::assertEquals( self::assertEquals(
[ [
'id' => 0, 'id' => 0,
'type' => 1, 'type' => 1,
'valueInt' => null, 'valueInt' => null,
'valueStr' => 'test', 'valueStr' => 'test',
'valueDec' => null, 'valueDec' => null,
'valueDat' => null, 'valueDat' => null,
'isDefault' => true, 'isDefault' => true,
'language' => ISO639x1Enum::_DE, 'language' => ISO639x1Enum::_DE,
'country' => ISO3166TwoEnum::_DEU, 'country' => ISO3166TwoEnum::_DEU,
], ],
$this->value->jsonSerialize() $this->value->jsonSerialize()
); );

View File

@ -14,13 +14,11 @@ declare(strict_types=1);
namespace Modules\ClientManagement\tests\Models; namespace Modules\ClientManagement\tests\Models;
use Modules\Media\Models\Media;
use Modules\Editor\Models\EditorDoc;
use Modules\Profile\Models\ContactElement;
use Modules\Admin\Models\Account;
use Modules\Admin\Models\NullAccount;
use Modules\ClientManagement\Models\Client; use Modules\ClientManagement\Models\Client;
use Modules\ClientManagement\Models\ClientStatus; use Modules\ClientManagement\Models\ClientStatus;
use Modules\Editor\Models\EditorDoc;
use Modules\Media\Models\Media;
use Modules\Profile\Models\ContactElement;
/** /**
* @internal * @internal
@ -118,7 +116,7 @@ final class ClientTest extends \PHPUnit\Framework\TestCase
*/ */
public function testSerialize() : void public function testSerialize() : void
{ {
$this->client->number = '123456'; $this->client->number = '123456';
$this->client->numberReverse = '654321'; $this->client->numberReverse = '654321';
$this->client->setStatus(ClientStatus::INACTIVE); $this->client->setStatus(ClientStatus::INACTIVE);
$this->client->setType(2); $this->client->setType(2);
@ -126,12 +124,12 @@ final class ClientTest extends \PHPUnit\Framework\TestCase
self::assertEquals( self::assertEquals(
[ [
'id' => 0, 'id' => 0,
'number' => '123456', 'number' => '123456',
'numberReverse' => '654321', 'numberReverse' => '654321',
'status' => ClientStatus::INACTIVE, 'status' => ClientStatus::INACTIVE,
'type' => 2, 'type' => 2,
'info' => 'Test info', 'info' => 'Test info',
], ],
$this->client->jsonSerialize() $this->client->jsonSerialize()
); );

View File

@ -30,7 +30,6 @@ final class NullClientAttributeTypeL11nTest extends \PHPUnit\Framework\TestCase
self::assertInstanceOf('\Modules\ClientManagement\Models\ClientAttributeTypeL11n', new NullClientAttributeTypeL11n()); self::assertInstanceOf('\Modules\ClientManagement\Models\ClientAttributeTypeL11n', new NullClientAttributeTypeL11n());
} }
/** /**
* @covers Modules\ClientManagement\Models\NullClientAttributeTypeL11n * @covers Modules\ClientManagement\Models\NullClientAttributeTypeL11n
* @group framework * @group framework