diff --git a/modules/attachments/Controllers/ReconciliationController.php b/modules/attachments/Controllers/ReconciliationController.php index 640cdf4403733dcbd0685f204bfa386b429458db..91634c7551c61e4faff04c25cc49b535741a8858 100755 --- a/modules/attachments/Controllers/ReconciliationController.php +++ b/modules/attachments/Controllers/ReconciliationController.php @@ -264,8 +264,8 @@ class ReconciliationController{ $filetmp .= $tmp; $filetmp .= $filename; - $docserver = \Docserver\models\DocserverModel::getById([ - 'id' => $docserverId + $docserver = \Docserver\models\DocserverModel::getByDocserverId([ + 'docserverId' => $docserverId ]); $docserverType = \Docserver\models\DocserverTypeModel::getById([ 'id' => $docserver['docserver_type_id'] diff --git a/modules/attachments/add_attachments.php b/modules/attachments/add_attachments.php index 2d472a4d6a330b09f23a9b8d54151e1ce0a93243..3c95c11a234f290fb220ab454e998347e8dce4bb 100755 --- a/modules/attachments/add_attachments.php +++ b/modules/attachments/add_attachments.php @@ -174,9 +174,9 @@ for ($i = 0; $i <= count($aArgs['data']); $i++) { } if ($aArgs['data'][$i]['column'] == 'docserver_id') { // Retrieve the PATH TEMPLATE - $docserverPath = \Docserver\models\DocserverModel::getById([ - 'select' => ['path_template'], - 'id' => $aArgs['data'][$i]['value'] + $docserverPath = \Docserver\models\DocserverModel::getByDocserverId([ + 'select' => ['path_template'], + 'docserverId' => $aArgs['data'][$i]['value'] ]); $aArgs['docserverPath'] = $docserverPath['path_template']; diff --git a/modules/convert/Controllers/ProcessConvertController.php b/modules/convert/Controllers/ProcessConvertController.php index ee591dcdd700293e67ca4ab3f7c26484183636ba..88d1752c3f389e66695c899603a50a746a7852e1 100644 --- a/modules/convert/Controllers/ProcessConvertController.php +++ b/modules/convert/Controllers/ProcessConvertController.php @@ -233,7 +233,7 @@ class ProcessConvertController return $returnArray; } - $targetDs = DocserverModel::getById(['id' => $storeResult['docserver_id']]); + $targetDs = DocserverModel::getByDocserverId(['docserverId' => $storeResult['docserver_id']]); // LogsController::info(['message'=>'avant update', 'code'=>19, ]); //update the \Database diff --git a/modules/convert/Controllers/ProcessFulltextController.php b/modules/convert/Controllers/ProcessFulltextController.php index 389f56856c1fd69e8228917bc3748fbf1704f2c3..b0717694408f14f9d42dbbdab178f010ff9d4ddf 100644 --- a/modules/convert/Controllers/ProcessFulltextController.php +++ b/modules/convert/Controllers/ProcessFulltextController.php @@ -282,7 +282,7 @@ class ProcessFulltextController return $returnArray; } - $targetDs = DocserverModel::getById(['id' => $storeResult['docserver_id']]); + $targetDs = DocserverModel::getByDocserverId(['docserverId' => $storeResult['docserver_id']]); // LogsController::info(['message'=>'avant update', 'code'=>19, ]); //update the Database diff --git a/modules/convert/Controllers/ProcessThumbnailsController.php b/modules/convert/Controllers/ProcessThumbnailsController.php index 4c98d2093ac10bee83578eba2b40137f394d2868..cc9a263ab23c6b1d6753650908b866d70ba8b58b 100644 --- a/modules/convert/Controllers/ProcessThumbnailsController.php +++ b/modules/convert/Controllers/ProcessThumbnailsController.php @@ -226,7 +226,7 @@ class ProcessThumbnailsController return $returnArray; } - $targetDs = DocserverModel::getById(['id' => $storeResult['docserver_id']]); + $targetDs = DocserverModel::getByDocserverId(['docserverId' => $storeResult['docserver_id']]); // LogsController::info(['message'=>'avant update', 'code'=>19, ]); //update the Database diff --git a/modules/export_seda/AdapterMaarchCourrier.php b/modules/export_seda/AdapterMaarchCourrier.php index 9cf6fc3bd2682a0c682e960995997c28c12eec1e..87690f6cd118be6486ff0af024bc47d9b45183a4 100644 --- a/modules/export_seda/AdapterMaarchCourrier.php +++ b/modules/export_seda/AdapterMaarchCourrier.php @@ -18,7 +18,7 @@ class AdapterMaarchCourrier $messageObject = json_decode($message->data); - $docserver = \Docserver\models\DocserverModel::getById(['id' => $message->docserver_id]); + $docserver = \Docserver\models\DocserverModel::getByDocserverId(['docserverId' => $message->docserver_id]); $docserverType = \Docserver\models\DocserverTypeModel::getById( ['id' => $docserver['docserver_type_id']] ); diff --git a/modules/export_seda/RequestSeda.php b/modules/export_seda/RequestSeda.php index e0f1dad4641114848460c05ccc5d5041ea82fe39..aefc90d84adbfb1c139769ccf14360307fe95893 100644 --- a/modules/export_seda/RequestSeda.php +++ b/modules/export_seda/RequestSeda.php @@ -483,7 +483,7 @@ class RequestSeda $docserver_id = $storeResult['docserver_id']; $filepath = $storeResult['destination_dir']; $filename = $storeResult['file_destination_name']; - $docserver = \Docserver\models\DocserverModel::getById(['id' => $docserver_id]); + $docserver = \Docserver\models\DocserverModel::getByDocserverId(['docserverId' => $docserver_id]); $docserverType = \Docserver\models\DocserverTypeModel::getById( ['id' => $docserver['docserver_type_id']] diff --git a/modules/sendmail/batch/process_emails.php b/modules/sendmail/batch/process_emails.php index 00cd7c5dffcf23634cf8d4ef0056f43a290200eb..80ce0b031b1527cfceb112948a31593a3a6e4a53 100755 --- a/modules/sendmail/batch/process_emails.php +++ b/modules/sendmail/batch/process_emails.php @@ -178,7 +178,7 @@ while ($state <> 'END') { $smtp = $stmt = Bt_doQuery($GLOBALS['db'], $query, array($email->message_exchange_id)); $messageExchange = $smtp->fetchObject(); - $docserver = \Docserver\models\DocserverModel::getById(['id' => $messageExchange->docserver_id]); + $docserver = \Docserver\models\DocserverModel::getByDocserverId(['docserverId' => $messageExchange->docserver_id]); $docserverType = \Docserver\models\DocserverTypeModel::getById(['id' => $docserver['docserver_type_id']]); $pathDirectory = str_replace('#', DIRECTORY_SEPARATOR, $messageExchange->path); diff --git a/modules/sendmail/sendmail_ajax_content.php b/modules/sendmail/sendmail_ajax_content.php index 54a8abe3794cf2bc11e24382eca61788c7939047..e716f5408ed44cf2330cf664e0e872577d9b5808 100755 --- a/modules/sendmail/sendmail_ajax_content.php +++ b/modules/sendmail/sendmail_ajax_content.php @@ -588,7 +588,7 @@ switch ($mode) { $RequestSeda = new RequestSeda(); $messageExchangeData = $RequestSeda->getMessageByIdentifierAndResId(['message_id' => $_GET['id'], 'res_id_master' => $_GET['identifier']]); - $docserver = \Docserver\models\DocserverModel::getById(['id' => $messageExchangeData->docserver_id]); + $docserver = \Docserver\models\DocserverModel::getByDocserverId(['docserverId' => $messageExchangeData->docserver_id]); $docserverType = \Docserver\models\DocserverTypeModel::getById(['id' => $docserver['docserver_type_id']]); $pathDirectory = str_replace('#', DIRECTORY_SEPARATOR, $messageExchangeData->path); diff --git a/rest/index.php b/rest/index.php index 6e3064d88a56698a3538a6f568ec4b51a13aef37..1dc35d2477d37fad054e5db4538f38295a0f2863 100755 --- a/rest/index.php +++ b/rest/index.php @@ -100,7 +100,6 @@ $app->post('/contactsGroups/{id}/contacts', \Contact\controllers\ContactGroupCon $app->delete('/contactsGroups/{id}/contacts/{addressId}', \Contact\controllers\ContactGroupController::class . ':deleteContact'); $app->get('/contactsTypes', \Contact\controllers\ContactTypeController::class . ':get'); - //Docservers $app->get('/docservers', \Docserver\controllers\DocserverController::class . ':get'); $app->post('/docservers', \Docserver\controllers\DocserverController::class . ':create'); diff --git a/sql/develop.sql b/sql/develop.sql index 4749d0a2108c313af95176ffd318bc4aac7b0f25..7d3ac223cabfa8631a083bf2c29114749f24abd4 100644 --- a/sql/develop.sql +++ b/sql/develop.sql @@ -35,5 +35,7 @@ ALTER TABLE docservers DROP COLUMN IF EXISTS chain_before; ALTER TABLE docservers DROP COLUMN IF EXISTS chain_after; ALTER TABLE docservers DROP COLUMN IF EXISTS closing_date; ALTER TABLE docservers DROP COLUMN IF EXISTS enabled; +ALTER TABLE docservers DROP COLUMN IF EXISTS id; +ALTER TABLE docservers ADD COLUMN id serial; DROP TABLE IF EXISTS docserver_locations; diff --git a/sql/structure.sql b/sql/structure.sql index b9944a880238993e4aa4748ff0c5e6fb8f00985e..a4f9c310d870f9fcb1ae37da2314704bf9f9c97a 100755 --- a/sql/structure.sql +++ b/sql/structure.sql @@ -60,6 +60,7 @@ WITH (OIDS=FALSE); CREATE TABLE docservers ( + id serial, docserver_id character varying(32) NOT NULL DEFAULT '1'::character varying, docserver_type_id character varying(32) NOT NULL, device_label character varying(255) DEFAULT NULL::character varying, diff --git a/src/app/docserver/controllers/DocserverController.php b/src/app/docserver/controllers/DocserverController.php index d179ef250fb1c9abff83efc2a76e722a036ad77c..722a5b1de48e4dc3cff7297d40bf18c10e3ddada 100644 --- a/src/app/docserver/controllers/DocserverController.php +++ b/src/app/docserver/controllers/DocserverController.php @@ -47,7 +47,7 @@ class DocserverController $types[] = $docserver['docserver_type_id']; } - return $response->withJson(['docservers' => $sortedDocservers, 'types' => array_unique($types)]); + return $response->withJson(['docservers' => $sortedDocservers, 'types' => array_values(array_unique($types))]); } public function getById(Request $request, Response $response, array $aArgs) @@ -84,7 +84,7 @@ class DocserverController return $response->withStatus(400)->withJson(['errors' => 'Bad Request']); } - $existingDocserver = DocserverModel::getById(['id' => $data['docserver_id'], 'select' => ['1']]); + $existingDocserver = DocserverModel::getByDocserverId(['docserverId' => $data['docserver_id'], 'select' => ['1']]); if (!empty($existingDocserver)) { return $response->withStatus(400)->withJson(['errors' => _ID. ' ' . _ALREADY_EXISTS]); } @@ -133,7 +133,7 @@ class DocserverController } $updateData = [ - 'docserver_id' => $aArgs['id'], + 'id' => $aArgs['id'], 'device_label' => $data['device_label'], 'size_limit_number' => $data['size_limit_number'], 'path_template' => $data['path_template'], @@ -147,7 +147,7 @@ class DocserverController 'tableName' => 'docservers', 'recordId' => $aArgs['id'], 'eventType' => 'UP', - 'info' => _DOCSERVER_UPDATED . " : {$aArgs['id']}", + 'info' => _DOCSERVER_UPDATED . " : {$data['device_label']}", 'moduleId' => 'docserver', 'eventId' => 'docserverModification', ]); @@ -166,7 +166,7 @@ class DocserverController return $response->withStatus(400)->withJson(['errors' => 'Docserver does not exist']); } - DocserverModel::delete(['docserver_id' => $aArgs['id']]); + DocserverModel::delete(['id' => $aArgs['id']]); HistoryController::add([ 'tableName' => 'docservers', 'recordId' => $aArgs['id'], @@ -176,7 +176,7 @@ class DocserverController 'eventId' => 'docserverSuppression', ]); - return $response->withJson(['docservers' => DocserverModel::get()]); + return $response->withJson(['sucess' => 'success']); } public static function storeResourceOnDocServer(array $aArgs) @@ -229,7 +229,7 @@ class DocserverController $destinationDir = str_replace(DIRECTORY_SEPARATOR, '#', $destinationDir); DocserverModel::update([ - 'docserver_id' => $docserver['docserver_id'], + 'id' => $docserver['id'], 'actual_size_number' => $docserver['actual_size_number'] + $aArgs['fileInfos']['size'] ]); diff --git a/src/app/docserver/models/DocserverModelAbstract.php b/src/app/docserver/models/DocserverModelAbstract.php index 5a4d6e71a065807f2dec01a5a131f3bd9c80297b..8d81c8a605c503d4b77f947144ac78f50e688bdf 100644 --- a/src/app/docserver/models/DocserverModelAbstract.php +++ b/src/app/docserver/models/DocserverModelAbstract.php @@ -32,15 +32,16 @@ class DocserverModelAbstract return $aDocservers; } - public static function getById(array $aArgs = []) + public static function getById(array $aArgs) { ValidatorModel::notEmpty($aArgs, ['id']); - ValidatorModel::stringType($aArgs, ['id']); + ValidatorModel::intVal($aArgs, ['id']); + ValidatorModel::arrayType($aArgs, ['select']); $aDocserver = DatabaseModel::select([ 'select' => empty($aArgs['select']) ? ['*'] : $aArgs['select'], 'table' => ['docservers'], - 'where' => ['docserver_id = ?'], + 'where' => ['id = ?'], 'data' => [$aArgs['id']] ]); @@ -51,19 +52,44 @@ class DocserverModelAbstract return $aDocserver[0]; } - public static function getByTypeId(array $aArgs = []) + public static function getByDocserverId(array $aArgs) + { + ValidatorModel::notEmpty($aArgs, ['docserverId']); + ValidatorModel::stringType($aArgs, ['docserverId']); + ValidatorModel::arrayType($aArgs, ['select']); + + $aDocserver = DatabaseModel::select([ + 'select' => empty($aArgs['select']) ? ['*'] : $aArgs['select'], + 'table' => ['docservers'], + 'where' => ['docserver_id = ?'], + 'data' => [$aArgs['docserverId']] + ]); + + if (empty($aDocserver[0])) { + return []; + } + + return $aDocserver[0]; + } + + public static function getByTypeId(array $aArgs) { ValidatorModel::notEmpty($aArgs, ['docserver_type_id']); ValidatorModel::stringType($aArgs, ['docserver_type_id']); + ValidatorModel::arrayType($aArgs, ['select']); - $aReturn = DatabaseModel::select([ + $aDocserver = DatabaseModel::select([ 'select' => empty($aArgs['select']) ? ['*'] : $aArgs['select'], 'table' => ['docservers'], 'where' => ['docserver_type_id = ?'], 'data' => [$aArgs['docserver_type_id']] ]); - return $aReturn[0]; + if (empty($aDocserver[0])) { + return []; + } + + return $aDocserver[0]; } public static function getByCollId(array $aArgs) @@ -117,14 +143,17 @@ class DocserverModelAbstract public static function update(array $aArgs) { - ValidatorModel::notEmpty($aArgs, ['docserver_id']); - ValidatorModel::stringType($aArgs, ['docserver_id']); + ValidatorModel::notEmpty($aArgs, ['id']); + ValidatorModel::stringType($aArgs, ['id']); + + $id = $aArgs['id']; + unset($aArgs['id']); DatabaseModel::update([ 'table' => 'docservers', 'set' => $aArgs, - 'where' => ['docserver_id = ?'], - 'data' => [$aArgs['docserver_id']] + 'where' => ['id = ?'], + 'data' => [$id] ]); return true; @@ -132,13 +161,13 @@ class DocserverModelAbstract public static function delete(array $aArgs) { - ValidatorModel::notEmpty($aArgs, ['docserver_id']); - ValidatorModel::stringType($aArgs, ['docserver_id']); + ValidatorModel::notEmpty($aArgs, ['id']); + ValidatorModel::stringType($aArgs, ['id']); DatabaseModel::delete([ 'table' => 'docservers', - 'where' => ['docserver_id = ?'], - 'data' => [$aArgs['docserver_id']] + 'where' => ['id = ?'], + 'data' => [$aArgs['id']] ]); return true; diff --git a/src/app/template/controllers/TemplateController.php b/src/app/template/controllers/TemplateController.php index aa58290dbe1a4c23850c058f23d06d716998f9be..97e8b19321c911d2904a24bca4d7391a9d4468d1 100644 --- a/src/app/template/controllers/TemplateController.php +++ b/src/app/template/controllers/TemplateController.php @@ -34,7 +34,7 @@ class TemplateController if ($template['template_type'] == 'OFFICE') { $docserver = DocserverModel::getByTypeId(['docserver_type_id' => 'TEMPLATES', 'select' => ['path_template']]); - $pathOnDocserver = DocserverController::createPathOnDocServer(['path' => $docserver[0]['path_template']]); + $pathOnDocserver = DocserverController::createPathOnDocServer(['path' => $docserver['path_template']]); $docinfo = DocserverController::getNextFileNameInDocServer(['pathOnDocserver' => $pathOnDocserver['pathToDocServer']]); $docinfo['fileDestinationName'] .= '.' . explode('.', $template['template_file_name'])[1];