Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
dbt.cpp
Zobrazit dokumentaci tohoto souboru.
1
6#include "dbt.h"
7#include "msettings.h"
8#include "json.h"
9#include "pdebug.h"
10
11using namespace Dbt;
12
13
17namespace Dbt {
18 static QVariant null(const QVariant& x) {
19 if (x.isValid() && !x.isNull()) { return x; }
20 return QVariant();
21 }
22}
23
24
25QVariantMap Users::toMap() const {
26 QVariantMap data;
27 data["user"] = user;
28 data["login"] = login;
29 data["name"] = name;
30 data["lang"] = lang;
31 data["enabled"] = enabled;
32 data["admin"] = admin;
33 return data;
34}
35
36
37Users Users::fromMap(const QVariantMap& data) {
38 Users x;
39 x.user = data["user"].toInt();
40 x.login = data["login"].toString();
41 x.name = data["name"].toString();
42 x.lang = data["lang"].toString();
43 x.enabled = data["enabled"].toBool();
44 x.admin = data["admin"].toBool();
45 return x;
46}
47
48
49QVariantMap ClientSettings::toMap() const {
50 QVariantMap x;
51 x["multiple_timesheets"] = multiple_timesheets;
52 x["show_price"] = show_price;
53 x["can_change_category"] = can_change_category;
54 x["edit_categories"] = edit_categories;
55 x["show_multiple_timesheets"] = show_multiple_timesheets;
56 x["show_show_price"] = show_show_price;
57 x["show_can_change_category"] = show_can_change_category;
58 x["show_edit_categories"] = show_edit_categories;
59 return x;
60}
61
62
63ServerInfo ServerInfo::fromMap(const QVariantMap& data) {
64 ServerInfo x;
65 x.name = data["name"].toString();
66 x.description = data["description"].toString();
67 return x;
68}
69
70
71ClientSettings ClientSettings::fromMap(const QVariantMap& map) {
73 x.multiple_timesheets = map["multiple_timesheets"].toBool();
74 x.show_price = map["show_price"].toBool();
75 x.can_change_category = map["can_change_category"].toBool();
76 x.edit_categories = map["edit_categories"].toBool();
77 x.show_multiple_timesheets = map["show_multiple_timesheets"].toBool();
78 x.show_show_price = map["show_show_price"].toBool();
79 x.show_can_change_category = map["show_can_change_category"].toBool();
80 x.show_edit_categories = map["show_edit_categories"].toBool();
81 return x;
82}
83
84
85
86
87QVariantMap Categories::toMap() const {
88 QVariantMap data;
89 data["category"] = category;
90 data["parent_category"] = null(parent_category);
91 data["description"] = description;
92 data["description_tree"] = description_tree;
93 data["price"] = price;
94 data["users"] = users;
95 return data;
96}
97
98
99Categories Categories::fromMap(const QVariantMap& data) {
100 Categories x;
101 x.category = data["category"].toString();
102 x.parent_category = data["parent_category"].toString();
103 x.description = data["description"].toString();
104 x.price = data["price"].toDouble();
105 x.users = data["users"].toList();
106 return x;
107}
108
109
110UsersCategories UsersCategories::fromMap(const QVariantMap& data) {
112 x.id = data["id"].toInt();
113 x.user = data["user"].toInt();
114 x.category = data["category"].toString();
115 return x;
116}
117
118
119QVariantMap UsersCategories::toMap() const {
120 QVariantMap data;
121 data["id"] = id;
122 data["user"] = user;
123 data["category"] = null(category);
124 return data;
125}
126
127
128QVariantMap StatusOrder::toMap() const {
129 QVariantMap data;
130 data["id"] = null(id);
131 data["category"] = null(category);
132 data["previous_status"] = null(previous_status);
133 data["next_status"] = null(next_status);
134 return data;
135}
136
137
138StatusOrder StatusOrder::fromMap(const QVariantMap& data) {
139 StatusOrder x;
140 x.id = data["id"];
141 x.category = data["category"];
142 x.previous_status = data["previous_status"];
143 x.next_status = data["next_status"];
144 return x;
145}
146
147
148QVariantMap Statuses::toMap() const {
149 QVariantMap data;
150 data["status"] = status;
151 data["description"] = description;
152 data["abbreviation"] = abbreviation;
153 data["color"] = color;
154 data["closed"] = closed;
155 data["can_be_run"] = can_be_run;
156 data["ignored"] = ignored;
157 if (can_have_next) {
158 data["next"] = toList(next);
159 }
160 return data;
161}
162
163
164Statuses Statuses::fromMap(const QVariantMap& data) {
165 Statuses x;
166 x.status = data["status"].toString();
167 x.description = data["description"].toString();
168 x.abbreviation = data["abbreviation"].toString();
169 x.color = data["color"].toString();
170 x.closed= data["closed"].toBool();
171 x.can_be_run = data["can_be_run"].toBool();
172 x.ignored = data["ignored"].toBool();
173 if (data.contains("next")) {
174 const QVariantList next = data["next"].toList();
175 for (int i=0; i<next.size(); i++) {
176 x.next << Statuses::fromMap(next[i].toMap());
177 }
178 }
179 return x;
180}
181
182
183QVariantMap StatusTemplates::toMap() const {
184 QVariantMap data;
185 data["id"] = id;
186 data["status"] = status;
187 data["category"] = category;
188 data["code"] = code;
189 data["title"] = title;
190 data["description"] = description;
191 return data;
192}
193
194
195Tickets Tickets::fromMap(const QVariantMap& map) {
196 Tickets x;
197 x.ticket = map["ticket"];
198 x.category = map["category"];
199 x.price = map["price"].toDouble();
200 x.date = map["date"].toDateTime();
201 x.user = map["user"].toInt();
202 x.description = map["description"].toString();
203 x.created = map["created"].toBool();
204 x.modified = map["modified"].toBool();
205 return x;
206}
207
208
209QVariantMap Tickets::toMap() const {
210 QVariantMap data;
211
212 data["ticket"] = null(ticket);
213 data["category"] = null(category);
214 data["date"] = date;
215 data["price"] = price;
216 data["description"] = description;
217 data["user"] = user;
218 data["created"] = created;
219 data["modified"] = modified;
220
221 return data;
222}
223
224
225QVariantMap TicketsVw::toMap() const {
226 QVariantMap data = Tickets::toMap();
227 data["timesheets"] = toList(timesheets);
228 data["statuses"] = toList(statuses);
229 data["values"] = toList(values);
230 data["files"] = toList(files);
231 return data;
232}
233
234
235TicketsVw TicketsVw::fromMap(const QVariantMap& map) {
236 TicketsVw x = Tickets::fromMap(map);
237 x.timesheets = TicketTimesheets::fromList(map["timesheets"].toList());
238 x.statuses = TicketStatus::fromList(map["statuses"].toList());
239 x.values = TicketValues::fromList(map["values"].toList());
240 x.files = TicketFiles::fromList(map["files"].toList());
241 return x;
242}
243
244
245Mutable Mutable::fromMap(const QVariantMap& data) {
246 Mutable x;
247 x.id = data["id"].toInt();
248 x.user = data["user"];
249 x.ticket = data["ticket"];
250 return x;
251}
252
253
254QVariantMap Mutable::toMap() const {
255 QVariantMap data;
256 data["id"] = id;
257 data["user"] = user;
258 data["ticket"] = ticket;
259 // data["modified"] = modified;
260 // data["created"] = created;
261 return data;
262}
263
264
265TicketTimesheets TicketTimesheets::fromMap(const QVariantMap& data) {
266 TicketTimesheets x = Mutable::fromMap(data);
267 x.date_from = data["date_from"].toDateTime();
268 x.date_to = data["date_to"].toDateTime();
269 return x;
270}
271
272
273TicketFiles TicketFiles::fromMap(const QVariantMap& data) {
274 TicketFiles x = Mutable::fromMap(data);
275 x.date = data["date"].toDateTime();
276 x.name = data["name"].toString();
277 x.type = data["type"].toString();
278 x.content = QByteArray::fromBase64(data["content"].toByteArray());
279 return x;
280}
281
282
283TicketValues TicketValues::fromMap(const QVariantMap& data) {
284 TicketValues x = Mutable::fromMap(data);
285 x.date = data["date"].toDateTime();
286 x.name = data["name"].toString();
287 x.value = data["value"];
288 PDEBUG << data;
289 PDEBUG << x.value;
290 return x;
291}
292
293
294TicketStatus TicketStatus::fromMap(const QVariantMap& data) {
295 TicketStatus x = Mutable::fromMap(data);
296 x.date = data["date"].toDateTime();
297 x.status = data["status"].toString();
298 x.description = data["description"].toString();
299 x.description2 = data["description2"].toMap();
300 return x;
301}
302
303
304QVariantMap TicketTimesheets::toMap() const {
305 QVariantMap data = Mutable::toMap();
306 data["date_from"] = date_from;
307 data["date_to"] = date_to;
308 return data;
309}
310
311
312QVariantMap TicketFiles::toMap() const {
313 QVariantMap data = Mutable::toMap();
314 data["date"] = date;
315 data["name"] = name;
316 data["type"] = type;
317 data["content"] = content.toBase64();
318 return data;
319}
320
321
322QVariantMap TicketValues::toMap() const {
323 QVariantMap data = Mutable::toMap();
324 data["date"] = date;
325 data["name"] = name;
326 data["value"] = value;
327 return data;
328}
329
330
331QVariantMap TicketStatus::toMap() const {
332 QVariantMap data = Mutable::toMap();
333 data["status"] = status;
334 data["date"] = date;
335 data["description"] = description;
336 data["description2"] = description2;
337 data["status_description"] = status_description;
338 data["status_color"] = status_color;
339 data["status_can_be_run"] = status_can_be_run;
340 data["status_ignored"] = status_ignored;
341 data["status_closed"] = status_closed;
342 return data;
343}
344
345
346QList<TicketTimesheets> TicketTimesheets::fromList(const QVariantList& list) {
347 QList<TicketTimesheets> x;
348 QListIterator<QVariant> iterator(list);
349 while (iterator.hasNext()) {
350 x << TicketTimesheets::fromMap(iterator.next().toMap());
351 }
352 return x;
353}
354
355
356QList<TicketValues> TicketValues::fromList(const QVariantList& list) {
357 QList<TicketValues> x;
358 QListIterator<QVariant> iterator(list);
359 while (iterator.hasNext()) {
360 x << TicketValues::fromMap(iterator.next().toMap());
361 }
362 return x;
363}
364
365
366QList<TicketFiles> TicketFiles::fromList(const QVariantList& list) {
367 QList<TicketFiles> x;
368 QListIterator<QVariant> iterator(list);
369 while (iterator.hasNext()) {
370 x << TicketFiles::fromMap(iterator.next().toMap());
371 }
372 return x;
373}
374
375
376QList<TicketStatus> TicketStatus::fromList(const QVariantList& list) {
377 QList<TicketStatus> x;
378 QListIterator<QVariant> iterator(list);
379 while (iterator.hasNext()) {
380 x << TicketStatus::fromMap(iterator.next().toMap());
381 }
382 return x;
383}
384
385
386QVariantMap OverviewList::toMap() const {
387 QVariantMap data;
388 data["key"] = key;
389 data["category"] = category.toMap();
390 data["statuses"] = toList(statuses);
391 return data;
392}
393
394
395
396QVariantMap Overview::Days::toMap() const {
397 QVariantMap data;
398 data["ticket"] = ticket;
399 data["description"] = description;
400 data["user"] = user;
401 data["user_name"] = user_name;
402 data["date"] = date;
403 data["hour_price"] = hour_price;
404 data["duration"] = duration;
405 data["price"] = price;
406 return data;
407}
408
409
410QVariantMap Overview::Sum::toMap() const {
411 QVariantMap data;
412 data["duration"] = duration;
413 data["price"] = price;
414 return data;
415}
416
417
418QVariantMap Overview::Tickets::toMap() const {
419 QVariantMap data;
420 data["ticket"] = ticket;
421 data["description"] = description;
422 data["user"] = user;
423 data["user_name"] = user_name;
424 data["hour_price"] = hour_price;
425 data["duration"] = duration;
426 data["price"] = price;
427 data["status"] = status;
428 return data;
429}
430
431
432QVariantMap Overview::TicketsSum::toMap() const {
433 QVariantMap data;
434 data["ticket"] = ticket;
435 data["description"] = description;
436 data["duration"] = duration;
437 data["price"] = price;
438 data["status"] = status;
439 return data;
440}
441
442
443QVariantMap Overview::StatusSum::toMap() const {
444 QVariantMap data;
445 data["duration"] = duration;
446 data["price"] = price;
447 data["status"] = status;
448 return data;
449}
450
451
452QVariantMap Overview::UserSum::toMap() const {
453 QVariantMap data;
454 data["duration"] = duration;
455 data["price"] = price;
456 data["user_name"] = user_name;
457 return data;
458}
459
460
461QVariantMap Overview::toMap() const {
462 QVariantMap data;
463 data["category"] = category.toMap();
464 data["tickets"] = toList(tickets);
465
466 QVariantMap xdays;
467 xdays["records"] = toList(days);
468 xdays["sum"] = sum.toMap();
469 data["days"] = xdays;
470
471 QVariantMap xtickets;
472 xtickets["records"] = toList(tickets);
473 xtickets["sum"] = toList(ticketsSum);
474 data["tickets"] = xtickets;
475
476 data["status_sum"] = toList(statusSum);
477 data["people_sum"] = toList(userSum);
478
479 data["id"] = id;
480
481 return data;
482};
483
484
485
486QVariantMap CategoriesOverview::toMap() const {
487 QVariantMap data;
488 data["type"] = type;
489 data["depth"] = depth;
490 data["tickets_count"] = tickets_count;
491 data["category"] = category;
492 data["description"] = description;
493 data["price"] = price;
494 data["time"] = time;
495 data["ordering"] = ordering;
496 return data;
497}
498
499
500AppendStatuses AppendStatuses::fromMap(const QVariantMap& data) {
502 x.categories = data["categories"].toList();
503 x.recent_status = data["recent_status"].toList();
504 x.status = data["status"].toString();
505 x.description = data["description"].toString();
506 return x;
507}
508
509
510QVariantMap AppendStatuses::toMap() const {
511 QVariantMap data;
512 data["categories"] = categories;
513 data["recent_status"] = recent_status;
514 data["status"] = status;
515 data["description"] = description;
516 return data;
517}
518
519
520QVariantMap Departments::toMap() const {
521 QVariantMap data;
522 data["department"] = department;
523 data["abbr"] = abbr;
524 data["description"] = description;
525 return data;
526}
527
528
529Departments Departments::fromMap(const QVariantMap& data) {
530 Departments x;
531 x.department = data["department"].toInt();
532 x.abbr = data["abbr"].toString();
533 x.description = data["description"] .toString();
534 return x;
535}
536
537QVariantMap EventTypes::toMap() const {
538 QVariantMap data;
539 data["event_type"] = event_type;
540 data["description"] = description;
541 data["event_type"] = event_type;
542 data["description"] = description;
543 data["end_state"] = end_state;
544 data["passage"] = passage;
545 data["arrival"] = arrival;
546 data["vacation"] = vacation;
547 data["sick_leave"] = sick_leave;
548 data["compensatory_leave"] = compensatory_leave;
549 data["business_trip"] = business_trip;
550 data["break_time"] = break_time;
551 data["unpaid_leave"] = unpaid_leave;
552 data["sick_care"] = sick_care;
553 return data;
554}
555
556EventTypes EventTypes::fromMap(const QVariantMap& data) {
557 EventTypes x;
558 x.event_type = data["event_type"].toInt();
559 x.description = data["description"].toString();
560 x.end_state = data["end_state"].toBool();
561 x.passage = data["passage"].toBool();
562 x.arrival = data["arrival"].toBool();
563 x.vacation = data["vacation"].toBool();
564 x.sick_leave = data["sick_leave"].toBool();
565 x.compensatory_leave = data["compensatory_leave"].toBool();
566 x.business_trip = data["business_trip"].toBool();
567 x.break_time = data["break_time"].toBool();
568 x.unpaid_leave = data["unpaid_leave"].toBool();
569 x.sick_care = data["sick_care"].toBool();
570 return x;
571}
572
573QVariantMap Events::toMap() const {
574 QVariantMap data;
575 data["event"] = event;
576 data["date"] = date;
577 data["event_type"] = event_type;
578 data["employee"] = employee;
579 data["valid"] = valid;
580 data["user_edited"] = user_edited;
581 return data;
582}
583
584Events Events::fromMap(const QVariantMap& data) {
585 Events x;
586 x.event = data["event"].toInt();
587 x.date = data["date"].toDateTime();
588 x.event_type = data["event_type"].toInt();
589 x.employee = data["employee"].toInt();
590 x.valid = data["valid"].toBool();
591 x.user_edited = data["user_edited"].toInt();
592 return x;
593}
594
595QVariantMap DepartmentHasManager::toMap() const {
596 QVariantMap data;
597 data["department"] = department;
598 data["user"] = user;
599 return data;
600}
601
602DepartmentHasManager DepartmentHasManager::fromMap(const QVariantMap& data) {
604 x.department = data["department"].toInt();
605 x.user = data["user"].toInt();
606 return x;
607}
608
609QVariantMap DepartmentHasMember::toMap() const {
610 QVariantMap data;
611 data["department"] = department;
612 data["employee"] = employee;
613 return data;
614}
615
616DepartmentHasMember DepartmentHasMember::fromMap(const QVariantMap& data) {
618 x.department = data["department"].toInt();
619 x.employee = data["employee"].toInt();
620 return x;
621}
622
623QVariantMap EmployeeCanOpenDoor::toMap() const {
624 QVariantMap data;
625 data["employee"] = employee;
626 data["door"] = door;
627 return data;
628}
629
630EmployeeCanOpenDoor EmployeeCanOpenDoor::fromMap(const QVariantMap& data) {
632 x.employee = data["employee"].toInt();
633 x.door = data["door"].toInt();
634 return x;
635}
636
637QVariantMap EmployeeHasRfid::toMap() const {
638 QVariantMap data;
639 data["employee"] = employee;
640 data["rfid"] = rfid;
641 return data;
642}
643
644EmployeeHasRfid EmployeeHasRfid::fromMap(const QVariantMap& data) {
646 x.employee = data["employee"].toInt();
647 x.rfid = data["rfid"].toInt();
648 return x;
649}
650
651
652
653
654
Konvertuje null variant na invalid variant - QJsonDocument jinak konvertuje int null hodnoty špatně n...
Definition dbt.cpp:17
QVariantList categories
categories which are appended with new statuse
Definition dbt.h:362
QString description
new status description
Definition dbt.h:365
QString status
new status
Definition dbt.h:364
QVariantList recent_status
recent statuses
Definition dbt.h:363