Skip to content

Commit 561d501

Browse files
authored
Merge pull request #351 from navikt/TOLK-2499
fix for CourseHandler timezone logic
2 parents e06796c + acbc8e3 commit 561d501

File tree

1 file changed

+8
-42
lines changed

1 file changed

+8
-42
lines changed

force-app/main/default/classes/CourseHandler.cls

+8-42
Original file line numberDiff line numberDiff line change
@@ -34,48 +34,9 @@ global with sharing class CourseHandler {
3434
wrapper.Title = course.Name;
3535
wrapper.RegistrationUrl = course.RegistrationUrl2__c;
3636

37-
//permanent DST fix
38-
// DateTime currentDateTime = DateTime.now();
39-
// Timezone userTimeZone = Timezone.getTimeZone('Europe/Oslo');
40-
// Integer timeZoneOffsetMinutes = userTimeZone.getOffset(DateTime.now());
41-
// Datetime fromTime = course.RegistrationFromDateTime__c.addMinutes(timeZoneOffsetMinutes);
42-
// Datetime toTime = course.RegistrationToDateTime__c.addMinutes(timeZoneOffsetMinutes);
43-
// Datetime deadline = course.RegistrationDeadline__c.addMinutes(timeZoneOffsetMinutes);
44-
45-
// wrapper.RegistrationFromDateTime = fromTime;
46-
// wrapper.RegistrationToDateTime = toTime;
47-
// wrapper.RegistrationDeadline = deadline;
48-
49-
//temp fix for timezone problems
50-
Datetime summer25 = DateTime.newInstance(2025, 3, 30, 0, 0, 0);
51-
Datetime winter25 = DateTime.newInstance(2025, 10, 26, 0, 0, 0);
52-
Datetime summer24 = DateTime.newInstance(2024, 3, 31, 0, 0, 0);
53-
Datetime winter24 = DateTime.newInstance(2024, 10, 27, 0, 0, 0);
54-
55-
Datetime fromTime = course.RegistrationFromDateTime__c;
56-
if (fromTime > summer24 && fromTime < winter24 || fromTime > summer25 && fromTime < winter25) {
57-
fromTime = fromTime.addHours(2);
58-
} else {
59-
fromTime = fromTime.addHours(1);
60-
}
61-
62-
wrapper.RegistrationFromDateTime = fromTime;
63-
64-
Datetime toTime = course.RegistrationToDateTime__c;
65-
if (toTime > summer24 && toTime < winter24 || toTime > summer25 && toTime < winter25) {
66-
toTime = toTime.addHours(2);
67-
} else {
68-
toTime = toTime.addHours(1);
69-
}
70-
wrapper.RegistrationToDateTime = toTime;
71-
72-
Datetime deadline = course.RegistrationDeadline__c;
73-
if (deadline > summer24 && deadline < winter24 || deadline > summer25 && deadline < winter25) {
74-
deadline = deadline.addHours(2);
75-
} else {
76-
deadline = deadline.addHours(1);
77-
}
78-
wrapper.RegistrationDeadline = deadline;
37+
wrapper.RegistrationFromDateTime = toOsloTimeZone(course.RegistrationFromDateTime__c);
38+
wrapper.RegistrationToDateTime = toOsloTimeZone(course.RegistrationToDateTime__c);
39+
wrapper.RegistrationDeadline = toOsloTimeZone(course.RegistrationDeadline__c);
7940
// --------------------------------------------- //
8041
wrapper.RegistrationPlaceName = course.RegistrationPlaceName__c;
8142
wrapper.FrontPageDescription = course.DescriptionFormatted__c;
@@ -98,4 +59,9 @@ global with sharing class CourseHandler {
9859
RestContext.response.addHeader('Content-Type', 'application/json');
9960
RestContext.response.responseBody = Blob.valueOf(JSON.serialize(wrapperList));
10061
}
62+
63+
private static Datetime toOsloTimeZone(Datetime local) {
64+
TimeZone osloTimeZone = TimeZone.getTimeZone('Europe/Oslo');
65+
return local.addMinutes(osloTimeZone.getOffset(local) / 60000);
66+
}
10167
}

0 commit comments

Comments
 (0)