From 2d43153237cadc30a37abb19b6a33f69ec35f0e7 Mon Sep 17 00:00:00 2001 From: Burak Ikiler Date: Thu, 6 Apr 2023 14:10:30 +0300 Subject: [PATCH 1/3] Redmine 5 Compatibility: Autoloder fix with to_prepare. --- init.rb | 12 +++++++----- lib/patches/time_entry.rb | 14 -------------- lib/toggl_2_redmine/patches/time_entry_patch.rb | 16 ++++++++++++++++ 3 files changed, 23 insertions(+), 19 deletions(-) delete mode 100644 lib/patches/time_entry.rb create mode 100644 lib/toggl_2_redmine/patches/time_entry_patch.rb diff --git a/init.rb b/init.rb index b272f592..fbb8cfde 100644 --- a/init.rb +++ b/init.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true - -require_relative 'lib/toggl_2_redmine' - +Rails.configuration.to_prepare do + require_relative 'lib/toggl_2_redmine' +end Redmine::Plugin.register :toggl2redmine do # Package info. name 'Toggl 2 Redmine' @@ -18,5 +18,7 @@ caption: 'Toggl' end -# Patches. -require 'patches/time_entry' +Rails.configuration.to_prepare do + # Patches. + require 'patches/time_entry_patch' +end diff --git a/lib/patches/time_entry.rb b/lib/patches/time_entry.rb deleted file mode 100644 index f8ee2082..00000000 --- a/lib/patches/time_entry.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -module Toggl2Redmine - # Patch Redmine's TimeEntry model. - module TimeEntryPatch - def self.included(base) - base.class_eval do - has_many :toggl_mappings, dependent: :destroy - end - end - end -end - -TimeEntry.include Toggl2Redmine::TimeEntryPatch diff --git a/lib/toggl_2_redmine/patches/time_entry_patch.rb b/lib/toggl_2_redmine/patches/time_entry_patch.rb new file mode 100644 index 00000000..14c00c0a --- /dev/null +++ b/lib/toggl_2_redmine/patches/time_entry_patch.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Toggl2Redmine + module Patches + # Patch Redmine's TimeEntry model. + module TimeEntryPatch + def self.included(base) + base.class_eval do + has_many :toggl_mappings, dependent: :destroy + end + end + end + end +end + +TimeEntry.include Toggl2Redmine::Patches::TimeEntryPatch From b730be9e79c1b92112e9988749d1574ec967d939 Mon Sep 17 00:00:00 2001 From: Kirk Brown Date: Fri, 17 May 2024 10:31:24 -0400 Subject: [PATCH 2/3] refs #63197: Update for Toggle API v9. --- app/models/toggl_service.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/models/toggl_service.rb b/app/models/toggl_service.rb index 9234374c..9f7e9829 100644 --- a/app/models/toggl_service.rb +++ b/app/models/toggl_service.rb @@ -33,17 +33,17 @@ def load_time_entries( raise ArgumentError, 'Workspace ID must be a valid integer' end - raw_entries = get('/api/v8/time_entries', { start_date: start_date.iso8601, end_date: end_date.iso8601 }) + raw_entries = get('/api/v9/me/time_entries', { start_date: start_date.iso8601, end_date: end_date.iso8601 }) # The workspace filter is only supported on certain versions of the # Toggl API. Thus, it is easier to filter out such records ourselves. - raw_entries = raw_entries.keep_if { |r| workspace_id == r['wid'] } if workspace_id + raw_entries = raw_entries.keep_if { |r| workspace_id == r['wid'] } if workspace_id > 0 raw_entries.map { |e| TogglTimeEntry.new(e.symbolize_keys) } end # Loads workspaces from Toggl. def load_workspaces - get('/api/v8/workspaces') + get('/api/v9/workspaces') .map { |w| TogglWorkspace.new(w.symbolize_keys) } end From 330c03e3361bba46db884937631a240ac17a3ffa Mon Sep 17 00:00:00 2001 From: Burak Ikiler <123000591+burak-ikiler-ew@users.noreply.github.com> Date: Wed, 22 May 2024 14:15:22 +0300 Subject: [PATCH 3/3] Update init.rb for Not displayed Plugin information --- init.rb | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/init.rb b/init.rb index ee30c316..2d922315 100644 --- a/init.rb +++ b/init.rb @@ -2,23 +2,25 @@ Rails.configuration.to_prepare do require_relative 'lib/toggl_2_redmine' +end - Redmine::Plugin.register :toggl2redmine do - # Package info. - name 'Toggl 2 Redmine' - author 'Jigarius' - description 'Imports time entries from Toggl into Redmine.' - version Toggl2Redmine::VERSION - url 'https://github.com/jigarius/toggl2redmine' - author_url 'https://jigarius.com/' +Redmine::Plugin.register :toggl2redmine do + # Package info. + name 'Toggl 2 Redmine' + author 'Jigarius' + description 'Imports time entries from Toggl into Redmine.' + version Toggl2Redmine::VERSION + url 'https://github.com/jigarius/toggl2redmine' + author_url 'https://jigarius.com/' - # Menu items. - menu :application_menu, - :toggl2redmine, - { controller: 't2r_import', action: 'index' }, - caption: 'Toggl' - end + # Menu items. + menu :application_menu, + :toggl2redmine, + { controller: 't2r_import', action: 'index' }, + caption: 'Toggl' +end +Rails.configuration.to_prepare do # Patches. require_relative 'lib/patches/time_entry' end