diff --git a/sql/develop.sql b/sql/develop.sql index 7d3ac223cabfa8631a083bf2c29114749f24abd4..26e2eed237d6352a4d2ab5e79a9897a2557cceaf 100644 --- a/sql/develop.sql +++ b/sql/develop.sql @@ -37,5 +37,6 @@ 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; +ALTER TABLE docservers ADD UNIQUE (id); DROP TABLE IF EXISTS docserver_locations; diff --git a/sql/structure.sql b/sql/structure.sql index a4f9c310d870f9fcb1ae37da2314704bf9f9c97a..97964ca389dfa5ff12424443b2c17f0c051e4c36 100755 --- a/sql/structure.sql +++ b/sql/structure.sql @@ -73,7 +73,8 @@ CREATE TABLE docservers coll_id character varying(32) NOT NULL DEFAULT 'coll_1'::character varying, priority_number integer NOT NULL DEFAULT 10, adr_priority_number integer NOT NULL DEFAULT 1, - CONSTRAINT docservers_pkey PRIMARY KEY (docserver_id) + CONSTRAINT docservers_pkey PRIMARY KEY (docserver_id), + CONSTRAINT docservers_id_key UNIQUE (id) ) WITH (OIDS=FALSE); diff --git a/src/app/docserver/controllers/DocserverController.php b/src/app/docserver/controllers/DocserverController.php index 722a5b1de48e4dc3cff7297d40bf18c10e3ddada..05cff638650b2b99d871263bb3c7545a37d5fda4 100644 --- a/src/app/docserver/controllers/DocserverController.php +++ b/src/app/docserver/controllers/DocserverController.php @@ -42,6 +42,11 @@ class DocserverController } else { $docserver['actualSizeFormatted'] = round($docserver['actual_size_number'] / 1000000, 3) . ' Mo'; } + if ($docserver['size_limit_number'] > 1000000000) { + $docserver['limitSizeFormatted'] = round($docserver['size_limit_number'] / 1000000000, 3) . ' Go'; + } else { + $docserver['limitSizeFormatted'] = round($docserver['size_limit_number'] / 1000000, 3) . ' Mo'; + } $docserver['percentage'] = round($docserver['actual_size_number'] / $docserver['size_limit_number'] * 100, 2); $sortedDocservers[$docserver['docserver_type_id']][] = $docserver; $types[] = $docserver['docserver_type_id']; @@ -94,7 +99,7 @@ class DocserverController $data['is_readonly'] = empty($data['is_readonly']) ? 'N' : 'Y'; - DocserverModel::create($data); + $id = DocserverModel::create($data); HistoryController::add([ 'tableName' => 'docservers', 'recordId' => $data['docserver_id'], @@ -104,7 +109,7 @@ class DocserverController 'eventId' => 'docserverCreation', ]); - return $response->withJson(['docserver' => $data['docserver_id']]); + return $response->withJson(['docserver' => $id]); } public function update(Request $request, Response $response, array $aArgs) diff --git a/src/app/docserver/models/DocserverModelAbstract.php b/src/app/docserver/models/DocserverModelAbstract.php index 8d81c8a605c503d4b77f947144ac78f50e688bdf..7a149eec1002df5c0b50ad42209263b3afa967d9 100644 --- a/src/app/docserver/models/DocserverModelAbstract.php +++ b/src/app/docserver/models/DocserverModelAbstract.php @@ -122,9 +122,12 @@ class DocserverModelAbstract ValidatorModel::stringType($aArgs, ['docserver_id', 'docserver_type_id', 'device_label', 'path_template', 'coll_id', 'is_readonly']); ValidatorModel::intVal($aArgs, ['size_limit_number', 'priority_number', 'adr_priority_number']); + $nextSequenceId = DatabaseModel::getNextSequenceValue(['sequenceId' => 'docservers_id_seq']); + DatabaseModel::insert([ 'table' => 'docservers', 'columnsValues' => [ + 'id' => $nextSequenceId, 'docserver_id' => $aArgs['docserver_id'], 'docserver_type_id' => $aArgs['docserver_type_id'], 'device_label' => $aArgs['device_label'], @@ -138,7 +141,7 @@ class DocserverModelAbstract ] ]); - return true; + return $nextSequenceId; } public static function update(array $aArgs)