@@ -62,17 +62,40 @@ export class TimeEntriesComponent implements OnInit {
6262 }
6363
6464 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- }
6965 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+
7083 event . entry . id = this . entryId ;
7184 this . store . dispatch ( new entryActions . UpdateEntry ( event . entry ) ) ;
7285 if ( event . shouldRestartEntry ) {
7386 this . store . dispatch ( new entryActions . RestartEntry ( event . entry ) ) ;
7487 }
7588 } 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+
7699 this . store . dispatch ( new entryActions . CreateEntry ( event . entry ) ) ;
77100 }
78101 }
0 commit comments