diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 8420a50..394e92b 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -88,21 +88,21 @@ final class ApiController extends Controller private function createClientFromRequest(RequestAbstract $request) : Client { $account = new Account(); - $account->name1 = $request->getData('name1') ?? ''; - $account->name2 = $request->getData('name2') ?? ''; + $account->name1 = (string) ($request->getData('name1') ?? ''); + $account->name2 = (string) ($request->getData('name2') ?? ''); $profile = new Profile($account); $client = new Client(); - $client->number = $request->getData('number') ?? ''; + $client->number = (string) ($request->getData('number') ?? ''); $client->profile = $profile; $addr = new Address(); - $addr->address = $request->getData('address') ?? ''; - $addr->postal = $request->getData('postal') ?? ''; - $addr->city = $request->getData('city') ?? ''; + $addr->address = (string) ($request->getData('address') ?? ''); + $addr->postal = (string) ($request->getData('postal') ?? ''); + $addr->city = (string) ($request->getData('city') ?? ''); $addr->setCountry($request->getData('country') ?? ''); - $addr->state = $request->getData('state') ?? ''; + $addr->state = (string) ($request->getData('state') ?? ''); $client->mainAddress = $addr; return $client; @@ -418,15 +418,15 @@ final class ApiController extends Controller { $attrValue = new ClientAttributeValue(); - $type = $request->getData('type') ?? 0; + $type = (int) ($request->getData('type') ?? 0); if ($type === AttributeValueType::_INT) { - $attrValue->valueInt = (int) $request->getData('value'); + $attrValue->valueInt = $request->hasData('value') ? (int) $request->getData('value') : null; } elseif ($type === AttributeValueType::_STRING) { - $attrValue->valueStr = (string) $request->getData('value'); + $attrValue->valueStr = $request->hasData('value') ? (string) $request->getData('value') : null; } elseif ($type === AttributeValueType::_FLOAT) { - $attrValue->valueDec = (float) $request->getData('value'); + $attrValue->valueDec = $request->hasData('value') ? (float) $request->getData('value') : null; } elseif ($type === AttributeValueType::_DATETIME) { - $attrValue->valueDat = new \DateTime($request->getData('value') ?? ''); + $attrValue->valueDat = $request->hasData('value') ? new \DateTime((string) ($request->getData('value') ?? '')) : null; } $attrValue->type = $type; @@ -527,7 +527,12 @@ final class ApiController extends Controller $request->setData('virtualpath', '/Modules/ClientManagement/' . $request->getData('id'), true); $this->app->moduleManager->get('Editor')->apiEditorCreate($request, $response, $data); - $model = $response->get($request->uri->__toString())['response']; + $responseData = $response->get($request->uri->__toString()); + if (!\is_array($responseData)) { + return; + } + + $model = $responseData['response']; $this->createModelRelation($request->header->account, $request->getData('id'), $model->getId(), ClientMapper::class, 'notes', '', $request->getOrigin()); } } diff --git a/Controller/BackendController.php b/Controller/BackendController.php index f6c44c5..eb4d43a 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -114,6 +114,7 @@ final class BackendController extends Controller $view->setTemplate('/Modules/ClientManagement/Theme/Backend/client-profile'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1003102001, $request, $response)); + /** @var \Modules\ClientManagement\Models\Client $client */ $client = ClientMapper::get() ->with('profile') ->with('profile/account')