Skip to content

Commit a859651

Browse files
authored
Merge pull request #218 from jonashirner/ISO-27001-2022
Prepared DSOMM for ISO 27001:2022; added mapping
2 parents 107394c + 1b099ef commit a859651

26 files changed

Lines changed: 819 additions & 86 deletions

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,5 @@ testem.log
4343
.DS_Store
4444
Thumbs.db
4545
/yaml-generation/vendor/
46-
4746
# Generated YAML
48-
/src/assets/YAML/generated/generated.yaml
47+
/src/assets/YAML/generated/generated.yaml

src/app/component/mapping/mapping.component.html

Lines changed: 49 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,13 @@
4949
<mat-button-toggle
5050
value="sortByISO"
5151
(click)="changeTableBasedOnCurrentSort()"
52-
>ISO</mat-button-toggle
52+
>ISO 27001:2017</mat-button-toggle
5353
>
54+
<mat-button-toggle
55+
value="sortByISO22"
56+
(click)="changeTableBasedOnCurrentSort()"
57+
>ISO 27001:2022</mat-button-toggle
58+
>
5459
</mat-button-toggle-group>
5560
</section>
5661
</div>
@@ -80,7 +85,7 @@
8085
<th mat-header-cell *matHeaderCellDef>SAMM</th>
8186
<td mat-cell *matCellDef="let element">{{ element.samm2 }}</td>
8287
</ng-container>
83-
<ng-container *ngIf="currentlySortingByTask || currentlySortingByISO">
88+
<ng-container *ngIf="currentlySortingByTask || currentlySortingByISO || currentlySortingByISO22">
8489
<th mat-header-cell *matHeaderCellDef>SAMM</th>
8590
<td mat-cell *matCellDef="let element">
8691
<ul>
@@ -94,12 +99,12 @@
9499

95100
<ng-container matColumnDef="ISO">
96101
<ng-container *ngIf="currentlySortingByISO">
97-
<th mat-header-cell *matHeaderCellDef>ISO</th>
102+
<th mat-header-cell *matHeaderCellDef>ISO 27001:2017</th>
98103
<td mat-cell *matCellDef="let element">{{ element.ISO }}</td>
99104
</ng-container>
100105

101-
<ng-container *ngIf="currentlySortingByTask || currentlySortingBySAMM">
102-
<th mat-header-cell *matHeaderCellDef>ISO</th>
106+
<ng-container *ngIf="currentlySortingByTask || currentlySortingBySAMM || currentlySortingByISO22">
107+
<th mat-header-cell *matHeaderCellDef>ISO 27001:2017</th>
103108
<td mat-cell *matCellDef="let element">
104109
<ul>
105110
<li *ngFor="let ISOElement of element.ISO">
@@ -110,6 +115,24 @@
110115
</ng-container>
111116
</ng-container>
112117

