mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-10-31 19:17:48 +00:00 
			
		
		
		
	 87d92f73d4
			
		
	
	87d92f73d4
	
	
	
		
			
			- Re-write the methods for clarity - Remove the dependency on the ReportHelper class. - Remove n+1 queries in the average metric time series data.
		
			
				
	
	
		
			20 lines
		
	
	
		
			745 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			745 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| module TimezoneHelper
 | |
|   # ActiveSupport TimeZone is not aware of the current time, so ActiveSupport::Timezone[offset]
 | |
|   # would return the timezone without considering day light savings. To get the correct timezone,
 | |
|   # this method uses zone.now.utc_offset for comparison as referenced in the issues below
 | |
|   #
 | |
|   # https://github.com/rails/rails/pull/22243
 | |
|   # https://github.com/rails/rails/issues/21501
 | |
|   # https://github.com/rails/rails/issues/7297
 | |
|   def timezone_name_from_offset(offset)
 | |
|     return 'UTC' if offset.blank?
 | |
| 
 | |
|     offset_in_seconds = offset.to_f * 3600
 | |
|     matching_zone = ActiveSupport::TimeZone.all.find do |zone|
 | |
|       zone.now.utc_offset == offset_in_seconds
 | |
|     end
 | |
| 
 | |
|     return matching_zone.name if matching_zone
 | |
|   end
 | |
| end
 |