wbhuman_resources 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.
@@ -0,0 +1,322 @@
1
+ {% load static %}
2
+ {% load i18n %}
3
+ {% load humanize %}
4
+ <!DOCTYPE html>
5
+ <html lang="en">
6
+
7
+ <head>
8
+ <meta charset="UTF-8">
9
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
+ <meta http-equiv="X-UA-Compatible" content="ie=edge">
11
+ <title>{{ review.computed_str }}</title>
12
+ <link href="https://fonts.googleapis.com/css?family=Roboto:300,500&display=swap" rel="stylesheet">
13
+ <link rel="shortcut icon" type="image/png" href="{% static 'favicon.ico' %}" />
14
+ <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
15
+ <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
16
+ <style>
17
+ html, body {
18
+ min-height: 100%;
19
+ padding: 0px;
20
+ margin: 0px;
21
+ font-family: 'Roboto', sans-serif;
22
+ font-size: 12px;
23
+ font-weight: 300;
24
+ color: #000000;
25
+ }
26
+
27
+ .company-logo {
28
+ width: 300px;
29
+ }
30
+ .product-table {
31
+ width: 100%;
32
+ align-self: center;
33
+ margin: auto;
34
+ justify-self: center;
35
+ }
36
+ .month {
37
+ color: #3c4759;
38
+ font-weight: bold;
39
+ font-size: small;
40
+ }
41
+ .text_center{
42
+ text-align: center;
43
+ }
44
+ .header-content th {
45
+ text-align: left;
46
+ width: 210px;
47
+ }
48
+
49
+ .headline {
50
+ background-color: #3c4759;
51
+ color: white;
52
+ text-align: center;
53
+ font-weight: 500;
54
+ font-size: 12pt;
55
+ padding-top: 10px;
56
+ padding-bottom: 10px;
57
+ }
58
+
59
+ .header {
60
+ width: 100%;
61
+ display: flex;
62
+ flex-direction: row;
63
+ justify-content: space-between;
64
+ align-items: center;
65
+ }
66
+
67
+ .table {
68
+ width: 100%;
69
+ border: none;
70
+ border-collapse: collapse;
71
+ margin: auto
72
+ }
73
+
74
+ .table>tbody, .table>tfoot {
75
+ background-color: transparent
76
+ }
77
+
78
+ .table>thead {
79
+ background-color: #9ca3ad;
80
+ }
81
+
82
+ .top-row {
83
+ border-top: 1px solid lightgrey;
84
+ }
85
+ .table>thead {
86
+ height: 30px;
87
+ }
88
+
89
+ .table>tbody>tr:last-child>td, .table>tbody>tr:last-child>th {
90
+ padding-bottom: 15px;
91
+ }
92
+
93
+ .table>thead>tr>th {
94
+ color: white;
95
+ font-weight: 500;
96
+ vertical-align: middle;
97
+ }
98
+
99
+ .table td, .table th {
100
+ line-height: 1.4em;
101
+ font-size: 1.1em;
102
+ font-weight: 300;
103
+ vertical-align: top;
104
+ text-align: justify;
105
+ overflow: hidden;
106
+ }
107
+ table.print-friendly tr td, table.print-friendly tr th {
108
+ page-break-inside: avoid;
109
+ }
110
+
111
+ #summery_table tr:nth-child(even){background-color: #f2f2f2;}
112
+ #summery_table tbody th, #summery_table tbody th{border: '1px solid #ddd';}
113
+
114
+ .bad_rating {
115
+ background-color: rgb(244, 132, 116);
116
+ text-align: center;
117
+ }
118
+ .medium_rating {
119
+ background-color: rgb(247, 232, 113);
120
+ text-align: center;
121
+ }
122
+ .good_rating {
123
+ background-color: rgb(214, 229, 145);
124
+ text-align: center;
125
+ }
126
+ .comments {
127
+ font-style: italic;font-size: 10px;
128
+ text-align: justify;
129
+ background-color: #f2f2f2;
130
+ }
131
+ @media print {
132
+ .pagebreak { page-break-before: always; } /* page-break-after works, as well */
133
+ }
134
+ </style>
135
+ </head>
136
+ <body>
137
+ <div class="product-table" id="table">
138
+ <div class="header">
139
+ <a href="{{base_url}}" target="_blank">
140
+ <img class="company-logo" title="{% translate 'Atonrâ Website' %}" src="{% static 'portfolio/img/logo-atonra.svg' %}">
141
+ </a>
142
+ </div>
143
+
144
+ <div class="header-content">
145
+ <h2 class="text_center">{{ review.type }} {% translate "Evaluation Form" %}
146
+ {% if review.year %}
147
+ - {{ review.year|safe }}
148
+ {% endif %}
149
+ </h2>
150
+ <div>
151
+ <span class="month text_center">{{ review.computed_str }}</span>
152
+ <br/><br/>
153
+ </div>
154
+ <div>
155
+ <table>
156
+ <tr>
157
+ <th>{% translate "Reviewee" %} :</th>
158
+ <td class="subject"> {{ review.reviewee.computed_str }}</td>
159
+ </tr>
160
+ <tr>
161
+ <th>{% translate "Reviewer" %} :</th>
162
+ <td class="subject"> {{ review.reviewer.computed_str }}</td>
163
+ </tr>
164
+ <tr>
165
+ <th>{% translate "Moderator" %} :</th>
166
+ <td class="subject"> {{ review.moderator.computed_str }}</td>
167
+ </tr>
168
+ <tr>
169
+ <th>{% translate "Period covered" %} :</th>
170
+ <td class="date">{{ review.from_date|date:"j.m.Y" }} - {{ review.to_date|date:"j.m.Y" }}</td>
171
+ </tr>
172
+ <tr>
173
+ <th>{% translate "Deadline" %} :</th>
174
+ <td>{{ review.review_deadline|date:"j.m.Y" }}</td>
175
+ </tr>
176
+ <tr>
177
+ <th>{% translate "Review" %} :</th>
178
+ <td>{{ review.review|date:"j.m.Y h:m a" }}</td>
179
+ </tr>
180
+ </table>
181
+ <br/>
182
+ <table id='summery_table' style='margin-bottom: 20px;border-collapse: collapse;'>
183
+ <thead>
184
+ <tr>
185
+ <th></th>
186
+ <th>{% translate "Reviewee" %}</th>
187
+ <th>{% translate "Reviewer" %}</th>
188
+ </tr>
189
+ </thead>
190
+ <tbody>
191
+ <tr>
192
+ <th>{% translate "Notification date review completed" %} :</th>
193
+ <td>{{ review.completely_filled_reviewee|date:"j.m.Y" }}</td>
194
+ <td>{{ review.completely_filled_reviewer|date:"j.m.Y" }}</td>
195
+ </tr>
196
+ <tr>
197
+ <th>{% translate "Date of signature" %} :</th>
198
+ <td>{{ review.signed_reviewee|date:"j.m.Y h:m a" }}</td>
199
+ <td>{{ review.signed_reviewer|date:"j.m.Y h:m a" }}</td>
200
+
201
+ </tr>
202
+ </tbody>
203
+
204
+ </table>
205
+ <div class="widget">
206
+ <div class="headline">
207
+ {% translate "Review of questions to be answered on a scale of 1 to 4" %}
208
+ </div>
209
+ </div>
210
+ <table class="table" class="print-friendly" style="margin-bottom: 20px;">
211
+ <thead>
212
+ <tr>
213
+ <th style="width:20%; text-align: center;">{% translate "Category" %}</th>
214
+ <th style="width:60%; text-align: center;">{% translate "Questions & Comments" %}</th>
215
+ <th style="width:10%; text-align: center;">{% translate "Reviewee" %}</th>
216
+ <th style="width:10%; text-align: center;">{% translate "Reviewer" %}</th>
217
+ </tr>
218
+ </thead>
219
+ <tbody>
220
+ <div class="maininfo">
221
+ {% for category_id, data_category in rating_table.items %}
222
+ {% for key, data_questions in data_category.questions.items %}
223
+ <tr class="top-row">
224
+ <td style="text-align: left;font-size:10px;">{{ data_category.name }}</td>
225
+ <td style="text-align: left;font-size:11px;margin-left: 2px;">{{ data_questions.name }}
226
+ <p class="comments">
227
+ {% if data_questions.answers_text.reviewee %}
228
+ <b>{% translate "Reviewee" %} : </b>{{ data_questions.answers_text.reviewee|safe|linebreaksbr }}
229
+ {% if data_questions.answers_text.reviewer %}
230
+ <br/>
231
+ {% endif %}
232
+ {% endif %}
233
+ {% if data_questions.answers_text.reviewer %}
234
+ <b>{% translate "Reviewer" %} : </b>{{data_questions.answers_text.reviewer|safe|linebreaksbr }}
235
+ {% endif %}
236
+ </p>
237
+ </td>
238
+ <td style="text-align: center;font-weight: bold;">{{ data_questions.answers.reviewee }}</p></td>
239
+ <td style="text-align: center;font-weight: bold;">{{ data_questions.answers.reviewer }}</p></td>
240
+ </tr>
241
+ {% endfor %}
242
+ {% endfor %}
243
+ <tr class="top-row">
244
+ <td style="text-align: center;font-weight: bold;">#<br> μ</td>
245
+ <td style="text-align: center;font-weight: bold;">{{ number_total_rating }}<br/>{% translate "Global rating (weighted)" %}</td>
246
+ <td class='{{ global_rating_status_reviewee }}' style="text-align: center;font-weight: bold;">&nbsp;<br>{{ global_rating_reviewee }}</td>
247
+ <td class='{{ global_rating_status_reviewee }}' style="text-align: center;font-weight: bold;">&nbsp;<br>{{ global_rating_reviewer }}</td>
248
+ </tr>
249
+ </div>
250
+ </tbody>
251
+ </table>
252
+
253
+ <div class="pagebreak"> &nbsp;</div>
254
+ {% for category_id, data_category in table.items %}
255
+ <div class="widget">
256
+ <div class="headline">
257
+ {{ forloop.counter }} - {{ data_category.name }}
258
+ </div>
259
+
260
+ {% for key, data_questions in data_category.questions.items %}
261
+ <table class="table" class="print-friendly">
262
+ <thead>
263
+ <tr>
264
+ <th style="width:100%; text-align: center;">{{ data_questions.name }}</th>
265
+ </tr>
266
+ </thead>
267
+ <tbody>
268
+ <div class="maininfo">
269
+ {% for by, answer in data_questions.answers.items %}
270
+ <tr class="top-row">
271
+ <td>
272
+ <p>
273
+ <b>{{ by }} :</b>
274
+ {% if answer %}
275
+ {{ answer|safe|linebreaksbr }}
276
+ {% endif %}
277
+ </p>
278
+ </td>
279
+ </tr>
280
+ {% endfor %}
281
+ </div>
282
+ </tbody>
283
+ </table>
284
+ {% endfor %}
285
+
286
+ </div>
287
+ {% endfor %}
288
+
289
+ <div class="widget">
290
+ <div class="headline">
291
+ {% translate "Feedback" %}
292
+ </div>
293
+ <table class="table" class="print-friendly">
294
+ <tbody>
295
+ <div class="maininfo">
296
+ <tr class="top-row">
297
+ <td>
298
+ <p>
299
+ <b>{{ review.reviewee.computed_str }} :</b>
300
+ {{ review.feedback_reviewee|safe|linebreaksbr }}
301
+ </p>
302
+ </td>
303
+ </tr>
304
+ <tr class="top-row">
305
+ <td>
306
+ <p>
307
+ <b>{{ review.reviewer.computed_str }} :</b>
308
+ {{ review.feedback_reviewer|safe|linebreaksbr }}
309
+ </p>
310
+ </td>
311
+ </tr>
312
+ </div>
313
+ </tbody>
314
+ </table>
315
+ </div>
316
+ </div>
317
+ </div>
318
+ <br/>
319
+ </div>
320
+
321
+ </body>
322
+ </html>
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: wbhuman_resources
3
- Version: 2.2.4
3
+ Version: 2.2.6
4
4
  Summary: A workbench module for managing human resources.
