@@ -62,17 +62,40 @@ export class TimeEntriesComponent implements OnInit {
62
62
}
63
63
64
64
doSave ( event : SaveEntryEvent ) {
65
- event . entry . start_date = new Date ( event . entry . start_date ) . toISOString ( ) ;
66
- if ( event . entry . end_date !== null && event . entry . end_date !== undefined ) {
67
- event . entry . end_date = new Date ( event . entry . end_date ) . toISOString ( ) ;
68
- }
69
65
if ( this . entryId ) {
66
+ const startDateChanged = this . entry . start_date !== event . entry . start_date ;
67
+ const endDateChanged = this . entry . end_date !== event . entry . end_date ;
68
+
69
+ if ( startDateChanged ) {
70
+ const startDate = new Date ( event . entry . start_date ) ;
71
+ startDate . setSeconds ( 1 , 0 ) ;
72
+ event . entry . start_date = startDate . toISOString ( ) ;
73
+ }
74
+
75
+ if ( endDateChanged ) {
76
+ if ( event . entry . end_date !== null && event . entry . end_date !== undefined ) {
77
+ const endDate = new Date ( event . entry . end_date ) ;
78
+ endDate . setSeconds ( 0 , 0 ) ;
79
+ event . entry . end_date = endDate . toISOString ( ) ;
80
+ }
81
+ }
82
+
70
83
event . entry . id = this . entryId ;
71
84
this . store . dispatch ( new entryActions . UpdateEntry ( event . entry ) ) ;
72
85
if ( event . shouldRestartEntry ) {
73
86
this . store . dispatch ( new entryActions . RestartEntry ( event . entry ) ) ;
74
87
}
75
88
} else {
89
+ const startDate = new Date ( event . entry . start_date ) ;
90
+ startDate . setSeconds ( 1 , 0 ) ;
91
+ event . entry . start_date = startDate . toISOString ( ) ;
92
+
93
+ if ( event . entry . end_date !== null && event . entry . end_date !== undefined ) {
94
+ const endDate = new Date ( event . entry . end_date ) ;
95
+ endDate . setSeconds ( 0 , 0 ) ;
96
+ event . entry . end_date = endDate . toISOString ( ) ;
97
+ }
98
+
76
99
this . store . dispatch ( new entryActions . CreateEntry ( event . entry ) ) ;
77
100
}
78
101
}
0 commit comments