wbcompliance 2.2.4__py2.py3-none-any.whl → 2.2.6__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wbcompliance/fixtures/compliance.yaml +16 -0
- wbcompliance/locale/de/LC_MESSAGES/django.po +1446 -0
- wbcompliance/locale/fr/LC_MESSAGES/django.po +1446 -0
- wbcompliance/templates/compliance/compliance_form.html +320 -0
- wbcompliance/templates/compliance/review_compliance_task_report.html +232 -0
- wbcompliance/templates/risk_management/incident_notification.html +42 -0
- wbcompliance/templates/risk_management/incident_report.html +5 -0
- {wbcompliance-2.2.4.dist-info → wbcompliance-2.2.6.dist-info}/METADATA +2 -2
- {wbcompliance-2.2.4.dist-info → wbcompliance-2.2.6.dist-info}/RECORD +10 -3
- {wbcompliance-2.2.4.dist-info → wbcompliance-2.2.6.dist-info}/WHEEL +1 -1
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
{% load static %}
|
|
2
|
+
{% load humanize %}
|
|
3
|
+
<!DOCTYPE html>
|
|
4
|
+
<html lang="en">
|
|
5
|
+
|
|
6
|
+
<head>
|
|
7
|
+
<meta charset="UTF-8">
|
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
9
|
+
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
10
|
+
<title>{{ form.title }}</title>
|
|
11
|
+
<link href="https://fonts.googleapis.com/css?family=Roboto:300,500&display=swap" rel="stylesheet">
|
|
12
|
+
<link rel="shortcut icon" type="image/png" href="{% static 'favicon.ico' %}" />
|
|
13
|
+
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
|
|
14
|
+
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
|
|
15
|
+
<style>
|
|
16
|
+
html, body {
|
|
17
|
+
min-height: 100%;
|
|
18
|
+
padding: 0px;
|
|
19
|
+
margin: 0px;
|
|
20
|
+
font-family: 'Roboto', sans-serif;
|
|
21
|
+
font-size: 12px;
|
|
22
|
+
font-weight: 300;
|
|
23
|
+
color: #000000;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.company-logo {
|
|
27
|
+
width: 300px;
|
|
28
|
+
}
|
|
29
|
+
.product-table {
|
|
30
|
+
width: 100%;
|
|
31
|
+
align-self: center;
|
|
32
|
+
margin: auto;
|
|
33
|
+
justify-self: center;
|
|
34
|
+
}
|
|
35
|
+
.month {
|
|
36
|
+
color: #3c4759;
|
|
37
|
+
font-weight: bold;
|
|
38
|
+
font-size: small;
|
|
39
|
+
}
|
|
40
|
+
.text_center{
|
|
41
|
+
text-align: center;
|
|
42
|
+
}
|
|
43
|
+
.header-content th {
|
|
44
|
+
text-align: left;
|
|
45
|
+
width: 210px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.headline {
|
|
49
|
+
background-color: #3c4759;
|
|
50
|
+
color: white;
|
|
51
|
+
text-align: center;
|
|
52
|
+
font-weight: 500;
|
|
53
|
+
font-size: 12pt;
|
|
54
|
+
padding-top: 10px;
|
|
55
|
+
padding-bottom: 10px;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.header {
|
|
59
|
+
width: 100%;
|
|
60
|
+
display: flex;
|
|
61
|
+
flex-direction: row;
|
|
62
|
+
justify-content: space-between;
|
|
63
|
+
align-items: center;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.table {
|
|
67
|
+
width: 100%;
|
|
68
|
+
border: none;
|
|
69
|
+
border-collapse: collapse;
|
|
70
|
+
margin: auto
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.table>tbody, .table>tfoot {
|
|
74
|
+
background-color: transparent
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.table>thead {
|
|
78
|
+
background-color: #9ca3ad;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.top-row {
|
|
82
|
+
border-top: 1px solid lightgrey;
|
|
83
|
+
}
|
|
84
|
+
.table>thead {
|
|
85
|
+
height: 30px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.table>tbody>tr:last-child>td, .table>tbody>tr:last-child>th {
|
|
89
|
+
padding-bottom: 15px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.table>thead>tr>th {
|
|
93
|
+
color: white;
|
|
94
|
+
font-weight: 500;
|
|
95
|
+
vertical-align: middle;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.table td, .table th {
|
|
99
|
+
line-height: 1.4em;
|
|
100
|
+
font-size: 1.1em;
|
|
101
|
+
font-weight: 300;
|
|
102
|
+
vertical-align: top;
|
|
103
|
+
text-align: justify;
|
|
104
|
+
overflow: hidden;
|
|
105
|
+
}
|
|
106
|
+
table.print-friendly tr td, table.print-friendly tr th {
|
|
107
|
+
page-break-inside: avoid;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
#summery_table tr:nth-child(even){background-color: #f2f2f2;}
|
|
111
|
+
#summery_table tbody th, #summery_table tbody th{border: '1px solid #ddd';}
|
|
112
|
+
.comments {
|
|
113
|
+
font-style: italic;font-size: 10px;
|
|
114
|
+
text-align: justify;
|
|
115
|
+
background-color: #f2f2f2;
|
|
116
|
+
}
|
|
117
|
+
.subtitle {
|
|
118
|
+
font-weight: bold;
|
|
119
|
+
}
|
|
120
|
+
@media print {
|
|
121
|
+
.pagebreak { page-break-before: always; } /* page-break-after works, as well */
|
|
122
|
+
}
|
|
123
|
+
</style>
|
|
124
|
+
</head>
|
|
125
|
+
<body>
|
|
126
|
+
|
|
127
|
+
{% if is_signature %}
|
|
128
|
+
<div class="product-table">
|
|
129
|
+
<div class="header">
|
|
130
|
+
<a href="https://www.atonra.ch" target="_blank" id="companylink">
|
|
131
|
+
<img max-width="100px" class="company-logo" title="Atonrâ Website" src="{% static 'portfolio/img/logo-atonra.svg' %}">
|
|
132
|
+
</a>
|
|
133
|
+
<div class="date">As of {{ today|date:"M. jS, Y" }}</div>
|
|
134
|
+
</div>
|
|
135
|
+
<br/><br/>
|
|
136
|
+
<div class="header-content">
|
|
137
|
+
<div>
|
|
138
|
+
<span class="month">{{ form.compliance_form.title }}</span>
|
|
139
|
+
<br/><br/>
|
|
140
|
+
</div>
|
|
141
|
+
<div>
|
|
142
|
+
<table>
|
|
143
|
+
<tr>
|
|
144
|
+
<th>Version :</th>
|
|
145
|
+
<td class="subject"> {{ form.version }}</td>
|
|
146
|
+
</tr>
|
|
147
|
+
<tr>
|
|
148
|
+
<th>Period covered :</th>
|
|
149
|
+
<td class="date">{{ form.start|date:"j.m.Y" }} - {{ form.end|date:"j.m.Y" }}</td>
|
|
150
|
+
</tr>
|
|
151
|
+
<tr>
|
|
152
|
+
<th>Signer :</th>
|
|
153
|
+
<td>{{ form.person }}</td>
|
|
154
|
+
</tr>
|
|
155
|
+
<tr>
|
|
156
|
+
<th>Signed :</th>
|
|
157
|
+
<td>{{ form.signed }}</td>
|
|
158
|
+
</tr>
|
|
159
|
+
</table>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
</div>
|
|
163
|
+
|
|
164
|
+
{% if form_type == "TEXT" %}
|
|
165
|
+
{{ form.compliance_form.policy|safe }}
|
|
166
|
+
{% endif %}
|
|
167
|
+
|
|
168
|
+
</br><p></p></br>
|
|
169
|
+
|
|
170
|
+
{% if form_type == "FORM" %}
|
|
171
|
+
<div class="product-table">
|
|
172
|
+
{% for section in form.compliance_form_signatures.all %}
|
|
173
|
+
<div class="widget">
|
|
174
|
+
<div class="headline">
|
|
175
|
+
{{ forloop.counter }} - {{ section.name }}
|
|
176
|
+
</div>
|
|
177
|
+
<table class="table" class="print-friendly" style="margin-bottom: 20px;">
|
|
178
|
+
<thead>
|
|
179
|
+
<tr>
|
|
180
|
+
<th style="width:60%; text-align: center;">Subjects</th>
|
|
181
|
+
<th style="width:10%; text-align: center;">Answer</th>
|
|
182
|
+
<th style="width:20%; text-align: center;">Remarks</th>
|
|
183
|
+
</tr>
|
|
184
|
+
</thead>
|
|
185
|
+
<tbody>
|
|
186
|
+
<div class="maininfo">
|
|
187
|
+
{% for rule in section.rules.all %}
|
|
188
|
+
<tr class="top-row">
|
|
189
|
+
<td style="text-align: justify;font-size:11px;margin-left: 2px;">
|
|
190
|
+
{% if rule.text %}
|
|
191
|
+
{{ rule.text|safe }}
|
|
192
|
+
{% endif %}
|
|
193
|
+
</td>
|
|
194
|
+
<td class='{{ rule.risk_level }}' style="text-align: center;font-weight: bold;">
|
|
195
|
+
{{ rule.ticked }}
|
|
196
|
+
</td>
|
|
197
|
+
<td style="text-align: justify;">
|
|
198
|
+
{% if rule.comments %}
|
|
199
|
+
{{ rule.comments|safe }}
|
|
200
|
+
{% endif %}
|
|
201
|
+
</td>
|
|
202
|
+
</tr>
|
|
203
|
+
{% endfor %}
|
|
204
|
+
</div>
|
|
205
|
+
</tbody>
|
|
206
|
+
|
|
207
|
+
</table>
|
|
208
|
+
</div>
|
|
209
|
+
{% endfor %}
|
|
210
|
+
</div>
|
|
211
|
+
{% endif %}
|
|
212
|
+
|
|
213
|
+
{% else %}
|
|
214
|
+
<div class="product-table" id="table">
|
|
215
|
+
<div class="header">
|
|
216
|
+
<a href="https://www.atonra.ch" target="_blank" id="companylink">
|
|
217
|
+
<img max-width="100px" class="company-logo" title="Atonrâ Website" src="{% static 'portfolio/img/logo-atonra.svg' %}">
|
|
218
|
+
</a>
|
|
219
|
+
<div class="date">As of {{ today|date:"M. jS, Y" }}</div>
|
|
220
|
+
</div>
|
|
221
|
+
<br/><br/>
|
|
222
|
+
<div class="header-content">
|
|
223
|
+
<div>
|
|
224
|
+
<span class="month">{{ form.title }}</span>
|
|
225
|
+
<br/><br/>
|
|
226
|
+
</div>
|
|
227
|
+
<div>
|
|
228
|
+
<table>
|
|
229
|
+
<tr>
|
|
230
|
+
<th>Version :</th>
|
|
231
|
+
<td class="subject"> {{ form.version }}</td>
|
|
232
|
+
</tr>
|
|
233
|
+
<tr>
|
|
234
|
+
<th>Period covered :</th>
|
|
235
|
+
<td class="date">{{ form.start|date:"j.m.Y" }} - {{ form.end|date:"j.m.Y" }}</td>
|
|
236
|
+
</tr>
|
|
237
|
+
<tr>
|
|
238
|
+
<th>Status :</th>
|
|
239
|
+
<td style="font-weight: bold;" >{{ form.status }}</td>
|
|
240
|
+
</tr>
|
|
241
|
+
<tr>
|
|
242
|
+
<th>Persons target :</th>
|
|
243
|
+
{% if form.only_internal %}
|
|
244
|
+
<td>Internals </td>
|
|
245
|
+
{% else %}
|
|
246
|
+
<td>Internal and External</td>
|
|
247
|
+
{% endif %}
|
|
248
|
+
</tr>
|
|
249
|
+
</table>
|
|
250
|
+
</div>
|
|
251
|
+
</div>
|
|
252
|
+
<div>
|
|
253
|
+
<p>
|
|
254
|
+
<span class="subtitle">Signers Group: </th><br/>
|
|
255
|
+
<ul>
|
|
256
|
+
{% for group in form.assigned_to.all %}
|
|
257
|
+
<li>{{ group.name }}</li>
|
|
258
|
+
{% endfor %}
|
|
259
|
+
</ul>
|
|
260
|
+
</p>
|
|
261
|
+
</div>
|
|
262
|
+
</div>
|
|
263
|
+
|
|
264
|
+
</br><p></p></br>
|
|
265
|
+
|
|
266
|
+
{% if form_type == "TEXT" %}
|
|
267
|
+
{{ form.compliance_form.policy|safe }}
|
|
268
|
+
{% endif %}
|
|
269
|
+
|
|
270
|
+
{% if form_type == "FORM" %}
|
|
271
|
+
<div class="product-table" id="table">
|
|
272
|
+
{% for section in form.compliance_forms.all %}
|
|
273
|
+
<div class="widget">
|
|
274
|
+
<div class="headline">
|
|
275
|
+
{{ forloop.counter }} - {{ section.name }}
|
|
276
|
+
</div>
|
|
277
|
+
<table class="table" class="print-friendly" style="margin-bottom: 20px;">
|
|
278
|
+
<thead>
|
|
279
|
+
<tr>
|
|
280
|
+
<th style="width:60%; text-align: center;">Subjects</th>
|
|
281
|
+
<th style="width:10%; text-align: center;">Expected Answer</th>
|
|
282
|
+
<th style="width:20%; text-align: center;">Remarks</th>
|
|
283
|
+
</tr>
|
|
284
|
+
</thead>
|
|
285
|
+
<tbody>
|
|
286
|
+
<div class="maininfo">
|
|
287
|
+
{% for rule in section.rules.all %}
|
|
288
|
+
<tr class="top-row">
|
|
289
|
+
<td style="text-align: justify;font-size:11px;margin-left: 2px;">
|
|
290
|
+
{% if rule.text %}
|
|
291
|
+
{{ rule.text|safe }}
|
|
292
|
+
{% endif %}
|
|
293
|
+
</td>
|
|
294
|
+
<td class='{{ rule.risk_level }}' style="text-align: center;font-weight: bold;">
|
|
295
|
+
{{ rule.ticked }}
|
|
296
|
+
</td>
|
|
297
|
+
<td style="text-align: justify;">
|
|
298
|
+
{% if rule.comments %}
|
|
299
|
+
{{ rule.comments|safe }}
|
|
300
|
+
{% endif %}
|
|
301
|
+
</td>
|
|
302
|
+
</tr>
|
|
303
|
+
{% endfor %}
|
|
304
|
+
</div>
|
|
305
|
+
</tbody>
|
|
306
|
+
|
|
307
|
+
</table>
|
|
308
|
+
</div>
|
|
309
|
+
{% endfor %}
|
|
310
|
+
</div>
|
|
311
|
+
{% endif %}
|
|
312
|
+
|
|
313
|
+
{% endif %}
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
</body>
|
|
320
|
+
</html>
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
{% load static %}
|
|
2
|
+
{% load humanize %}
|
|
3
|
+
<!DOCTYPE html>
|
|
4
|
+
<html lang="en">
|
|
5
|
+
|
|
6
|
+
<head>
|
|
7
|
+
<meta charset="UTF-8">
|
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
9
|
+
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
10
|
+
<title>{{ review.computed_str }}</title>
|
|
11
|
+
<link href="https://fonts.googleapis.com/css?family=Roboto:300,500&display=swap" rel="stylesheet">
|
|
12
|
+
<link rel="shortcut icon" type="image/png" href="{% static 'favicon.ico' %}" />
|
|
13
|
+
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
|
|
14
|
+
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
|
|
15
|
+
<style>
|
|
16
|
+
html, body {
|
|
17
|
+
min-height: 100%;
|
|
18
|
+
padding: 0px;
|
|
19
|
+
margin: 0px;
|
|
20
|
+
font-family: 'Roboto', sans-serif;
|
|
21
|
+
font-size: 12px;
|
|
22
|
+
font-weight: 300;
|
|
23
|
+
color: #000000;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.company-logo {
|
|
27
|
+
width: 300px;
|
|
28
|
+
}
|
|
29
|
+
.product-table {
|
|
30
|
+
width: 100%;
|
|
31
|
+
align-self: center;
|
|
32
|
+
margin: auto;
|
|
33
|
+
justify-self: center;
|
|
34
|
+
}
|
|
35
|
+
.month {
|
|
36
|
+
color: #3c4759;
|
|
37
|
+
font-weight: bold;
|
|
38
|
+
font-size: small;
|
|
39
|
+
}
|
|
40
|
+
.text_center{
|
|
41
|
+
text-align: center;
|
|
42
|
+
}
|
|
43
|
+
.header-content th {
|
|
44
|
+
text-align: left;
|
|
45
|
+
width: 210px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.headline {
|
|
49
|
+
background-color: #3c4759;
|
|
50
|
+
color: white;
|
|
51
|
+
text-align: center;
|
|
52
|
+
font-weight: 500;
|
|
53
|
+
font-size: 12pt;
|
|
54
|
+
padding-top: 10px;
|
|
55
|
+
padding-bottom: 10px;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.header {
|
|
59
|
+
width: 100%;
|
|
60
|
+
display: flex;
|
|
61
|
+
flex-direction: row;
|
|
62
|
+
justify-content: space-between;
|
|
63
|
+
align-items: center;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.table {
|
|
67
|
+
width: 100%;
|
|
68
|
+
border: none;
|
|
69
|
+
border-collapse: collapse;
|
|
70
|
+
margin: auto
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.table>tbody, .table>tfoot {
|
|
74
|
+
background-color: transparent
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.table>thead {
|
|
78
|
+
background-color: #9ca3ad;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.top-row {
|
|
82
|
+
border-top: 1px solid lightgrey;
|
|
83
|
+
}
|
|
84
|
+
.table>thead {
|
|
85
|
+
height: 30px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.table>tbody>tr:last-child>td, .table>tbody>tr:last-child>th {
|
|
89
|
+
padding-bottom: 15px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.table>thead>tr>th {
|
|
93
|
+
color: white;
|
|
94
|
+
font-weight: 500;
|
|
95
|
+
vertical-align: middle;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.table td, .table th {
|
|
99
|
+
line-height: 1.4em;
|
|
100
|
+
font-size: 1.1em;
|
|
101
|
+
font-weight: 300;
|
|
102
|
+
vertical-align: top;
|
|
103
|
+
text-align: justify;
|
|
104
|
+
overflow: hidden;
|
|
105
|
+
}
|
|
106
|
+
table.print-friendly tr td, table.print-friendly tr th {
|
|
107
|
+
page-break-inside: avoid;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
#summery_table tr:nth-child(even){background-color: #f2f2f2;}
|
|
111
|
+
#summery_table tbody th, #summery_table tbody th{border: '1px solid #ddd';}
|
|
112
|
+
|
|
113
|
+
.bad_rating {
|
|
114
|
+
background-color: rgb(244, 132, 116);
|
|
115
|
+
text-align: center;
|
|
116
|
+
}
|
|
117
|
+
.medium_rating {
|
|
118
|
+
background-color: rgb(247, 232, 113);
|
|
119
|
+
text-align: center;
|
|
120
|
+
}
|
|
121
|
+
.good_rating {
|
|
122
|
+
background-color: rgb(214, 229, 145);
|
|
123
|
+
text-align: center;
|
|
124
|
+
}
|
|
125
|
+
.comments {
|
|
126
|
+
font-style: italic;font-size: 10px;
|
|
127
|
+
text-align: justify;
|
|
128
|
+
background-color: #f2f2f2;
|
|
129
|
+
}
|
|
130
|
+
@media print {
|
|
131
|
+
.pagebreak { page-break-before: always; } /* page-break-after works, as well */
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.WARNING, .WORK_IN_PROGRESS, .MEDIUM{
|
|
135
|
+
background-color: rgb(247, 232, 113);
|
|
136
|
+
text-align: center;
|
|
137
|
+
}
|
|
138
|
+
.NOTHING_TO_REPORT, .INFO{
|
|
139
|
+
background-color: rgb(104, 198, 224);
|
|
140
|
+
text-align: center;
|
|
141
|
+
}
|
|
142
|
+
.BREACH, .INCIDENT, .HIGH{
|
|
143
|
+
background-color: rgb(244, 132, 116);
|
|
144
|
+
text-align: center;
|
|
145
|
+
}
|
|
146
|
+
.DONE, .LOW{
|
|
147
|
+
background-color: rgb(214, 229, 145);
|
|
148
|
+
text-align: center;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
</style>
|
|
152
|
+
</head>
|
|
153
|
+
<body>
|
|
154
|
+
<div class="product-table" id="table">
|
|
155
|
+
<div class="header">
|
|
156
|
+
<a href="https://www.atonra.ch" target="_blank" id="companylink">
|
|
157
|
+
<img class="company-logo" title="Atonrâ Website" src="{% static 'portfolio/img/logo-atonra.svg' %}">
|
|
158
|
+
</a>
|
|
159
|
+
<div class="date">As of {{ review.changed|date:"M. jS, Y" }}</div>
|
|
160
|
+
</div>
|
|
161
|
+
|
|
162
|
+
<div class="header-content">
|
|
163
|
+
<h1 class="text_center">{{ review.title }}
|
|
164
|
+
{% if review.year %}
|
|
165
|
+
- {{ review.year|safe }} Report
|
|
166
|
+
{% endif %}
|
|
167
|
+
</h1>
|
|
168
|
+
</div>
|
|
169
|
+
|
|
170
|
+
<div>
|
|
171
|
+
<table>
|
|
172
|
+
<tr>
|
|
173
|
+
<th>Period covered :</th>
|
|
174
|
+
<td class="date">{{ review.from_date|date:"j.m.Y" }} - {{ review.to_date|date:"j.m.Y" }}</td>
|
|
175
|
+
</tr>
|
|
176
|
+
<tr>
|
|
177
|
+
<th>Status as of :</th>
|
|
178
|
+
<td>{{ today|date:"j.m.Y" }}</td>
|
|
179
|
+
</tr>
|
|
180
|
+
</table>
|
|
181
|
+
</div>
|
|
182
|
+
<br/>
|
|
183
|
+
<div style="text-align:justify;"> {{ review.description|safe|linebreaksbr }} </div>
|
|
184
|
+
<br/>
|
|
185
|
+
{% for group_id, data_group in table.items %}
|
|
186
|
+
<div class="widget">
|
|
187
|
+
<div class="headline">
|
|
188
|
+
{{ forloop.counter }} - {{ data_group.name }}
|
|
189
|
+
</div>
|
|
190
|
+
<table class="table" class="print-friendly" style="margin-bottom: 20px;">
|
|
191
|
+
<thead>
|
|
192
|
+
<tr>
|
|
193
|
+
<th style="width:20%; text-align: center;">Subjects</th>
|
|
194
|
+
<th style="width:40%; text-align: center;">Description Organization</th>
|
|
195
|
+
<th style="width:10%; text-align: center;">Level of Risk</th>
|
|
196
|
+
<th style="width:30%; text-align: center;">Remarks</th>
|
|
197
|
+
</tr>
|
|
198
|
+
</thead>
|
|
199
|
+
<tbody>
|
|
200
|
+
<div class="maininfo">
|
|
201
|
+
{% for key, data_task in data_group.tasks.items %}
|
|
202
|
+
<tr class="top-row">
|
|
203
|
+
<td style="text-align: left;font-size:12px;font-weight: bold;">{{ data_task.title }}</td>
|
|
204
|
+
<td style="text-align: justify;font-size:11px;margin-left: 2px;">
|
|
205
|
+
{% if data_task.description %}
|
|
206
|
+
{{ data_task.description|safe|linebreaksbr }}
|
|
207
|
+
{% endif %}
|
|
208
|
+
</td>
|
|
209
|
+
<td class='{{ data_task.risk_level }}' style="text-align: center;font-weight: bold;">
|
|
210
|
+
{% if data_task.risk_level %}
|
|
211
|
+
{{ data_task.risk_level }}
|
|
212
|
+
{% else %}
|
|
213
|
+
-
|
|
214
|
+
{% endif %}
|
|
215
|
+
</td>
|
|
216
|
+
<td style="text-align: justify;">
|
|
217
|
+
{% if data_task.remarks %}
|
|
218
|
+
{{ data_task.remarks|safe|linebreaksbr }}
|
|
219
|
+
{% endif %}
|
|
220
|
+
</td>
|
|
221
|
+
</tr>
|
|
222
|
+
{% endfor %}
|
|
223
|
+
</div>
|
|
224
|
+
</tbody>
|
|
225
|
+
|
|
226
|
+
</table>
|
|
227
|
+
</div>
|
|
228
|
+
{% endfor %}
|
|
229
|
+
|
|
230
|
+
</div>
|
|
231
|
+
</body>
|
|
232
|
+
</html>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<style>
|
|
6
|
+
.incident-table {
|
|
7
|
+
table, th, td {
|
|
8
|
+
border: 1px solid black;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
</style>
|
|
12
|
+
|
|
13
|
+
</head>
|
|
14
|
+
<body>
|
|
15
|
+
<div style="text-align: left">
|
|
16
|
+
{# <p>{{ evaluation_date_sub_incidents.count }} <span style="color: {{ threshold.severity.color }};">{{ threshold.severity.name }}</span> incidents: </p>#}
|
|
17
|
+
{% if rule.description %}
|
|
18
|
+
<p style="font-style: italic">{{ rule.description }}</p>
|
|
19
|
+
{% endif %}
|
|
20
|
+
<div style="padding: 5px">
|
|
21
|
+
<table class="incident-table" style="width: 100%; text-align: center; border: 1px solid" >
|
|
22
|
+
<tr style="font-size: small;">
|
|
23
|
+
<th colspan="2" style="font-weight: bold; min-width:150px">Breach Info</th>
|
|
24
|
+
<th rowspan="2">{{ check_object_content_type_name }}</th>
|
|
25
|
+
<th rowspan="2" style="min-width:150px">Details</th>
|
|
26
|
+
</tr>
|
|
27
|
+
<tr style="font-size: small;">
|
|
28
|
+
<th style="font-weight: bold">{{ breached_content_type_name }}</th>
|
|
29
|
+
<th style="font-weight: bold">Value</th>
|
|
30
|
+
</tr>
|
|
31
|
+
{% for sub_incident in evaluation_date_sub_incidents %}
|
|
32
|
+
<tr style="font-size: x-small;">
|
|
33
|
+
<td>{{ sub_incident.incident.breached_object_repr }}</td>
|
|
34
|
+
<td style="font-weight: bold">{{ sub_incident.breached_value | safe }}</td>
|
|
35
|
+
<td>{{ sub_incident.rule_check.rule_checked_object_relationship.checked_object_repr }}</td>
|
|
36
|
+
<td>{{ sub_incident.report | safe }}</td>
|
|
37
|
+
</tr>
|
|
38
|
+
{% endfor %}
|
|
39
|
+
</table>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</body>
|
|
@@ -27,6 +27,9 @@ wbcompliance/filters/risk_management/incidents.py,sha256=gpvwshsC6d1LigfKi51Rh9g
|
|
|
27
27
|
wbcompliance/filters/risk_management/rules.py,sha256=se3Y03fpC9ta-XApgn6OCOtKq6n5zBD2hgXk-x619JI,4392
|
|
28
28
|
wbcompliance/filters/risk_management/tables.py,sha256=ih7B1hrnSIwRgVRNgYt2ksFPA3Bz0B1VSuUfVhZzuAc,4502
|
|
29
29
|
wbcompliance/filters/risk_management/utils.py,sha256=8RSTURxpHfK3DstFS5nuPoa53rHWpAtggrq-Z4DmaNg,159
|
|
30
|
+
wbcompliance/fixtures/compliance.yaml,sha256=LrOTfJaQRQNIxwr_u1xGacy6gMfJSs-uT-96EGNSG-I,282
|
|
31
|
+
wbcompliance/locale/de/LC_MESSAGES/django.po,sha256=cSD-Byp_Ucr0Ti0ak-8DoJFWW1lum9SrwUjlpPGxy4M,41007
|
|
32
|
+
wbcompliance/locale/fr/LC_MESSAGES/django.po,sha256=3VdpHgzB4EDaSmwJ6JVDJ6lxyI1NNYhFzi-iIdGVmbI,41006
|
|
30
33
|
wbcompliance/management/__init__.py,sha256=m66tbr6kx54PaHk0uGXZFHpn_9IJo65aJGaJKrdAgV4,429
|
|
31
34
|
wbcompliance/migrations/0001_initial_squashed_squashed_0010_alter_checkedobjectincidentrelationship_resolved_by_and_more.py,sha256=6wosnFvOHhvMhF9iD_FxnA04NhLoSB3xfahGhXgn3Rg,71200
|
|
32
35
|
wbcompliance/migrations/0011_alter_riskrule_parameters.py,sha256=RIRsuA_9B98xA7mySwJQDbISRpjOHCBCUMpYlj6WebI,607
|
|
@@ -59,6 +62,10 @@ wbcompliance/serializers/risk_management/__init__.py,sha256=P1fTKciuZYaCZ3x8O2dn
|
|
|
59
62
|
wbcompliance/serializers/risk_management/checks.py,sha256=-rh7T9z9W5HlnliI2cR9-y_uOkaCDSsILwWj0cLbyiA,1844
|
|
60
63
|
wbcompliance/serializers/risk_management/incidents.py,sha256=GD7ivjhzfsH9Lf358LKEG6bTycdqqs613y68bzAZIQA,8478
|
|
61
64
|
wbcompliance/serializers/risk_management/rules.py,sha256=ZPvmHOuGpvFIRe_h_pDjuAOu3D_V8jPHJKrItZXCIqg,5526
|
|
65
|
+
wbcompliance/templates/compliance/compliance_form.html,sha256=IR71gVnKlUZNalS63D4v18uwNg2GtbOWtqX4bCAON08,11943
|
|
66
|
+
wbcompliance/templates/compliance/review_compliance_task_report.html,sha256=-YPsQNS8N0eFhKd1cQ_8o5Exw3MdFgrh4muUMFcg-Aw,7819
|
|
67
|
+
wbcompliance/templates/risk_management/incident_notification.html,sha256=bjCzJP6tZXsmwC2qSbV1TKZv-_f2srQfqA_q-v6vSNw,1539
|
|
68
|
+
wbcompliance/templates/risk_management/incident_report.html,sha256=1Npuale82RfS-D2_utxAo8AO0Eboiehrw8u6wdhwEsQ,213
|
|
62
69
|
wbcompliance/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
70
|
wbcompliance/tests/conftest.py,sha256=uoxRfVmFK3VDQsu_TQrn5-RxUhDfBCd4dijrKL2uvfs,1953
|
|
64
71
|
wbcompliance/tests/disable_signals.py,sha256=_eZm5dDXoKf6RiGYVHMH0_Ow-Qf3VcSmOBthLw0F5iE,2520
|
|
@@ -124,6 +131,6 @@ wbcompliance/viewsets/titles/risk_managment/checks.py,sha256=47DEQpj8HBSa-_TImW-
|
|
|
124
131
|
wbcompliance/viewsets/titles/risk_managment/incidents.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
125
132
|
wbcompliance/viewsets/titles/risk_managment/rules.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
133
|
wbcompliance/viewsets/titles/risk_managment/tables.py,sha256=x_9mr6JWZ9GVNAEvfdNCeFZtGGYSG0-sXrR9pwTyocU,256
|
|
127
|
-
wbcompliance-2.2.
|
|
128
|
-
wbcompliance-2.2.
|
|
129
|
-
wbcompliance-2.2.
|
|
134
|
+
wbcompliance-2.2.6.dist-info/METADATA,sha256=8SKwp_UgvwsL28FgIGWYJQ-nPgZxAvWdJq4wAfCAqGE,227
|
|
135
|
+
wbcompliance-2.2.6.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
|
|
136
|
+
wbcompliance-2.2.6.dist-info/RECORD,,
|