118+
<ng-container matColumnDef="ISO22">
119+
<ng-container *ngIf="currentlySortingByISO22">
120+
<th mat-header-cell *matHeaderCellDef>ISO 27001:2022</th>
121+
<td mat-cell *matCellDef="let element">{{ element.ISO22 }}</td>
122+
</ng-container>
123+
124+
<ng-container *ngIf="currentlySortingByTask || currentlySortingBySAMM || currentlySortingByISO">
125+
<th mat-header-cell *matHeaderCellDef>ISO 27001:2022</th>
126+
<td mat-cell *matCellDef="let element">
127+
<ul>
128+
<li *ngFor="let ISO22Element of element.ISO22">
129+
{{ ISO22Element }}
130+
</li>
131+
</ul>
132+
</td>
133+
</ng-container>
134+
</ng-container>
135+
113136
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
114137
<tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
115138
</table>
@@ -132,26 +155,29 @@
132155
<th>Comments</th>
133156
<th>Depends On</th>
134157
<th>SAMM</th>
135-
<th>ISO</th>
158+
<th>ISO 27001:2017</th>
159+
<th>ISO 27001:2022</th>
136160
</tr>
137161
<tr *ngFor="let item of allMappingDataSortedByISO">
138-
<td>{{ item.dimension }}</td>
139-
<td>{{ item.subDimension }}</td>
140-
<td>{{ item.taskName }}</td>
141-
<td>{{ item.description }}</td>
142-
<td>{{ item.risk }}</td>
143-
<td>{{ item.measure }}</td>
144-
<td>{{ item.knowledge }}</td>
145-
<td>{{ item.resources }}</td>
146-
<td>{{ item.time }}</td>
147-
<td>{{ item.usefulness }}</td>
148-
<td>{{ item.implementation }}</td>
149-
<td>{{ item.assessment }}</td>
150-
<td>{{ item.evidence }}</td>
151-
<td>{{ item.comments }}</td>
152-
<td>{{ item.dependsOn }}</td>
153-
<td>{{ item.samm2 }}</td>
154-
<td>{{ item.ISO }}</td>
162+
<!-- checking if item is defined and set & truncating at 32767 characters per cell to fit to excel limitations-->
163+
<td><ng-container *ngIf="item.dimension && item.dimension.length>0"> {{ item.dimension | slice:0:32767 }}</ng-container></td>
164+
<td><ng-container *ngIf="item.subDimension && item.subDimension.length>0"> {{ item.subDimension | slice:0:32767 }}</ng-container></td>
165+
<td><ng-container *ngIf="item.taskName && item.taskName.length>0"> {{ item.taskName | slice:0:32767 }}</ng-container></td>
166+
<td><ng-container *ngIf="item.description && item.description.length>0"> {{ item.description | slice:0:32767 }}</ng-container></td>
167+
<td><ng-container *ngIf="item.risk && item.risk.length>0"> {{ item.risk | slice:0:32767 }}</ng-container></td>
168+
<td><ng-container *ngIf="item.measure && item.measure.length>0"> {{ item.measure | slice:0:32767 }}</ng-container></td>
169+
<td><ng-container *ngIf="item.knowledge && item.knowledge.length>0"> {{ item.knowledge | slice:0:32767 }}</ng-container></td>
170+
<td><ng-container *ngIf="item.resources && item.resources.length>0"> {{ item.resources | slice:0:32767 }}</ng-container></td>
171+
<td><ng-container *ngIf="item.time && item.time.length>0"> {{ item.time | slice:0:32767 }}</ng-container></td>
172+
<td><ng-container *ngIf="item.usefulness && item.usefulness.length>0"> {{ item.usefulness | slice:0:32767 }}</ng-container></td>
173+
<td><ng-container *ngIf="item.implementation && item.implementation.length>0"> {{ item.implementation | slice:0:32767 }}</ng-container></td>
174+
<td><ng-container *ngIf="item.assessment && item.assessment.length>0"> {{ item.assessment | slice:0:32767 }}</ng-container></td>
175+
<td><ng-container *ngIf="item.evidence && item.evidence.length>0"> {{ item.evidence | slice:0:32767 }}</ng-container></td>
176+
<td><ng-container *ngIf="item.comments && item.comments.length>0"> {{ item.comments | slice:0:32767 }}</ng-container></td>
177+
<td><ng-container *ngIf="item.dependsOn && item.dependsOn.length>0"> {{ item.dependsOn | slice:0:32767 }}</ng-container></td>
178+
<td><ng-container *ngIf="item.samm2 && item.samm2.length>0"> {{ item.samm2 | slice:0:32767 }}</ng-container></td>
179+
<td><ng-container *ngIf="item.ISO && item.ISO.length>0"> {{ item.ISO | slice:0:32767 }}</ng-container></td>
180+
<td><ng-container *ngIf="item.ISO22 && item.ISO22.length>0"> {{ item.ISO22 | slice:0:32767 }}</ng-container></td>
155181
</tr>
156182
</table>
157183
</div>

0 commit comments

Comments
 (0)