5
5
  Author-email: Christopher Wittlinger <c.wittlinger@stainly.com>
6
6
  Requires-Dist: wbcore
@@ -23,6 +23,7 @@ wbhuman_resources/filters/employee.py,sha256=XjKmVoRuxFB19qMLPKSx3QVRST1WohHAnQM
23
23
  wbhuman_resources/filters/kpi.py,sha256=r8l_4dx3qr29rjfnAd49KMSb55qvMe_iDtzrHv7WHXw,945
24
24
  wbhuman_resources/filters/review.py,sha256=cl-ndAS9H1XFdAQ3Y_cQE_cUswDE4ftyKmLXhkdd0Zg,3987
25
25
  wbhuman_resources/filters/signals.py,sha256=BJ7tNqIgGn1MFn92kutohfrtx-t1bw3RfKAjrOQL29k,966
26
+ wbhuman_resources/locale/de/LC_MESSAGES/django.po,sha256=HGb5_CwYFpKdRg3QFgQ5_LOWtCPolWQUg3-BBK_sc0A,78574
26
27
  wbhuman_resources/management/__init__.py,sha256=1KGHz86f8bIswGasUyHvQoigCVU1i8IEyzlPLr6U60Y,879
27
28
  wbhuman_resources/migrations/0001_initial_squashed_squashed_0015_alter_absencerequest_calendaritem_ptr_and_more.py,sha256=G4CTuIo6tmYKHHH2957uJMG2Xqiv84hIPpNEVC8cWds,41304
