From dd1e6ea7804d3580b626edf7e140b497068507aa Mon Sep 17 00:00:00 2001
From: Hugues <hugues.cazeaux@unige.ch>
Date: Mon, 27 Apr 2020 18:56:23 +0200
Subject: [PATCH] feat: support metadata version in AIP

---
 .../aip-form/aip-form.presentational.html     | 107 ++++++------------
 src/assets/i18n/de.json                       |   3 +-
 src/assets/i18n/en.json                       |   3 +-
 src/assets/i18n/fr.json                       |   3 +-
 4 files changed, 41 insertions(+), 75 deletions(-)

diff --git a/src/app/features/preservation/aip/components/presentationals/aip-form/aip-form.presentational.html b/src/app/features/preservation/aip/components/presentationals/aip-form/aip-form.presentational.html
index fd8fe8876..b76581b1f 100644
--- a/src/app/features/preservation/aip/components/presentationals/aip-form/aip-form.presentational.html
+++ b/src/app/features/preservation/aip/components/presentationals/aip-form/aip-form.presentational.html
@@ -1,59 +1,38 @@
-<form [formGroup]="form"
-      class="form-two-columns"
->
+<form [formGroup]="form" class="form-two-columns">
   <div class="two-columns-wrapper">
     <div class="left-part">
       <dlcm-shared-searchable-single-select *ngIf="getFormControl(formDefinition.organizationalUnitId) as fd"
-                                            [resourceNameSpace]="appAuthorizedOrganizationalUnitNameSpace"
-                                            [state]="appAuthorizedOrganizationalUnitState"
-                                            [formControl]="fd"
-                                            [required]="formValidationHelper.hasRequiredField(fd)"
-                                            [labelKey]="'name'"
-                                            [valueKey]="'resId'"
-                                            [placeholder]="'aip.form.organizationUnit' | translate"
-                                            [readonly]="true"
-      >
+        [resourceNameSpace]="appAuthorizedOrganizationalUnitNameSpace" [state]="appAuthorizedOrganizationalUnitState"
+        [formControl]="fd" [required]="formValidationHelper.hasRequiredField(fd)" [labelKey]="'name'"
+        [valueKey]="'resId'" [placeholder]="'aip.form.organizationUnit' | translate" [readonly]="true">
       </dlcm-shared-searchable-single-select>
 
       <mat-form-field>
         <mat-label>{{'aip.form.resId' | translate }}</mat-label>
-        <input matInput
-               [formControlName]="formDefinition.id"
-        >
+        <input matInput [formControlName]="formDefinition.id">
       </mat-form-field>
 
       <mat-form-field>
         <mat-label>{{'aip.form.name' | translate }}</mat-label>
-        <input matInput
-               [formControlName]="formDefinition.name"
-        >
+        <input matInput [formControlName]="formDefinition.name">
       </mat-form-field>
 
       <mat-form-field>
         <mat-label>{{'aip.form.description' | translate }}</mat-label>
-        <textarea matInput
-                  cdkTextareaAutosize
-                  cdkAutosizeMinRows="5"
-                  cdkAutosizeMaxRows="7"
-                  [formControlName]="formDefinition.description"
-        >
+        <textarea matInput cdkTextareaAutosize cdkAutosizeMinRows="5" cdkAutosizeMaxRows="7"
+          [formControlName]="formDefinition.description">
     </textarea>
       </mat-form-field>
 
       <mat-form-field>
         <mat-label>{{'aip.form.yearOfcreation' | translate }}</mat-label>
-        <input matInput
-               [formControlName]="formDefinition.yearOfCreation"
-        >
+        <input matInput [formControlName]="formDefinition.yearOfCreation">
       </mat-form-field>
 
       <mat-form-field *ngIf="getFormControl(formDefinition.status) as fd">
         <mat-label>{{'aip.form.status' | translate }}</mat-label>
-        <mat-select [formControl]="fd"
-        >
-          <mat-option *ngFor="let packageStatus of packageStatusEnumValues"
-                      [value]="packageStatus.key"
-          >
+        <mat-select [formControl]="fd">
+          <mat-option *ngFor="let packageStatus of packageStatusEnumValues" [value]="packageStatus.key">
             {{packageStatus.value | translate}}
           </mat-option>
         </mat-select>
@@ -61,19 +40,14 @@
 
       <mat-form-field>
         <mat-label>{{'aip.form.lastChecksumCheck.label' | translate }}</mat-label>
-        <input matInput
-               [formControlName]="formDefinition.lastchecksumCheck"
-        >
+        <input matInput [formControlName]="formDefinition.lastchecksumCheck">
       </mat-form-field>
     </div>
     <div class="right-part">
       <mat-form-field *ngIf="getFormControl(formDefinition.accessLevel) as fd">
         <mat-label>{{'aip.form.accessLevel' | translate }}</mat-label>
-        <mat-select [formControl]="fd"
-        >
-          <mat-option *ngFor="let accessLevel of accessEnumValues"
-                      [value]="accessLevel.key"
-          >
+        <mat-select [formControl]="fd">
+          <mat-option *ngFor="let accessLevel of accessEnumValues" [value]="accessLevel.key">
             {{accessLevel.value | translate}}
           </mat-option>
         </mat-select>
