18 static QVariant null(
const QVariant& x) {
19 if (x.isValid() && !x.isNull()) {
return x; }
25QVariantMap Users::toMap()
const {
28 data[
"login"] = login;
31 data[
"enabled"] = enabled;
32 data[
"admin"] = admin;
37Users Users::fromMap(
const QVariantMap& data) {
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();
49QVariantMap ClientSettings::toMap()
const {
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;
63ServerInfo ServerInfo::fromMap(
const QVariantMap& data) {
65 x.name = data[
"name"].toString();
66 x.description = data[
"description"].toString();
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();
87QVariantMap Categories::toMap()
const {
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;
99Categories Categories::fromMap(
const QVariantMap& data) {
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();
112 x.id = data[
"id"].toInt();
113 x.user = data[
"user"].toInt();
114 x.category = data[
"category"].toString();
119QVariantMap UsersCategories::toMap()
const {
123 data[
"category"] = null(category);
128QVariantMap StatusOrder::toMap()
const {
130 data[
"id"] = null(
id);
131 data[
"category"] = null(category);
132 data[
"previous_status"] = null(previous_status);
133 data[
"next_status"] = null(next_status);
138StatusOrder StatusOrder::fromMap(
const QVariantMap& data) {
141 x.category = data[
"category"];
142 x.previous_status = data[
"previous_status"];
143 x.next_status = data[
"next_status"];
148QVariantMap Statuses::toMap()
const {
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;
158 data[
"next"] = toList(next);
164Statuses Statuses::fromMap(
const QVariantMap& data) {
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());
183QVariantMap StatusTemplates::toMap()
const {
186 data[
"status"] = status;
187 data[
"category"] = category;
189 data[
"title"] = title;
190 data[
"description"] = description;
195Tickets Tickets::fromMap(
const QVariantMap& map) {
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();
209QVariantMap Tickets::toMap()
const {
212 data[
"ticket"] = null(ticket);
213 data[
"category"] = null(category);
215 data[
"price"] = price;
216 data[
"description"] = description;
218 data[
"created"] = created;
219 data[
"modified"] = modified;
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);
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());
245Mutable Mutable::fromMap(
const QVariantMap& data) {
247 x.id = data[
"id"].toInt();
248 x.user = data[
"user"];
249 x.ticket = data[
"ticket"];
254QVariantMap Mutable::toMap()
const {
258 data[
"ticket"] = ticket;
266 TicketTimesheets x = Mutable::fromMap(data);
267 x.date_from = data[
"date_from"].toDateTime();
268 x.date_to = data[
"date_to"].toDateTime();
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());
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"];
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();
304QVariantMap TicketTimesheets::toMap()
const {
305 QVariantMap data = Mutable::toMap();
306 data[
"date_from"] = date_from;
307 data[
"date_to"] = date_to;
312QVariantMap TicketFiles::toMap()
const {
313 QVariantMap data = Mutable::toMap();
317 data[
"content"] = content.toBase64();
322QVariantMap TicketValues::toMap()
const {
323 QVariantMap data = Mutable::toMap();
326 data[
"value"] = value;
331QVariantMap TicketStatus::toMap()
const {
332 QVariantMap data = Mutable::toMap();
333 data[
"status"] = status;
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;
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());
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());
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());
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());
386QVariantMap OverviewList::toMap()
const {
389 data[
"category"] = category.toMap();
390 data[
"statuses"] = toList(statuses);
396QVariantMap Overview::Days::toMap()
const {
398 data[
"ticket"] = ticket;
399 data[
"description"] = description;
401 data[
"user_name"] = user_name;
403 data[
"hour_price"] = hour_price;
404 data[
"duration"] = duration;
405 data[
"price"] = price;
410QVariantMap Overview::Sum::toMap()
const {
412 data[
"duration"] = duration;
413 data[
"price"] = price;
418QVariantMap Overview::Tickets::toMap()
const {
420 data[
"ticket"] = ticket;
421 data[
"description"] = description;
423 data[
"user_name"] = user_name;
424 data[
"hour_price"] = hour_price;
425 data[
"duration"] = duration;
426 data[
"price"] = price;
427 data[
"status"] = status;
432QVariantMap Overview::TicketsSum::toMap()
const {
434 data[
"ticket"] = ticket;
435 data[
"description"] = description;
436 data[
"duration"] = duration;
437 data[
"price"] = price;
438 data[
"status"] = status;
443QVariantMap Overview::StatusSum::toMap()
const {
445 data[
"duration"] = duration;
446 data[
"price"] = price;
447 data[
"status"] = status;
452QVariantMap Overview::UserSum::toMap()
const {
454 data[
"duration"] = duration;
455 data[
"price"] = price;
456 data[
"user_name"] = user_name;
461QVariantMap Overview::toMap()
const {
463 data[
"category"] = category.toMap();
464 data[
"tickets"] = toList(tickets);
467 xdays[
"records"] = toList(days);
468 xdays[
"sum"] = sum.toMap();
469 data[
"days"] = xdays;
471 QVariantMap xtickets;
472 xtickets[
"records"] = toList(tickets);
473 xtickets[
"sum"] = toList(ticketsSum);
474 data[
"tickets"] = xtickets;
476 data[
"status_sum"] = toList(statusSum);
477 data[
"people_sum"] = toList(userSum);
486QVariantMap CategoriesOverview::toMap()
const {
489 data[
"depth"] = depth;
490 data[
"tickets_count"] = tickets_count;
491 data[
"category"] = category;
492 data[
"description"] = description;
493 data[
"price"] = price;
495 data[
"ordering"] = ordering;
500AppendStatuses AppendStatuses::fromMap(
const QVariantMap& data) {
504 x.
status = data[
"status"].toString();
510QVariantMap AppendStatuses::toMap()
const {
512 data[
"categories"] = categories;
513 data[
"recent_status"] = recent_status;
514 data[
"status"] = status;
515 data[
"description"] = description;
520QVariantMap Departments::toMap()
const {
522 data[
"department"] = department;
524 data[
"description"] = description;
529Departments Departments::fromMap(
const QVariantMap& data) {
531 x.department = data[
"department"].toInt();
532 x.abbr = data[
"abbr"].toString();
533 x.description = data[
"description"] .toString();
537QVariantMap EventTypes::toMap()
const {
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;
558EventTypes EventTypes::fromMap(
const QVariantMap& data) {
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();
577QVariantMap Events::toMap()
const {
579 data[
"event"] = event;
580 data[
"error"] = error;
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;
594Events Events::fromMap(
const QVariantMap& data) {
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();
606QVariantMap DepartmentHasManager::toMap()
const {
608 data[
"department"] = department;
613DepartmentHasManager DepartmentHasManager::fromMap(
const QVariantMap& data) {
614 DepartmentHasManager x;
615 x.department = data[
"department"].toInt();
616 x.user = data[
"user"].toInt();
620QVariantMap DepartmentHasMember::toMap()
const {
622 data[
"department"] = department;
623 data[
"employee"] = employee;
627DepartmentHasMember DepartmentHasMember::fromMap(
const QVariantMap& data) {
628 DepartmentHasMember x;
629 x.department = data[
"department"].toInt();
630 x.employee = data[
"employee"].toInt();
634QVariantMap EmployeeCanOpenDoor::toMap()
const {
636 data[
"employee"] = employee;
641EmployeeCanOpenDoor EmployeeCanOpenDoor::fromMap(
const QVariantMap& data) {
642 EmployeeCanOpenDoor x;
643 x.employee = data[
"employee"].toInt();
644 x.door = data[
"door"].toInt();
648QVariantMap EmployeeHasRfid::toMap()
const {
650 data[
"employee"] = employee;
655EmployeeHasRfid EmployeeHasRfid::fromMap(
const QVariantMap& data) {
657 x.employee = data[
"employee"].toInt();
658 x.rfid = data[
"rfid"].toInt();
662QVariantMap Employees::toMap()
const {
664 data[
"employee"] = employee;
665 data[
"firstname"] = firstname;
666 data[
"surname"] = surname;
667 data[
"active"] = active;
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;
679Employees Employees::fromMap(
const QVariantMap& data) {
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();
697QVariantMap Doors::toMap()
const {
700 data[
"description"] = description;
705Doors Doors::fromMap(
const QVariantMap& data) {
707 x.door = data[
"door"].toInt();
708 x.description = data[
"description"].toString();
712QVariantMap Rfids::toMap()
const {
715 data[
"rfid_id"] = rfid_id;
716 data[
"valid"] = valid;
718 data[
"employee"] = employee;
720 data[
"surname"] = surname;
724Rfids Rfids::fromMap(
const QVariantMap& data) {
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();
734QVariantMap Holidays::toMap()
const {
737 data[
"description"] = description;
741Holidays Holidays::fromMap(
const QVariantMap& data) {
743 x.date = data[
"date"].toDate();
744 x.description = data[
"description"].toString();
748QVariantMap WorkCalendar::toMap()
const {
750 data[
"period"] = period;
751 data[
"working_days"] = working_days;
752 data[
"holidays"] = holidays;
753 data[
"hours8"] = hours8;
754 data[
"hours85"] = hours85;
758WorkCalendar WorkCalendar::fromMap(
const QVariantMap& data) {
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();
768QVariantMap AttendanceSummary::toMap()
const {
770 data[
"employee"] = employee;
771 data[
"month"] = month;
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;
793 data[
"locked"] = locked;
794 data[
"locked_user"] = locked_user;
795 data[
"locked_user_name"] = locked_user_name;
800AttendanceSummary AttendanceSummary::fromMap(
const QVariantMap& data) {
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();
832QVariantMap AttendanceDays::toMap()
const {
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;
861AttendanceDays AttendanceDays::fromMap(
const QVariantMap& data) {
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();
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());
899QVariantMap AttendanceChecklist::toMap()
const {
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();
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());
921QVariantMap AttendancePresent::toMap()
const {
923 data[
"employee"] = employee.toMap();
925 data[
"event_type"] = event_type;
926 data[
"present"] = present;
930AttendancePresent AttendancePresent::fromMap(
const QVariantMap& data) {
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();
939QVariantMap AttendanceRecent::toMap()
const {
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;
958AttendanceRecent AttendanceRecent::fromMap(
const QVariantMap& data) {
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();
977QVariantMap UserEmployeeAccess::toMap()
const {
980 data[
"employee"] = employee;
981 data[
"can_write"] = can_write;
982 data[
"can_read"] = can_read;
Konvertuje null variant na invalid variant - QJsonDocument jinak konvertuje int null hodnoty špatně n...
QVariantList categories
categories which are appended with new statuse
QString description
new status description
QVariantList recent_status
recent statuses