From e422488fda7ed5aa4d1651f483dee138952a4119 Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Wed, 7 Oct 2020 18:21:49 +0200 Subject: [PATCH] FEAT #15045 TIME 1:20 Change archival fields in doctypes administration --- migration/20.10/2010.sql | 5 ++ sql/data_fr.sql | 2 +- sql/structure.sql | 1 + .../doctype/controllers/DoctypeController.php | 10 ++-- .../doctypes-administration.component.html | 50 +++++++++++++------ src/lang/lang-en.json | 7 ++- src/lang/lang-fr.json | 7 ++- 7 files changed, 60 insertions(+), 22 deletions(-) diff --git a/migration/20.10/2010.sql b/migration/20.10/2010.sql index cb487a89b96..38529965c89 100755 --- a/migration/20.10/2010.sql +++ b/migration/20.10/2010.sql @@ -286,6 +286,11 @@ CREATE TABLE search_templates ( CONSTRAINT search_templates_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); +/*ARCHIVAL*/ +ALTER TABLE doctypes DROP COLUMN IF EXISTS action_current_use; +ALTER TABLE doctypes ADD COLUMN action_current_use character varying(255) DEFAULT NULL; +UPDATE doctypes SET duration_current_use = duration_current_use * 30; + /* RE CREATE VIEWS */ CREATE OR REPLACE VIEW res_view_letterbox AS SELECT r.res_id, diff --git a/sql/data_fr.sql b/sql/data_fr.sql index 62ce7dfac10..8ac6fae9f64 100755 --- a/sql/data_fr.sql +++ b/sql/data_fr.sql @@ -1629,7 +1629,7 @@ UPDATE entities SET business_id = concat('45239273100025/',entity_id); UPDATE doctypes SET retention_final_disposition = 'destruction'; UPDATE doctypes SET retention_rule = 'compta_3_03'; -UPDATE doctypes SET duration_current_use = 12; +UPDATE doctypes SET duration_current_use = 365; ----- -- Password management diff --git a/sql/structure.sql b/sql/structure.sql index d3ba9631351..019eef42b06 100755 --- a/sql/structure.sql +++ b/sql/structure.sql @@ -73,6 +73,7 @@ CREATE TABLE doctypes doctypes_second_level_id integer, retention_final_disposition character varying(255) DEFAULT NULL, retention_rule character varying(15) DEFAULT NULL, + action_current_use character varying(255) DEFAULT NULL, duration_current_use integer, process_delay INTEGER NOT NULL, delay1 INTEGER NOT NULL, diff --git a/src/app/doctype/controllers/DoctypeController.php b/src/app/doctype/controllers/DoctypeController.php index 606144ce5d0..ee16f7717e9 100755 --- a/src/app/doctype/controllers/DoctypeController.php +++ b/src/app/doctype/controllers/DoctypeController.php @@ -89,9 +89,10 @@ class DoctypeController 'description' => $data['description'], 'doctypes_first_level_id' => $data['doctypes_first_level_id'], 'doctypes_second_level_id' => $data['doctypes_second_level_id'], - 'retention_final_disposition' => $data['retention_final_disposition'], - 'retention_rule' => $data['retention_rule'], 'duration_current_use' => $data['duration_current_use'], + 'action_current_use' => $data['action_current_use'], + 'retention_rule' => $data['retention_rule'], + 'retention_final_disposition' => $data['retention_final_disposition'], "process_delay" => $data['process_delay'], "delay1" => $data['delay1'], "delay2" => $data['delay2'], @@ -142,9 +143,10 @@ class DoctypeController 'description' => $data['description'], 'doctypes_first_level_id' => $data['doctypes_first_level_id'], 'doctypes_second_level_id' => $data['doctypes_second_level_id'], - 'retention_final_disposition' => empty($data['retention_final_disposition']) ? null : $data['retention_final_disposition'], - 'retention_rule' => $data['retention_rule'], 'duration_current_use' => $data['duration_current_use'], + 'action_current_use' => $data['action_current_use'], + 'retention_rule' => $data['retention_rule'], + 'retention_final_disposition' => empty($data['retention_final_disposition']) ? null : $data['retention_final_disposition'], "process_delay" => $data['process_delay'], "delay1" => $data['delay1'], "delay2" => $data['delay2'], diff --git a/src/frontend/app/administration/doctype/doctypes-administration.component.html b/src/frontend/app/administration/doctype/doctypes-administration.component.html index 705c01fe801..4a9201dd352 100755 --- a/src/frontend/app/administration/doctype/doctypes-administration.component.html +++ b/src/frontend/app/administration/doctype/doctypes-administration.component.html @@ -230,43 +230,63 @@ </mat-form-field> </div> </div> - <mat-accordion> + <mat-accordion multi> <mat-expansion-panel> <mat-expansion-panel-header> <mat-panel-title> - {{'lang.archival' | translate}} + {{'lang.currentUseRule' | translate}} </mat-panel-title> </mat-expansion-panel-header> <div class="form-group"> <div class="col-sm-12"> <mat-form-field> - <mat-select id="retention_final_disposition" - name="retention_final_disposition" - title="{{'lang.retentionFinalDisposition' | translate}}" - placeholder="{{'lang.retentionFinalDisposition' | translate}}" - [(ngModel)]="currentType.retention_final_disposition"> + <input matInput type="number" [(ngModel)]="currentType.duration_current_use" + name="duration_current_use" id="duration_current_use" title="{{'lang.durationCurrentUse' | translate}}" + placeholder="{{'lang.durationCurrentUse' | translate}}"> + </mat-form-field> + </div> + <div class="col-sm-12"> + <mat-form-field> + <mat-select id="action_current_use" + name="action_current_use" + title="{{'lang.finalAction' | translate}}" + placeholder="{{'lang.finalAction' | translate}}" + [(ngModel)]="currentType.action_current_use"> <mat-option value=""></mat-option> + <mat-option value="transfer">{{'lang.currentUseTransfer' | translate}}</mat-option> + <mat-option value="copy">{{'lang.currentUseCopy' | translate}}</mat-option> + <mat-option value="conservation">{{'lang.currentUseCnservation' | translate}}</mat-option> <mat-option value="destruction">{{'lang.destruction' | translate}}</mat-option> - <mat-option value="conservation">{{'lang.conservation' | translate}}</mat-option> </mat-select> </mat-form-field> </div> </div> + </mat-expansion-panel> + <mat-expansion-panel> + <mat-expansion-panel-header> + <mat-panel-title> + {{'lang.archival' | translate}} + </mat-panel-title> + </mat-expansion-panel-header> <div class="form-group"> - <div class="col-sm-6"> + <div class="col-sm-12"> <mat-form-field> <input matInput [(ngModel)]="currentType.retention_rule" name="retention_rule" id="retention_rule" title="{{'lang.retentionRule' | translate}}" type="text" placeholder="{{'lang.retentionRule' | translate}}" maxlength="15"> </mat-form-field> </div> - <div class="col-sm-6"> + <div class="col-sm-12"> <mat-form-field> - <input matInput [(ngModel)]="currentType.duration_current_use" - name="duration_current_use" id="duration_current_use" - title="{{'lang.durationCurrentUse' | translate}}" type="text" - placeholder="{{'lang.durationCurrentUse' | translate}}" pattern="^[0-9]*$"> - <!-- pattern without required attribute must be type text --> + <mat-select id="retention_final_disposition" + name="retention_final_disposition" + title="{{'lang.retentionFinalDisposition' | translate}}" + placeholder="{{'lang.retentionFinalDisposition' | translate}}" + [(ngModel)]="currentType.retention_final_disposition"> + <mat-option value=""></mat-option> + <mat-option value="destruction">{{'lang.destruction' | translate}}</mat-option> + <mat-option value="conservation">{{'lang.conservation' | translate}}</mat-option> + </mat-select> </mat-form-field> </div> </div> diff --git a/src/lang/lang-en.json b/src/lang/lang-en.json index 69b899a4a8a..f50d2a6fc1b 100644 --- a/src/lang/lang-en.json +++ b/src/lang/lang-en.json @@ -562,7 +562,12 @@ "draftUpdated": "Draft updated", "dragAndDrop": "Drag and drop", "duplicate": "Duplicate", - "durationCurrentUse": "Current usage duration (in month)", + "durationCurrentUse": "Current usage duration (in days)", + "currentUseRule": "Current use rule", + "finalAction": "Final action", + "currentUseTransfer": "Transfer to ERM (then destruction)", + "currentUseCopy": "Transfer to ERM (then restricted access)", + "currentUseCnservation": "Restricted access", "eachDay": "Each day", "eachHour": "Each hour", "eachMinute": "Each minute", diff --git a/src/lang/lang-fr.json b/src/lang/lang-fr.json index 12ca64c195f..0459c47f79a 100644 --- a/src/lang/lang-fr.json +++ b/src/lang/lang-fr.json @@ -564,7 +564,12 @@ "draftUpdated": "Brouillon modifié", "dragAndDrop": "Glisser-déposer", "duplicate": "Dupliquer", - "durationCurrentUse": "Durée d'utilité courante (en mois)", + "durationCurrentUse": "Durée de conservation (en jours)", + "currentUseRule": "Règle d'utilité courante", + "finalAction": "Action finale", + "currentUseTransfer": "Envoi SAE (puis destruction)", + "currentUseCopy": "Envoi SAE (puis accès restreint)", + "currentUseCnservation": "Accès restreint", "eachDay": "Chaque jour", "eachHour": "Toutes les heures", "eachMinute": "Toutes les minutes", -- GitLab