diff --git a/sql/structure.sql b/sql/structure.sql index f8def1fef7e56badd73cac5353f413b06f620362..e0ea8535263c60c41632ba0cd6929d8ddb574efb 100755 --- a/sql/structure.sql +++ b/sql/structure.sql @@ -125,7 +125,7 @@ CREATE TABLE history object_type CHARACTER VARYING(128) NOT NULL, object_id CHARACTER VARYING(32) NOT NULL, type CHARACTER VARYING(64) NOT NULL, - user_id INTEGER NOT NULL, + "user" text NOT NULL, date TIMESTAMP without TIME ZONE NOT NULL, message text NOT NULL, data jsonb NOT NULL DEFAULT '{}', diff --git a/src/app/document/controllers/DocumentController.php b/src/app/document/controllers/DocumentController.php index 82ab0c896c8749dce6133c8897d0ee4c9f8b2a41..e665e77b9c15b4bcc364e692c8a017aeee8060e1 100755 --- a/src/app/document/controllers/DocumentController.php +++ b/src/app/document/controllers/DocumentController.php @@ -156,10 +156,9 @@ class DocumentController $date = new \DateTime($document['process_date']); $value['process_date'] = $date->format('d-m-Y H:i'); } - $user = UserModel::getById(['select' => ['id', 'firstname', 'lastname'], 'id' => $value['user_id']]); $formattedDocument['workflow'][] = [ - 'userId' => $user['id'], - 'userDisplay' => "{$user['firstname']} {$user['lastname']}", + 'userId' => $value['user_id'], + 'userDisplay' => UserModel::getLabelledUserById(['id' => $value['user_id']]), 'mode' => $value['mode'], 'processDate' => $value['process_date'], 'current' => !$currentFound && empty($value['process_date']) diff --git a/src/app/history/controllers/HistoryController.php b/src/app/history/controllers/HistoryController.php index d88b181d2ce7a570ccb60daaf0a854e65fa1ad3b..2eb0660db175dae144bb345a1ff2542226dbf901 100755 --- a/src/app/history/controllers/HistoryController.php +++ b/src/app/history/controllers/HistoryController.php @@ -38,7 +38,7 @@ class HistoryController 'object_type' => $args['objectType'], 'object_id' => $args['objectId'], 'type' => $args['type'], - 'user_id' => $GLOBALS['id'], + 'user' => UserModel::getLabelledUserById(['id' => $GLOBALS['id']]), 'message' => $args['message'], 'data' => empty($args['data']) ? '{}' : json_encode($args['data']), 'ip' => empty($_SERVER['REMOTE_ADDR']) ? 'script' : $_SERVER['REMOTE_ADDR'] @@ -59,7 +59,7 @@ class HistoryController } $history = HistoryModel::get([ - 'select' => ['code', 'type', 'user_id', 'date', 'message', 'data'], + 'select' => ['code', 'type', '"user"', 'date', 'message', 'data'], 'where' => ["(object_type = ? AND object_id = ?) OR (data->>'mainDocumentId' = ?)"], 'data' => ['main_documents', $args['id'], $args['id']], 'orderBy' => ['date'] @@ -76,13 +76,12 @@ class HistoryController } foreach ($history as $value) { - $user = UserModel::getById(['select' => ['login'], 'id' => $value['user_id']]); $date = new \DateTime($value['date']); $formattedHistory[] = [ 'code' => $value['code'], 'type' => $value['type'], - 'userLogin' => $user['login'], + 'user' => $value['user'], 'date' => $date->format('d-m-Y H:i'), 'message' => preg_replace($langKeys, $langValues, $value['message']), 'data' => json_decode($value['data'], true) diff --git a/src/app/history/models/HistoryModel.php b/src/app/history/models/HistoryModel.php index 949d2a0fcdbb4c8d651b5bf0b10f4d9fb42d3066..ba27183800f728b463e57d24d1fb0b1f3b3abafa 100755 --- a/src/app/history/models/HistoryModel.php +++ b/src/app/history/models/HistoryModel.php @@ -40,9 +40,8 @@ class HistoryModel public static function create(array $args) { - ValidatorModel::notEmpty($args, ['code', 'object_type', 'object_id', 'type', 'user_id', 'message', 'data', 'ip']); - ValidatorModel::stringType($args, ['code', 'objectType', 'type', 'message', 'data', 'ip']); - ValidatorModel::intVal($args, ['user_id']); + ValidatorModel::notEmpty($args, ['code', 'object_type', 'object_id', 'type', 'user', 'message', 'data', 'ip']); + ValidatorModel::stringType($args, ['code', 'object_type', 'type', 'user', 'message', 'data', 'ip']); DatabaseModel::insert([ 'table' => 'history', @@ -51,7 +50,7 @@ class HistoryModel 'object_type' => $args['object_type'], 'object_id' => $args['object_id'], 'type' => $args['type'], - 'user_id' => $args['user_id'], + '"user"' => $args['user'], 'date' => 'CURRENT_TIMESTAMP', 'message' => $args['message'], 'data' => $args['data'],