28
29
  wbhuman_resources/migrations/0016_alter_employeehumanresource_options.py,sha256=-PJstNsJpIUOmQ3-VSJuqCGHm4Xa3wLGLfm9gYnqUf4,624
@@ -48,6 +49,7 @@ wbhuman_resources/serializers/calendars.py,sha256=8HgMle20qRO-sRlBpA2MCo-sVMWqep
48
49
  wbhuman_resources/serializers/employee.py,sha256=w25ynjpBrSlq5DlH1uTpQrPnuEhNCOYuS24fdVIVKDw,10136
49
50
  wbhuman_resources/serializers/kpi.py,sha256=WpaZXlflRL6nF3HW2HjEdq6fqkcNIkQR6DLFOpQEW30,2635
50
51
  wbhuman_resources/serializers/review.py,sha256=nCIdVzX6_hFzi5wkPXjphLq8WjOxm9fPIkHFsL7Ma4A,16162
52
+ wbhuman_resources/templates/review/review_report.html,sha256=gQzrmtAwrjpAAVXtxYpiZnF5Bj1qH9HtN6kdzvrcQPA,13507
51
53
  wbhuman_resources/tests/__init__.py,sha256=YiG81oh2Z7zj69rm34NBf5R0VniHawVUBWXqgdZG9NA,24