@@ -81,58 +55,47 @@
 
 
       <dlcm-shared-searchable-single-select *ngIf="getFormControl(formDefinition.licenseId) as fd"
-                                            [resourceNameSpace]="sharedLicenseActionNameSpace"
-                                            [state]="sharedLicenseState"
-                                            [formControl]="fd"
-                                            [required]="formValidationHelper.hasRequiredField(fd)"
-                                            [labelKey]="'title'"
-                                            [valueKey]="'resId'"
-                                            [placeholder]="'aip.form.licence' | translate"
-                                            [readonly]="readonly"
-      >
+        [resourceNameSpace]="sharedLicenseActionNameSpace" [state]="sharedLicenseState" [formControl]="fd"
+        [required]="formValidationHelper.hasRequiredField(fd)" [labelKey]="'title'" [valueKey]="'resId'"
+        [placeholder]="'aip.form.licence' | translate" [readonly]="readonly">
       </dlcm-shared-searchable-single-select>
 
-      <dlcm-shared-compliance-level-rating [formControl]="getFormControl(formDefinition.complianceLevel)"></dlcm-shared-compliance-level-rating>
+      <dlcm-shared-compliance-level-rating [formControl]="getFormControl(formDefinition.complianceLevel)">
+      </dlcm-shared-compliance-level-rating>
 
       <mat-form-field>
         <mat-label>{{'aip.form.archive' | translate }}</mat-label>
-        <input matInput
-               [formControlName]="formDefinition.archive"
-        >
+        <input matInput [formControlName]="formDefinition.archive">
       </mat-form-field>
 
-      <mat-form-field>
-        <mat-label>{{'aip.form.container' | translate }}</mat-label>
-        <input matInput
-               [formControlName]="formDefinition.container"
-        >
-      </mat-form-field>
+      <div class="span-row">
+        <mat-form-field>
+          <mat-label>{{'aip.form.container' | translate }}</mat-label>
+          <input matInput [formControlName]="formDefinition.container">
+        </mat-form-field>
+        <mat-form-field>
+          <mat-label>{{'aip.form.metadataVersion' | translate }}</mat-label>
+          <input matInput [formControlName]="formDefinition.metadataVersion">
+        </mat-form-field>
+      </div>
 
       <div class="span-row">
         <mat-form-field>
           <mat-label>{{'aip.form.size' | translate }}</mat-label>
-          <input matInput
-                 [formControlName]="formDefinition.size"
-          >
+          <input matInput [formControlName]="formDefinition.size">
         </mat-form-field>
         <mat-form-field>
           <mat-label>{{'aip.form.files' | translate }}</mat-label>
-          <input matInput
-                 [formControlName]="formDefinition.files"
-          >
+          <input matInput [formControlName]="formDefinition.files">
         </mat-form-field>
       </div>
 
-      <div *ngIf="!(model.sipIds | isNullOrUndefined) && (model.sipIds | isNonEmptyArray)"
-           class="link"
-      >
+      <div *ngIf="!(model.sipIds | isNullOrUndefined) && (model.sipIds | isNonEmptyArray)" class="link">
         <mat-label class="disabled">{{'preservation.aip.form.sip' | translate}}</mat-label>
-        <a *ngFor="let sipId of model.sipIds; let i = index"
-           [href]="getSipPath(sipId)"
-        >
+        <a *ngFor="let sipId of model.sipIds; let i = index" [href]="getSipPath(sipId)">
           {{'app.sip' | translate:{number: i + 1} }}
         </a>
       </div>
     </div>
   </div>
-</form>
+</form>
\ No newline at end of file
diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json
index ae8ed98eb..27364432c 100644
--- a/src/assets/i18n/de.json
+++ b/src/assets/i18n/de.json
@@ -851,6 +851,7 @@
         "success": "Verification succeeded"
       },
       "licence": "Licence",
+      "metadataVersion": "Metadata version",
       "name": "Name",
       "organizationUnit": "Organizational unit",
       "resId": "ResId",
@@ -2633,4 +2634,4 @@
       }
     }
   }
-}
+}
\ No newline at end of file
diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json
index ae8ed98eb..27364432c 100644
--- a/src/assets/i18n/en.json
+++ b/src/assets/i18n/en.json
@@ -851,6 +851,7 @@
         "success": "Verification succeeded"
       },
       "licence": "Licence",
+      "metadataVersion": "Metadata version",
       "name": "Name",
       "organizationUnit": "Organizational unit",
       "resId": "ResId",
@@ -2633,4 +2634,4 @@
       }
     }
   }
-}
+}
\ No newline at end of file
diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json
index c4c0c788f..77a34e8ff 100644
--- a/src/assets/i18n/fr.json
+++ b/src/assets/i18n/fr.json
@@ -851,6 +851,7 @@
         "success": "Vérification réussie"
       },
       "licence": "Licence",
+      "metadataVersion": "Version des métadonnées",
       "name": "Nom",
       "organizationUnit": "Unité organisationnelle",
       "resId": "Identifiant",
@@ -2633,4 +2634,4 @@
       }
     }
   }
-}
+}
\ No newline at end of file
-- 
GitLab