diff --git a/src/app/user/controllers/UserController.php b/src/app/user/controllers/UserController.php index 02209e262021b81b4eed766c66bddea8ca14a0a2..c461b0c172462f024ddff81f355b16fd192fe8fd 100755 --- a/src/app/user/controllers/UserController.php +++ b/src/app/user/controllers/UserController.php @@ -127,7 +127,7 @@ class UserController $user['groups'] = UserModel::getGroupsByLogin(['login' => $user['user_id']]); $user['allGroups'] = GroupModel::getAvailableGroupsByUserId(['userId' => $user['id']]); - $user['entities'] = UserModel::getEntitiesById(['id' => $aArgs['id'], 'select' => ['entities.id', 'users_entities.entity_id', 'entities.entity_label', 'users_entities.user_role', 'users_entities.primary_entity']]); + $user['entities'] = UserModel::getEntitiesById(['id' => $aArgs['id'], 'select' => ['entities.id', 'users_entities.entity_id', 'entities.entity_label', 'users_entities.user_role', 'users_entities.primary_entity'], 'orderBy' => ['users_entities.primary_entity DESC']]); $user['allEntities'] = EntityModel::getAvailableEntitiesForAdministratorByUserId(['userId' => $user['user_id'], 'administratorUserId' => $GLOBALS['userId']]); $user['baskets'] = BasketModel::getBasketsByLogin(['login' => $user['user_id']]); $user['assignedBaskets'] = RedirectBasketModel::getAssignedBasketsByUserId(['userId' => $user['id']]); @@ -504,7 +504,7 @@ class UserController $user['signatures'] = UserSignatureModel::getByUserSerialId(['userSerialid' => $user['id']]); $user['emailSignatures'] = UserEmailSignatureModel::getByUserId(['userId' => $GLOBALS['id']]); $user['groups'] = UserModel::getGroupsByLogin(['login' => $user['user_id']]); - $user['entities'] = UserModel::getEntitiesById(['id' => $GLOBALS['id'], 'select' => ['entities.id', 'users_entities.entity_id', 'entities.entity_label', 'users_entities.user_role', 'users_entities.primary_entity']]); + $user['entities'] = UserModel::getEntitiesById(['id' => $GLOBALS['id'], 'select' => ['entities.id', 'users_entities.entity_id', 'entities.entity_label', 'users_entities.user_role', 'users_entities.primary_entity'], 'orderBy' => ['users_entities.primary_entity DESC']]); $user['baskets'] = BasketModel::getBasketsByLogin(['login' => $user['user_id']]); $user['assignedBaskets'] = RedirectBasketModel::getAssignedBasketsByUserId(['userId' => $user['id']]); $user['redirectedBaskets'] = RedirectBasketModel::getRedirectedBasketsByUserId(['userId' => $user['id']]); @@ -1202,7 +1202,7 @@ class UserController return $response->withStatus(400)->withJson(['errors' => 'User does not exist']); } - $entities = UserModel::getEntitiesById(['id' => $args['id'], 'select' => ['entities.id', 'users_entities.entity_id', 'entities.entity_label', 'users_entities.user_role', 'users_entities.primary_entity']]); + $entities = UserModel::getEntitiesById(['id' => $args['id'], 'select' => ['entities.id', 'users_entities.entity_id', 'entities.entity_label', 'users_entities.user_role', 'users_entities.primary_entity'], 'orderBy' => ['users_entities.primary_entity DESC']]); return $response->withJson(['entities' => $entities]); } @@ -1244,7 +1244,7 @@ class UserController ]); return $response->withJson([ - 'entities' => UserModel::getEntitiesById(['id' => $aArgs['id'], 'select' => ['entities.id', 'users_entities.entity_id', 'entities.entity_label', 'users_entities.user_role', 'users_entities.primary_entity']]), + 'entities' => UserModel::getEntitiesById(['id' => $aArgs['id'], 'select' => ['entities.id', 'users_entities.entity_id', 'entities.entity_label', 'users_entities.user_role', 'users_entities.primary_entity'], 'orderBy' => ['users_entities.primary_entity DESC']]), 'allEntities' => EntityModel::getAvailableEntitiesForAdministratorByUserId(['userId' => $user['user_id'], 'administratorUserId' => $GLOBALS['userId']]) ]); } @@ -1289,7 +1289,7 @@ class UserController UserEntityModel::updateUserPrimaryEntity(['id' => $aArgs['id'], 'entityId' => $aArgs['entityId']]); - return $response->withJson(['entities' => UserModel::getEntitiesById(['id' => $aArgs['id'], 'select' => ['entities.id', 'users_entities.entity_id', 'entities.entity_label', 'users_entities.user_role', 'users_entities.primary_entity']])]); + return $response->withJson(['entities' => UserModel::getEntitiesById(['id' => $aArgs['id'], 'select' => ['entities.id', 'users_entities.entity_id', 'entities.entity_label', 'users_entities.user_role', 'users_entities.primary_entity'], 'orderBy' => ['users_entities.primary_entity DESC']])]); } public function deleteEntity(Request $request, Response $response, array $aArgs) @@ -1391,7 +1391,7 @@ class UserController ]); return $response->withJson([ - 'entities' => UserModel::getEntitiesById(['id' => $aArgs['id'], 'select' => ['entities.id', 'users_entities.entity_id', 'entities.entity_label', 'users_entities.user_role', 'users_entities.primary_entity']]), + 'entities' => UserModel::getEntitiesById(['id' => $aArgs['id'], 'select' => ['entities.id', 'users_entities.entity_id', 'entities.entity_label', 'users_entities.user_role', 'users_entities.primary_entity'], 'orderBy' => ['users_entities.primary_entity DESC']]), 'allEntities' => EntityModel::getAvailableEntitiesForAdministratorByUserId(['userId' => $user['user_id'], 'administratorUserId' => $GLOBALS['userId']]) ]); } diff --git a/src/app/user/models/UserModelAbstract.php b/src/app/user/models/UserModelAbstract.php index 0824b3b172a48479465a112e8f2c8d1661c5175c..7bea8342f254f971992efe867711b7980795cc22 100755 --- a/src/app/user/models/UserModelAbstract.php +++ b/src/app/user/models/UserModelAbstract.php @@ -385,13 +385,14 @@ abstract class UserModelAbstract { ValidatorModel::notEmpty($args, ['id', 'select']); ValidatorModel::intVal($args, ['id']); - ValidatorModel::arrayType($args, ['select']); + ValidatorModel::arrayType($args, ['select', 'orderBy']); $entities = DatabaseModel::select([ 'select' => $args['select'], 'table' => ['users, users_entities, entities'], 'where' => ['users.id = users_entities.user_id', 'users_entities.entity_id = entities.entity_id', 'users.id = ?'], - 'data' => [$args['id']] + 'data' => [$args['id']], + 'order_by' => empty($args['orderBy']) ? [] : $args['orderBy'], ]); return $entities;