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) {
72 ClientSettings x;
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) {
111 UsersCategories x;
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) {
501 AppendStatuses x;
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 data["doctor"] = doctor;
554 data["paid_obstacle"] = paid_obstacle;
555 return data;
556}
557
558EventTypes EventTypes::fromMap(const QVariantMap& data) {
559 EventTypes x;
560 x.event_type = data["event_type"].toString();
561 x.description = data["description"].toString();
562 x.end_state = data["end_state"].toBool();
563 x.passage = data["passage"].toBool();
564 x.arrival = data["arrival"].toBool();
565 x.vacation = data["vacation"].toBool();
566 x.sick_leave = data["sick_leave"].toBool();
567 x.compensatory_leave = data["compensatory_leave"].toBool();
568 x.business_trip = data["business_trip"].toBool();
569 x.break_time = data["break_time"].toBool();
570 x.unpaid_leave = data["unpaid_leave"].toBool();
571 x.sick_care = data["sick_care"].toBool();
572 x.doctor = data["doctor"].toBool();
573 x.paid_obstacle = data["paid_obstacle"].toBool();
574 return x;
575}
576
577QVariantMap Events::toMap() const {
578 QVariantMap data;
579 data["event"] = event;
580 data["error"] = error;
581 data["date"] = date;
582 data["event_type"] = event_type;
583 data["event_description"] = event_description;
584 data["employee"] = employee;
585 data["firstname"] = firstname;
586 data["surname"] = surname;
587 data["valid"] = valid;
588 data["user_edited"] = user_edited;
589 data["user_edited_name"] = user_edited_name;
590 data["note"] = note;
591 return data;
592}
593
594Events Events::fromMap(const QVariantMap& data) {
595 Events x;
596 x.event = data["event"].toInt();
597 x.date = data["date"].toDateTime();
598 x.event_type = data["event_type"].toString();
599 x.employee = data["employee"].toInt();
600 x.valid = data["valid"].toBool();
601 x.user_edited = data["user_edited"].toInt();
602 x.note = data["note"].toString();
603 return x;
604}
605
606QVariantMap DepartmentHasManager::toMap() const {
607 QVariantMap data;
608 data["department"] = department;
609 data["user"] = user;
610 return data;
611}
612
613DepartmentHasManager DepartmentHasManager::fromMap(const QVariantMap& data) {
614 DepartmentHasManager x;
615 x.department = data["department"].toInt();
616 x.user = data["user"].toInt();
617 return x;
618}
619
620QVariantMap DepartmentHasMember::toMap() const {
621 QVariantMap data;
622 data["department"] = department;
623 data["employee"] = employee;
624 return data;
625}
626
627DepartmentHasMember DepartmentHasMember::fromMap(const QVariantMap& data) {
628 DepartmentHasMember x;
629 x.department = data["department"].toInt();
630 x.employee = data["employee"].toInt();
631 return x;
632}
633
634QVariantMap EmployeeCanOpenDoor::toMap() const {
635 QVariantMap data;
636 data["employee"] = employee;
637 data["door"] = door;
638 return data;
639}
640
641EmployeeCanOpenDoor EmployeeCanOpenDoor::fromMap(const QVariantMap& data) {
642 EmployeeCanOpenDoor x;
643 x.employee = data["employee"].toInt();
644 x.door = data["door"].toInt();
645 return x;
646}
647
648QVariantMap EmployeeHasRfid::toMap() const {
649 QVariantMap data;
650 data["employee"] = employee;
651 data["rfid"] = rfid;
652 return data;
653}
654
655EmployeeHasRfid EmployeeHasRfid::fromMap(const QVariantMap& data) {
656 EmployeeHasRfid x;
657 x.employee = data["employee"].toInt();
658 x.rfid = data["rfid"].toInt();
659 return x;
660}
661
662QVariantMap Employees::toMap() const {
663 QVariantMap data;
664 data["employee"] = employee;
665 data["firstname"] = firstname;
666 data["surname"] = surname;
667 data["active"] = active;
668 data["user"] = user;
669 data["login"] = login;
670 data["work_hours_mode"] = work_hours_mode;
671 data["rounding_interval"] = rounding_interval;
672 data["saturdays_paid"] = saturdays_paid;
673 data["sundays_paid"] = sundays_paid;
674 data["auto_breaks"] = auto_breaks;
675 data["overtime_paid"] = overtime_paid;
676 return data;
677}
678
679Employees Employees::fromMap(const QVariantMap& data) {
680 Employees x;
681 x.employee = data["employee"].toInt();
682 x.firstname = data["firstname"].toString();
683 x.surname = data["surname"].toString();
684 x.active = data["active"].toBool();
685 x.user = data["user"].toInt();
686 x.login = data.value("login").toString();
687 x.work_hours_mode = data["work_hours_mode"].toString();
688 x.rounding_interval = data["rounding_interval"].toString();
689 x.saturdays_paid = data["saturdays_paid"].toBool();
690 x.sundays_paid = data["sundays_paid"].toBool();
691 x.auto_breaks = data["auto_breaks"].toBool();
692 x.overtime_paid = data["overtime_paid"].toBool();
693 return x;
694}
695
696
697QVariantMap Doors::toMap() const {
698 QVariantMap data;
699 data["door"] = door;
700 data["description"] = description;
701 return data;
702}
703
704
705Doors Doors::fromMap(const QVariantMap& data) {
706 Doors x;
707 x.door = data["door"].toInt();
708 x.description = data["description"].toString();
709 return x;
710}
711
712QVariantMap Rfids::toMap() const {
713 QVariantMap data;
714 data["rfid"] = rfid;
715 data["rfid_id"] = rfid_id;
716 data["valid"] = valid;
717 data["note"] = note;
718 data["employee"] = employee;
719 data["name"] = name;
720 data["surname"] = surname;
721 return data;
722}
723
724Rfids Rfids::fromMap(const QVariantMap& data) {
725 Rfids x;
726 x.rfid = data["rfid"].toInt();
727 x.rfid_id = data["rfid_id"].toString();
728 x.valid = data["valid"].toBool();
729 x.note = data["note"].toString();
730 x.employee = data["employee"].toInt();
731 return x;
732}
733
734QVariantMap Holidays::toMap() const {
735 QVariantMap data;
736 data["date"] = date;
737 data["description"] = description;
738 return data;
739}
740
741Holidays Holidays::fromMap(const QVariantMap& data) {
742 Holidays x;
743 x.date = data["date"].toDate();
744 x.description = data["description"].toString();
745 return x;
746}
747
748QVariantMap WorkCalendar::toMap() const {
749 QVariantMap data;
750 data["period"] = period;
751 data["working_days"] = working_days;
752 data["holidays"] = holidays;
753 data["hours8"] = hours8;
754 data["hours85"] = hours85;
755 return data;
756}
757
758WorkCalendar WorkCalendar::fromMap(const QVariantMap& data) {
759 WorkCalendar x;
760 x.period = data["period"].toDate();
761 x.working_days = data["working_days"].toInt();
762 x.holidays = data["holidays"].toInt();
763 x.hours8 = data["hours8"].toString();
764 x.hours85 = data["hours85"].toString();
765 return x;
766}
767
768QVariantMap AttendanceSummary::toMap() const {
769 QVariantMap data;
770 data["employee"] = employee;
771 data["month"] = month;
772 data["days"] = days;
773 data["arrival"] = arrival;
774 data["vacation"] = vacation;
775 data["sick_leave"] = sick_leave;
776 data["compensatory_leave"] = compensatory_leave;
777 data["business_trip"] = business_trip;
778 data["break_time"] = break_time;
779 data["unpaid_leave"] = unpaid_leave;
780 data["sick_care"] = sick_care;
781 data["paid_obstacle"] = paid_obstacle;
782 data["doctor"] = doctor;
783 data["afternoon"] = afternoon;
784 data["night"] = night;
785 data["sunday"] = sunday;
786 data["saturday"] = saturday;
787 data["holiday"] = holiday;
788 data["calendar_working_days"] = calendar_working_days;
789 data["calendar_holidays"] = calendar_holidays;
790 data["firstname"] = firstname;
791 data["surname"] = surname;
792 data["days"] = days;
793 data["locked"] = locked;
794 data["locked_user"] = locked_user;
795 data["locked_user_name"] = locked_user_name;
796
797 return data;
798}
799
800AttendanceSummary AttendanceSummary::fromMap(const QVariantMap& data) {
801 AttendanceSummary x;
802 x.employee = data["employee"].toInt();
803 x.month = data["month"].toDate();
804 x.days = data["days"].toDouble();
805 x.arrival = data["arrival"].toDouble();
806 x.vacation = data["vacation"].toDouble();
807 x.sick_leave = data["sick_leave"].toDouble();
808 x.compensatory_leave = data["compensatory_leave"].toDouble();
809 x.business_trip = data["business_trip"].toDouble();
810 x.break_time = data["break_time"].toDouble();
811 x.unpaid_leave = data["unpaid_leave"].toDouble();
812 x.sick_care = data["sick_care"].toDouble();
813 x.paid_obstacle = data["paid_obstacle"].toDouble();
814 x.doctor = data["doctor"].toDouble();
815 x.afternoon = data["afternoon"].toDouble();
816 x.night = data["night"].toDouble();
817 x.sunday = data["sunday"].toDouble();
818 x.saturday = data["saturday"].toDouble();
819 x.holiday = data["holiday"].toDouble();
820 x.calendar_working_days = data["calendar_working_days"].toInt();
821 x.calendar_holidays = data["calendar_holidays"].toInt();
822 x.firstname = data["firstname"].toString();
823 x.surname = data["surname"].toString();
824 x.days = data["days"].toInt();
825 x.locked = data["locked"].toBool();
826 x.locked_user = data["locked_user"].toInt();
827 x.locked_user_name = data["locked_user_name"].toString();
828
829 return x;
830}
831
832QVariantMap AttendanceDays::toMap() const {
833 QVariantMap data;
834 data["dow"] = dow;
835 data["holiday"] = holiday;
836 data["holiday_description"] = holiday_description;
837 data["start_event"] = null(start_event);
838 data["start_date"] = start_date;
839 data["start_event_type"] = start_event_type;
840 data["start_event_description"] = start_event_description;
841 data["start_event_note"] = start_event_note;
842 data["start_event_error"] = start_event_error;
843 data["start_user_edited"] = null(start_user_edited);
844 data["start_user_edited_name"] = start_user_edited_name;
845 data["end_event"] = null(end_event);
846 data["end_date"] = end_date;
847 data["end_event_type"] = end_event_type;
848 data["end_event_description"] = end_event_description;
849 data["end_event_note"] = end_event_note;
850 data["end_event_error"] = end_event_error;
851 data["end_user_edited"] = null(end_user_edited);
852 data["end_user_edited_name"] = end_user_edited_name;
853 data["end_generated"] = end_generated;
854 data["rounded_hours"] = rounded_hours;
855 data["cumulative_hours"] = cumulative_hours;
856 data["should_be"] = should_be;
857 data["should_be_cumulative"] = should_be_cumulative;
858 return data;
859}
860
861AttendanceDays AttendanceDays::fromMap(const QVariantMap& data) {
862 AttendanceDays x;
863 x.dow = data["dow"].toInt();
864 x.holiday = data["holiday"].toBool();
865 x.holiday_description = data["holiday_description"].toString();
866 x.start_event = data["start_event"];
867 x.start_date = data["start_date"].toDateTime();
868 x.start_event_type = data["start_event_type"].toString();
869 x.start_event_description = data["start_event_description"].toString();
870 x.start_event_note = data["start_event_note"].toString();
871 x.start_event_error = data["start_event_error"].toString();
872 x.start_user_edited = data["start_user_edited"];
873 x.start_user_edited_name = data["start_user_edited_name"].toString();
874 x.end_event = data["end_event"];
875 x.end_date = data["end_date"].toDateTime();
876 x.end_event_type = data["end_event_type"].toString();
877 x.end_event_description = data["end_event_description"].toString();
878 x.end_event_note = data["end_event_note"].toString();
879 x.end_event_error = data["end_event_error"].toString();
880 x.end_user_edited = data["end_user_edited"];
881 x.end_user_edited_name = data["end_user_edited_name"].toString();
882 x.end_generated = data["end_generated"].toBool();
883 x.rounded_hours = data["rounded_hours"].toDouble();
884 x.cumulative_hours = data["cumulative_hours"].toDouble();
885 x.should_be = data["should_be"].toDouble();
886 x.should_be_cumulative = data["should_be_cumulative"].toDouble();
887 return x;
888}
889
890QList<AttendanceDays> AttendanceDays::fromList(const QVariantList& list) {
891 QList<AttendanceDays> x;
892 QListIterator<QVariant> iterator(list);
893 while (iterator.hasNext()) {
894 x << AttendanceDays::fromMap(iterator.next().toMap());
895 }
896 return x;
897}
898
899QVariantMap AttendanceChecklist::toMap() const {
900 QVariantMap data;
901 data["can_write"] = can_write;
902 data["month"] = month;
903 data["employee"] = employee.toMap();
904 data["days"] = toList(days);
905 data["summary_calculated"] = summary_calculated.toMap();
906 data["summary_saved"] = summary_saved.toMap();
907 return data;
908}
909
910AttendanceChecklist AttendanceChecklist::fromMap(const QVariantMap& data) {
911 AttendanceChecklist x;
912 x.can_write = data["can_write"].toBool();
913 x.month = data["month"].toDate();
914 x.employee = Employees::fromMap(data["employee"].toMap());
915 x.days = AttendanceDays::fromList(data["days"].toList());
916 x.summary_calculated = AttendanceSummary::fromMap(data["summary_calculated"].toMap());
917 x.summary_saved = AttendanceSummary::fromMap(data["summary_saved"].toMap());
918 return x;
919}
920
921QVariantMap AttendancePresent::toMap() const {
922 QVariantMap data;
923 data["employee"] = employee.toMap();
924 data["date"] = date;
925 data["event_type"] = event_type;
926 data["present"] = present;
927 return data;
928}
929
930AttendancePresent AttendancePresent::fromMap(const QVariantMap& data) {
931 AttendancePresent x;
932 x.employee = Employees::fromMap(data["employee"].toMap());
933 x.date = data["date"].toDateTime();
934 x.event_type = data["event_type"].toString();
935 x.present = data["present"].toBool();
936 return x;
937}
938
939QVariantMap AttendanceRecent::toMap() const {
940 QVariantMap data;
941 data["employee"] = employee;
942 data["start_event"] = start_event;
943 data["start_date"] = start_date;
944 data["start_event_type"] = start_event_type;
945 data["start_note"] = start_note;
946 data["start_error"] = start_error;
947 data["start_user_edited"] = start_user_edited;
948 data["end_event"] = end_event;
949 data["end_date"] = end_date;
950 data["end_event_type"] = end_event_type;
951 data["end_note"] = end_note;
952 data["end_error"] = end_error;
953 data["end_user_edited"] = end_user_edited;
954 data["end_generated"] = end_generated;
955 return data;
956}
957
958AttendanceRecent AttendanceRecent::fromMap(const QVariantMap& data) {
959 AttendanceRecent x;
960 x.employee = data["employee"].toInt();
961 x.start_event = data["start_event"].toInt();
962 x.start_date = data["start_date"].toDateTime();
963 x.start_event_type = data["start_event_type"].toString();
964 x.start_note = data["start_note"].toString();
965 x.start_error = data["start_error"].toString();
966 x.start_user_edited = data["start_user_edited"].toInt();
967 x.end_event = data["end_event"].toInt();
968 x.end_date = data["end_date"].toDateTime();
969 x.end_event_type = data["end_event_type"].toString();
970 x.end_note = data["end_note"].toString();
971 x.end_error = data["end_error"].toString();
972 x.end_user_edited = data["end_user_edited"].toInt();
973 x.end_generated = data["end_generated"].toBool();
974 return x;
975}
976
977QVariantMap UserEmployeeAccess::toMap() const {
978 QVariantMap data;
979 data["user"] = user;
980 data["employee"] = employee;
981 data["can_write"] = can_write;
982 data["can_read"] = can_read;
983 return data;
984};
985
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:363
QString description
new status description
Definition dbt.h:366
QString status
new status
Definition dbt.h:365
QVariantList recent_status
recent statuses
Definition dbt.h:364