52
54
  wbhuman_resources/tests/conftest.py,sha256=RUEBcTl9x_m378xjCEhiHpWNLs8GmvcCpCvkCuhVuks,3101
53
55
  wbhuman_resources/tests/signals.py,sha256=qTqxGCoaND0HI0NGaHq52ILOrGoui_loB7DXBUnw6zk,4378
@@ -97,6 +99,6 @@ wbhuman_resources/viewsets/titles/absence.py,sha256=dmfM989lFoVi84zkFpQh2PXzBQQF
97
99
  wbhuman_resources/viewsets/titles/employee.py,sha256=VP_AC3E-3fpbO8-RUvi2haXcoJr9LVLYtJifGawVRGo,565
98
100
  wbhuman_resources/viewsets/titles/kpis.py,sha256=n4XMi32sE-jmRVTzkSxoJpXrcyG7qB3MC9RuB3rhXT4,490
99
101
  wbhuman_resources/viewsets/titles/review.py,sha256=-7nTeXMCKAM6azKQ0CvZiWlKDolF8j-tuRpzRriEaOE,2457
100
- wbhuman_resources-2.2.4.dist-info/METADATA,sha256=bZelGk8gSrC-toZKGljnyAuJXbzRvMN4z0j2mU5_31g,301
101
- wbhuman_resources-2.2.4.dist-info/WHEEL,sha256=aO3RJuuiFXItVSnAUEmQ0yRBvv9e1sbJh68PtuQkyAE,105
102
- wbhuman_resources-2.2.4.dist-info/RECORD,,
102
+ wbhuman_resources-2.2.6.dist-info/METADATA,sha256=h2Y_sYr4RJLwh_7H2yA7gwX9Vhl9P_3OnceTPz8wbvs,301
103
+ wbhuman_resources-2.2.6.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
104
+ wbhuman_resources-2.2.6.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.26.3
2
+ Generator: hatchling 1.27.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any