Skip to content
Snippets Groups Projects
Verified Commit 224d872f authored by Damien's avatar Damien
Browse files

FEAT #12635 TIME 0:35 Autocomplete company

parent 7c4b00bf
No related branches found
No related tags found
No related merge requests found
...@@ -78,6 +78,7 @@ $app->get('/autocomplete/users', \SrcCore\controllers\AutoCompleteController::cl ...@@ -78,6 +78,7 @@ $app->get('/autocomplete/users', \SrcCore\controllers\AutoCompleteController::cl
$app->get('/autocomplete/maarchParapheurUsers', \SrcCore\controllers\AutoCompleteController::class . ':getMaarchParapheurUsers'); $app->get('/autocomplete/maarchParapheurUsers', \SrcCore\controllers\AutoCompleteController::class . ':getMaarchParapheurUsers');
$app->get('/autocomplete/correspondents', \SrcCore\controllers\AutoCompleteController::class . ':getCorrespondents'); $app->get('/autocomplete/correspondents', \SrcCore\controllers\AutoCompleteController::class . ':getCorrespondents');
$app->get('/autocomplete/contacts/groups', \SrcCore\controllers\AutoCompleteController::class . ':getContactsForGroups'); $app->get('/autocomplete/contacts/groups', \SrcCore\controllers\AutoCompleteController::class . ':getContactsForGroups');
$app->get('/autocomplete/contacts/company', \SrcCore\controllers\AutoCompleteController::class . ':getContactsCompany');
$app->get('/autocomplete/users/administration', \SrcCore\controllers\AutoCompleteController::class . ':getUsersForAdministration'); $app->get('/autocomplete/users/administration', \SrcCore\controllers\AutoCompleteController::class . ':getUsersForAdministration');
$app->get('/autocomplete/users/visa', \SrcCore\controllers\AutoCompleteController::class . ':getUsersForVisa'); $app->get('/autocomplete/users/visa', \SrcCore\controllers\AutoCompleteController::class . ':getUsersForVisa');
$app->get('/autocomplete/entities', \SrcCore\controllers\AutoCompleteController::class . ':getEntities'); $app->get('/autocomplete/entities', \SrcCore\controllers\AutoCompleteController::class . ':getEntities');
......
...@@ -812,8 +812,6 @@ class ContactController ...@@ -812,8 +812,6 @@ class ContactController
$mappingFields = [ $mappingFields = [
'civility' => 'civility', 'civility' => 'civility',
'firstname' => 'firstname', 'firstname' => 'firstname',
'lastname' => 'lastname',
'company' => 'company',
'department' => 'department', 'department' => 'department',
'function' => 'function', 'function' => 'function',
'address_number' => 'addressNumber', 'address_number' => 'addressNumber',
...@@ -827,7 +825,7 @@ class ContactController ...@@ -827,7 +825,7 @@ class ContactController
'phone' => 'phone', 'phone' => 'phone',
'notes' => 'notes' 'notes' => 'notes'
]; ];
$mandatoryParameters = ContactParameterModel::get(['select' => ['identifier'], 'where' => ['mandatory = ?'], 'data' => [true]]); $mandatoryParameters = ContactParameterModel::get(['select' => ['identifier'], 'where' => ['mandatory = ?', 'identifier not in (?)'], 'data' => [true, ['lastname', 'company']]]);
foreach ($mandatoryParameters as $mandatoryParameter) { foreach ($mandatoryParameters as $mandatoryParameter) {
if (strpos($mandatoryParameter['identifier'], 'contactCustomField_') !== false) { if (strpos($mandatoryParameter['identifier'], 'contactCustomField_') !== false) {
$customId = explode('_', $mandatoryParameter['identifier'])[1]; $customId = explode('_', $mandatoryParameter['identifier'])[1];
......
...@@ -544,6 +544,30 @@ class AutoCompleteController ...@@ -544,6 +544,30 @@ class AutoCompleteController
return $response->withJson($data); return $response->withJson($data);
} }
public static function getContactsCompany(Request $request, Response $response)
{
$queryParams = $request->getQueryParams();
if (!Validator::stringType()->notEmpty()->validate($queryParams['search'])) {
return $response->withStatus(400)->withJson(['errors' => 'Query params search is empty']);
}
$fields = AutoCompleteController::getUnsensitiveFieldsForRequest(['fields' => ['company']]);
$contacts = ContactModel::get([
'select' => [
'id', 'company', 'address_number as "addressNumber"', 'address_street as "addressStreet"',
'address_additional1 as "addressAdditional1"', 'address_additional2 as "addressAdditional2"', 'address_postcode as "addressPostcode"',
'address_town as "addressTown"', 'address_country as "addressCountry"'
],
'where' => ['enabled = ?', $fields],
'data' => [true, $queryParams['search'] . '%'],
'orderBy' => ['company', 'lastname'],
'limit' => 1
]);
return $response->withJson($contacts);
}
public static function getBanAddresses(Request $request, Response $response) public static function getBanAddresses(Request $request, Response $response)
{ {
$data = $request->getQueryParams(); $data = $request->getQueryParams();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment