diff --git a/migration/20.10/2010.sql b/migration/20.10/2010.sql index cb487a89b9684750a19e0bf45bfbbf5896b270fc..38529965c89e9690c9ea37397af58dcef9ea27f6 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 62ce7dfac106cfa02d0c61117280bc4a6d801fc7..8ac6fae9f64a5460218d2dbf6c4b5ea44f512f87 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 d3ba963135150eb820d95d3bec12294aa952a9c0..019eef42b067658f114813963f9d59c3781e8be3 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 606144ce5d020d65219f9785f8cb712d41b6e673..ee16f7717e921b2b4405cc3ba18314afda352603 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 705c01fe80154da2d5a0266df8407373562a5bd3..4a9201dd3528a60c4521828fb49e4b98c96b2eb2 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 69b899a4a8af28eb22efa1f256148ea1eb70ac07..f50d2a6fc1b39e959b6b1ca470d2776390262b0e 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 12ca64c195ff8b40d3a6cd14d1af7f0e2199a81e..0459c47f79a6709fcc54e114588f83dc8633188b 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",