redmine_remotes 0.16.2 → 0.16.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/project_remote_issues_controller/create.rb +1 -1
- data/app/controllers/project_remote_issues_controller/update.rb +1 -1
- data/app/models/remote_issue.rb +2 -3
- data/app/models/remote_issue_status.rb +2 -5
- data/app/models/remote_tracker.rb +3 -5
- data/app/models/remote_tracker_fetch/provider.rb +1 -1
- data/app/models/remote_tracker_fetch/remote_issues.rb +1 -1
- data/app/models/remote_tracker_fetch/remote_tracker.rb +1 -1
- data/app/models/remote_tracker_fetch.rb +4 -5
- data/app/models/remote_user.rb +3 -4
- data/app/tableless_models/redmine_remotes/issue_fetch/base/local_issue.rb +3 -3
- data/app/tableless_models/redmine_remotes/issue_fetch/base.rb +3 -3
- data/app/tableless_models/redmine_remotes/issue_fetch/create.rb +1 -3
- data/app/tableless_models/redmine_remotes/issue_fetch/update.rb +0 -2
- data/config/initializers/nonproject_modules.rb +19 -19
- data/db/migrate/20190531171641_create_remote_trackers.rb +1 -1
- data/db/migrate/20190910182842_create_remote_users.rb +1 -1
- data/db/migrate/20190910203552_create_remote_issue_statuses.rb +1 -1
- data/db/migrate/20190911165556_rename_issue_status_id_to_local_issue_status_id_in_remote_issue_statuses.rb +1 -1
- data/db/migrate/20190912000000_create_remote_issues.rb +1 -1
- data/db/migrate/20190913195930_add_default_local_user_id_to_remote_trackers.rb +1 -1
- data/db/migrate/20200504183142_create_remote_tracker_settings.rb +1 -1
- data/db/migrate/20200505153200_add_timestamps_to_redmine_trackers.rb +2 -2
- data/db/migrate/20200505160938_add_timestamps_to_remote_issues.rb +2 -2
- data/db/migrate/20200505161002_add_timestamps_to_remote_users.rb +2 -2
- data/db/migrate/20200602192120_add_outdated_at_to_remote_issues.rb +1 -1
- data/db/migrate/20200602194753_add_fetched_at_to_remote_issues.rb +1 -1
- data/db/migrate/20200602203020_add_fetched_at_to_remote_trackers.rb +1 -1
- data/init.rb +5 -5
- data/lib/redmine_remotes/esosti/entities/issue.rb +4 -1
- data/lib/redmine_remotes/esosti/instance.rb +1 -1
- data/lib/redmine_remotes/jira/instance.rb +1 -1
- data/lib/redmine_remotes/jobs/fetch_issues.rb +1 -1
- data/lib/redmine_remotes/patches/avmtrf1_rest_provider_instance.rb +1 -1
- data/lib/redmine_remotes/patches/issue.rb +2 -2
- data/lib/redmine_remotes/patches/issue_status.rb +2 -2
- data/lib/redmine_remotes/patches/project.rb +1 -1
- data/lib/redmine_remotes/patches/tracker.rb +2 -2
- data/lib/redmine_remotes/patches/user.rb +2 -2
- data/lib/redmine_remotes/version.rb +1 -1
- data/lib/tasks/redmine_remotes.rake +13 -13
- metadata +16 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db070edbe4b525121fdc21e37e938f571bf57675f1da06ed26f89c161158fd5b
|
4
|
+
data.tar.gz: a4091ccf4b2741f11484b58f2410c9450f01772c60dd68791f820d9e7b6242c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 897b2b658ce45fa5b1dcdcd09619d3866f03c01e42d3c6f811d8a7c34f4cf283870bbb3b741e5bcf1ed55635cf69abdf71665dd6191a0c7c5af28269af1b897e
|
7
|
+
data.tar.gz: '004196236cf182a255c18a6607cfae4caea3baf39dae0d555b69eaf1ca98fa8f65dc1298df2813d25fe00f285f276a923c2bc3f316b304f6befbc8636c3f6cca'
|
@@ -15,7 +15,7 @@ class ProjectRemoteIssuesController < ApplicationController
|
|
15
15
|
def create
|
16
16
|
@add_issue = create_model_class.new(create_params)
|
17
17
|
if @add_issue.save
|
18
|
-
flash[:notice] = "Demanda salva:
|
18
|
+
flash[:notice] = "Demanda salva: ##{@add_issue.local_issue.id}"
|
19
19
|
redirect_to url_for(action: 'index', id: @project.identifier,
|
20
20
|
tracker_id: @remote_tracker.id)
|
21
21
|
else
|
@@ -5,7 +5,7 @@ class ProjectRemoteIssuesController < ApplicationController
|
|
5
5
|
def update
|
6
6
|
update = update_model_class.new(update_params)
|
7
7
|
if update.save
|
8
|
-
update_redirect(update, "Demanda atualizada:
|
8
|
+
update_redirect(update, "Demanda atualizada: ##{update.remote_issue.local_issue.id}")
|
9
9
|
else
|
10
10
|
update_redirect(update, "Falha ao tentar atualizar demanda: #{update.errors.messages}")
|
11
11
|
end
|
data/app/models/remote_issue.rb
CHANGED
@@ -8,9 +8,8 @@ class RemoteIssue < ActiveRecord::Base
|
|
8
8
|
belongs_to :remote_tracker, class_name: 'RemoteTracker', inverse_of: :issues
|
9
9
|
belongs_to :local_issue, class_name: 'Issue', inverse_of: :remote_issue
|
10
10
|
|
11
|
-
validates :local_issue,
|
12
|
-
validates :
|
13
|
-
validates :remote_code, presence: true, uniqueness: { scope: [:remote_tracker] }
|
11
|
+
validates :local_issue, uniqueness: true # rubocop:disable Rails/UniqueValidationWithoutIndex
|
12
|
+
validates :remote_code, presence: true, uniqueness: { scope: [:remote_tracker] } # rubocop:disable Rails/UniqueValidationWithoutIndex
|
14
13
|
|
15
14
|
scope :outdated, lambda {
|
16
15
|
t = arel_table
|
@@ -9,14 +9,11 @@ class RemoteIssueStatus < ActiveRecord::Base
|
|
9
9
|
belongs_to :local_tracker, class_name: 'Tracker'
|
10
10
|
belongs_to :local_issue_status, class_name: 'IssueStatus'
|
11
11
|
|
12
|
-
validates :remote_name, presence: true, uniqueness: { scope: %i[remote_tracker local_tracker] }
|
13
|
-
validates :remote_tracker, presence: true
|
14
|
-
validates :local_tracker, presence: true
|
15
|
-
validates :local_issue_status, presence: true
|
12
|
+
validates :remote_name, presence: true, uniqueness: { scope: %i[remote_tracker local_tracker] } # rubocop:disable Rails/UniqueValidationWithoutIndex
|
16
13
|
|
17
14
|
class << self
|
18
15
|
def remote_name_options
|
19
|
-
|
16
|
+
pluck(:remote_name).map { |v| [v.upcase, v] }
|
20
17
|
end
|
21
18
|
end
|
22
19
|
end
|
@@ -19,14 +19,12 @@ class RemoteTracker < ActiveRecord::Base
|
|
19
19
|
dependent: :destroy
|
20
20
|
has_many :remote_users, class_name: 'RemoteUser', inverse_of: :remote_tracker,
|
21
21
|
dependent: :restrict_with_error
|
22
|
-
belongs_to :default_local_user, class_name: 'User', inverse_of: :remote_trackers_as_default
|
23
|
-
foreign_key: :default_local_user_id
|
22
|
+
belongs_to :default_local_user, class_name: 'User', inverse_of: :remote_trackers_as_default
|
24
23
|
|
25
24
|
validates :profile, presence: true, inclusion: { in: lists.profile.values }
|
26
|
-
validates :root_url, presence: true, uniqueness: { scope: [:username] }, url: true
|
25
|
+
validates :root_url, presence: true, uniqueness: { scope: [:username] }, url: true # rubocop:disable Rails/UniqueValidationWithoutIndex
|
27
26
|
validates :username, presence: true
|
28
27
|
validates :password, presence: true
|
29
|
-
validates :default_local_user, presence: true
|
30
28
|
|
31
29
|
scope :fetchable, -> { where(profile: fetchable_profiles) }
|
32
30
|
|
@@ -34,7 +32,7 @@ class RemoteTracker < ActiveRecord::Base
|
|
34
32
|
self.class.fetchable_profiles.include?(profile)
|
35
33
|
end
|
36
34
|
|
37
|
-
def find_local_issue_status(local_tracker, remote_status_name, register_not_found = false)
|
35
|
+
def find_local_issue_status(local_tracker, remote_status_name, register_not_found = false) # rubocop:disable Style/OptionalBooleanParameter
|
38
36
|
::RemoteTracker::FindIssueLocalStatus.new(self, local_tracker, remote_status_name,
|
39
37
|
register_not_found).result
|
40
38
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'eac_ruby_utils/core_ext'
|
4
4
|
|
5
|
-
class RemoteTrackerFetch <
|
5
|
+
class RemoteTrackerFetch < EacRailsUtils::Models::Tableless
|
6
6
|
require_sub __FILE__, include_modules: true, require_dependency: true
|
7
7
|
enable_simple_cache
|
8
8
|
include ::EacRailsUtils::Models::FetchErrors
|
@@ -10,16 +10,15 @@ class RemoteTrackerFetch < ::EacRailsUtils::Models::Tableless
|
|
10
10
|
attribute :remote_tracker_id, ::Integer
|
11
11
|
belongs_to :remote_tracker, class_name: 'RemoteTracker'
|
12
12
|
|
13
|
-
validates :remote_tracker, presence: true
|
14
13
|
validates :start_time, presence: true
|
15
14
|
validates :end_time, presence: true
|
16
15
|
validate :remote_tracker_fetchable_validation
|
17
16
|
|
18
17
|
def save
|
19
18
|
::Issue.transaction do
|
20
|
-
return false unless valid?
|
21
|
-
return false unless save_remote_issues
|
22
|
-
return false unless save_remote_tracker
|
19
|
+
return false unless valid? # rubocop:disable Rails/TransactionExitStatement
|
20
|
+
return false unless save_remote_issues # rubocop:disable Rails/TransactionExitStatement
|
21
|
+
return false unless save_remote_tracker # rubocop:disable Rails/TransactionExitStatement
|
23
22
|
end
|
24
23
|
true
|
25
24
|
end
|
data/app/models/remote_user.rb
CHANGED
@@ -6,12 +6,11 @@ class RemoteUser < ActiveRecord::Base
|
|
6
6
|
downcase_columns :remote_login
|
7
7
|
|
8
8
|
belongs_to :remote_tracker, class_name: 'RemoteTracker', inverse_of: :remote_users
|
9
|
-
belongs_to :local_user, class_name: 'User', inverse_of: :remote_users
|
9
|
+
belongs_to :local_user, class_name: 'User', inverse_of: :remote_users
|
10
10
|
|
11
|
-
validates :remote_login, presence: true, uniqueness: { scope: [:remote_tracker] }
|
12
|
-
validates :local_user, presence: true
|
11
|
+
validates :remote_login, presence: true, uniqueness: { scope: [:remote_tracker] } # rubocop:disable Rails/UniqueValidationWithoutIndex
|
13
12
|
|
14
|
-
def self.find_local_user(remote_login, remote_tracker = nil, register_not_found = false)
|
13
|
+
def self.find_local_user(remote_login, remote_tracker = nil, register_not_found = false) # rubocop:disable Style/OptionalBooleanParameter
|
15
14
|
::RemoteUser::FindLocalUser.new(remote_login, remote_tracker, register_not_found).result
|
16
15
|
end
|
17
16
|
end
|
@@ -15,7 +15,7 @@ module RedmineRemotes
|
|
15
15
|
def save_local_issue_created_on
|
16
16
|
local_issue_provider_attributes[:created_on].if_present do |created_on|
|
17
17
|
if created_on.present? && local_issue.created_on != created_on
|
18
|
-
local_issue.update_column(
|
18
|
+
local_issue.update_column(
|
19
19
|
:created_on, created_on
|
20
20
|
)
|
21
21
|
end
|
@@ -26,7 +26,7 @@ module RedmineRemotes
|
|
26
26
|
|
27
27
|
def save_local_issue_except_create_on
|
28
28
|
local_issue_provider_attributes.except(:created_on)
|
29
|
-
|
29
|
+
.each { |attr, value| local_issue.send("#{attr}=", value) }
|
30
30
|
return true if local_issue.save
|
31
31
|
|
32
32
|
fetch_record_errors(local_issue, default_column: default_error_column)
|
@@ -61,7 +61,7 @@ module RedmineRemotes
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def local_issue_description
|
64
|
-
[local_issue_extra_description(:before), provider_issue.description,
|
64
|
+
[local_issue_extra_description(:before), provider_issue.description, # rubocop:disable Style/StringConcatenation
|
65
65
|
local_issue_extra_description(:after), local_issue_import_footer]
|
66
66
|
.reject(&:blank?).map(&:strip).join("\n\n----\n\n") + "\n"
|
67
67
|
end
|
@@ -36,9 +36,9 @@ module RedmineRemotes
|
|
36
36
|
|
37
37
|
def save
|
38
38
|
::Issue.transaction do
|
39
|
-
return false unless valid?
|
40
|
-
return false unless save_local_issue
|
41
|
-
return false unless save_remote_issue
|
39
|
+
return false unless valid? # rubocop:disable Rails/TransactionExitStatement
|
40
|
+
return false unless save_local_issue # rubocop:disable Rails/TransactionExitStatement
|
41
|
+
return false unless save_remote_issue # rubocop:disable Rails/TransactionExitStatement
|
42
42
|
end
|
43
43
|
true
|
44
44
|
end
|
@@ -14,8 +14,6 @@ module RedmineRemotes
|
|
14
14
|
belongs_to :project, class_name: 'Project'
|
15
15
|
belongs_to :remote_tracker, class_name: 'RemoteTracker'
|
16
16
|
|
17
|
-
validates :project, presence: true
|
18
|
-
|
19
17
|
validate :tracker_in_project
|
20
18
|
|
21
19
|
def default_error_column
|
@@ -35,7 +33,7 @@ module RedmineRemotes
|
|
35
33
|
|
36
34
|
def update
|
37
35
|
update_record = ::RedmineRemotes::IssueFetch::Update
|
38
|
-
|
36
|
+
.new(remote_issue: remote_issue_by_remote_code)
|
39
37
|
return true if update_record.save
|
40
38
|
|
41
39
|
fetch_record_errors(update_record, default_column: default_error_column)
|
@@ -1,31 +1,31 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
return unless
|
4
|
-
|
3
|
+
return unless RedminePluginsHelper::Available.model?(
|
4
|
+
RemoteIssue, RemoteIssueStatus, RemoteUser, RemoteTracker, RemoteTrackerSetting
|
5
5
|
)
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
dependencies: [
|
7
|
+
GroupPermission.add_permission(RemoteTrackersController::READ_PERMISSION)
|
8
|
+
GroupPermission.add_permission(
|
9
|
+
RemoteTrackersController::WRITE_PERMISSION,
|
10
|
+
dependencies: [RemoteTrackersController::READ_PERMISSION]
|
11
11
|
)
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
dependencies: [
|
12
|
+
GroupPermission.add_permission(RemoteIssuesController::READ_PERMISSION)
|
13
|
+
GroupPermission.add_permission(
|
14
|
+
RemoteIssuesController::WRITE_PERMISSION,
|
15
|
+
dependencies: [RemoteIssuesController::READ_PERMISSION]
|
16
16
|
)
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies: [
|
17
|
+
GroupPermission.add_permission(RemoteIssueStatusesController::READ_PERMISSION)
|
18
|
+
GroupPermission.add_permission(
|
19
|
+
RemoteIssueStatusesController::WRITE_PERMISSION,
|
20
|
+
dependencies: [RemoteIssueStatusesController::READ_PERMISSION]
|
21
21
|
)
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
dependencies: [
|
22
|
+
GroupPermission.add_permission(RemoteUsersController::READ_PERMISSION)
|
23
|
+
GroupPermission.add_permission(
|
24
|
+
RemoteUsersController::WRITE_PERMISSION,
|
25
|
+
dependencies: [RemoteUsersController::READ_PERMISSION]
|
26
26
|
)
|
27
27
|
|
28
|
-
Redmine::MenuManager.map
|
28
|
+
Redmine::MenuManager.map RedmineRemotes::SLUG.to_sym do |menu|
|
29
29
|
menu.push_controller(:remote_trackers)
|
30
30
|
menu.push_controller(:remote_tracker_settings)
|
31
31
|
menu.push_controller(:remote_issues)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class CreateRemoteTrackers < (
|
4
|
-
|
4
|
+
Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
5
|
)
|
6
6
|
def change
|
7
7
|
create_table :remote_trackers do |t| # rubocop:disable Rails/CreateTableWithTimestamps
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class CreateRemoteUsers < (
|
4
|
-
|
4
|
+
Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
5
|
)
|
6
6
|
def change
|
7
7
|
create_table :remote_users do |t| # rubocop:disable Rails/CreateTableWithTimestamps
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class CreateRemoteIssueStatuses < (
|
4
|
-
|
4
|
+
Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
5
|
)
|
6
6
|
def change
|
7
7
|
create_table :remote_issue_statuses do |t| # rubocop:disable Rails/CreateTableWithTimestamps
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class RenameIssueStatusIdToLocalIssueStatusIdInRemoteIssueStatuses < (
|
4
|
-
|
4
|
+
Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
5
|
)
|
6
6
|
def change
|
7
7
|
rename_column :remote_issue_statuses, :issue_status_id, :local_issue_status_id
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class CreateRemoteIssues < (
|
4
|
-
|
4
|
+
Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
5
|
)
|
6
6
|
def change
|
7
7
|
create_table :remote_issues do |t| # rubocop:disable Rails/CreateTableWithTimestamps
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class AddDefaultLocalUserIdToRemoteTrackers < (
|
4
|
-
|
4
|
+
Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
5
|
)
|
6
6
|
def change
|
7
7
|
add_reference :remote_trackers, :default_local_user, index: true
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class CreateRemoteTrackerSettings < (
|
4
|
-
|
4
|
+
Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
5
|
)
|
6
6
|
def change
|
7
7
|
create_table :remote_tracker_settings do |t|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class AddTimestampsToRedmineTrackers < (
|
4
|
-
|
4
|
+
Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
5
|
)
|
6
6
|
class RemoteTracker < ::ActiveRecord::Base; end
|
7
7
|
|
@@ -10,7 +10,7 @@ class AddTimestampsToRedmineTrackers < (
|
|
10
10
|
reversible do |dir|
|
11
11
|
dir.up do
|
12
12
|
now = ::Time.zone.now
|
13
|
-
RemoteTracker.update_all(created_at: now, updated_at: now)
|
13
|
+
RemoteTracker.update_all(created_at: now, updated_at: now)
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class AddTimestampsToRemoteIssues < (
|
4
|
-
|
4
|
+
Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
5
|
)
|
6
6
|
class RemoteIssue < ::ActiveRecord::Base; end
|
7
7
|
|
@@ -10,7 +10,7 @@ class AddTimestampsToRemoteIssues < (
|
|
10
10
|
reversible do |dir|
|
11
11
|
dir.up do
|
12
12
|
now = ::Time.zone.now
|
13
|
-
RemoteIssue.update_all(created_at: now, updated_at: now)
|
13
|
+
RemoteIssue.update_all(created_at: now, updated_at: now)
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class AddTimestampsToRemoteUsers < (
|
4
|
-
|
4
|
+
Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
5
|
)
|
6
6
|
class RemoteUser < ::ActiveRecord::Base; end
|
7
7
|
|
@@ -10,7 +10,7 @@ class AddTimestampsToRemoteUsers < (
|
|
10
10
|
reversible do |dir|
|
11
11
|
dir.up do
|
12
12
|
now = ::Time.zone.now
|
13
|
-
RemoteUser.update_all(created_at: now, updated_at: now)
|
13
|
+
RemoteUser.update_all(created_at: now, updated_at: now)
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class AddOutdatedAtToRemoteIssues < (
|
4
|
-
|
4
|
+
Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
5
|
)
|
6
6
|
def change
|
7
7
|
add_column :remote_issues, :outdated_at, :datetime
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class AddFetchedAtToRemoteIssues < (
|
4
|
-
|
4
|
+
Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
5
|
)
|
6
6
|
def change
|
7
7
|
add_column :remote_issues, :fetched_at, :timestamp
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class AddFetchedAtToRemoteTrackers < (
|
4
|
-
|
4
|
+
Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRecord::Migration[4.2]
|
5
5
|
)
|
6
6
|
def change
|
7
7
|
add_column :remote_trackers, :fetched_at, :datetime
|
data/init.rb
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
require 'redmine'
|
4
4
|
|
5
|
-
Redmine::Plugin.register
|
6
|
-
name
|
7
|
-
author
|
8
|
-
description
|
9
|
-
version
|
5
|
+
Redmine::Plugin.register RedmineRemotes::SLUG.to_sym do
|
6
|
+
name RedmineRemotes::NAME
|
7
|
+
author RedmineRemotes::AUTHOR
|
8
|
+
description RedmineRemotes::SUMMARY
|
9
|
+
version RedmineRemotes::VERSION
|
10
10
|
|
11
11
|
project_module :redmine_remotes do
|
12
12
|
permission :view_trackers, project_remote_issues: [:index]
|
@@ -38,9 +38,12 @@ module RedmineRemotes
|
|
38
38
|
attributes.fetch('CREATIONDATE')
|
39
39
|
end
|
40
40
|
|
41
|
+
# @return [String]
|
41
42
|
def description
|
42
43
|
::RedmineRemotes::Esosti.remote_text_to_local(
|
43
|
-
related_mbos.
|
44
|
+
related_mbos.if_key('LONGDESCRIPTION', '') do |v|
|
45
|
+
v.first.fetch('Attributes').fetch('LDTEXT')
|
46
|
+
end
|
44
47
|
)
|
45
48
|
end
|
46
49
|
|
@@ -13,7 +13,7 @@ module RedmineRemotes
|
|
13
13
|
m = ISSUE_ID_PATTERN.match(global_issue_id)
|
14
14
|
return nil unless m
|
15
15
|
|
16
|
-
::OpenStruct.new(provider_issue_id: m[0], project_id: nil, project_issue_id: nil)
|
16
|
+
::OpenStruct.new(provider_issue_id: m[0], project_id: nil, project_issue_id: nil) # rubocop:disable Style/OpenStructUse
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -10,7 +10,7 @@ module RedmineRemotes
|
|
10
10
|
|
11
11
|
def description_field
|
12
12
|
remote_tracker.setting_value(::RemoteTrackerSetting::NAME_FIELD_DESCRIPTION)
|
13
|
-
|
13
|
+
.if_present(DEFAULT_DESCRIPTION_FIELD)
|
14
14
|
end
|
15
15
|
|
16
16
|
def issue_human_view_url(issue_code)
|
@@ -18,7 +18,7 @@ module RedmineRemotes
|
|
18
18
|
|
19
19
|
def fetch_issue(remote_issue)
|
20
20
|
::Rails.logger.info 'Fetching remote issue ' \
|
21
|
-
|
21
|
+
"\"#{remote_issue}|##{remote_issue.local_issue.id}\""
|
22
22
|
record = ::RedmineRemotes::IssueFetch::Update.new(
|
23
23
|
remote_issue: remote_issue
|
24
24
|
)
|
@@ -15,6 +15,6 @@ module EacRedmineUsability
|
|
15
15
|
end
|
16
16
|
|
17
17
|
require_dependency 'issue'
|
18
|
-
patch =
|
19
|
-
target =
|
18
|
+
patch = EacRedmineUsability::Patches::Issue
|
19
|
+
target = Issue
|
20
20
|
target.send(:include, patch) unless target.included_modules.include?(patch)
|
@@ -14,6 +14,6 @@ module EacRedmineUsability
|
|
14
14
|
end
|
15
15
|
|
16
16
|
require_dependency 'issue_status'
|
17
|
-
patch =
|
18
|
-
target =
|
17
|
+
patch = EacRedmineUsability::Patches::IssueStatus
|
18
|
+
target = IssueStatus
|
19
19
|
target.send(:include, patch) unless target.included_modules.include?(patch)
|
@@ -14,6 +14,6 @@ module EacRedmineUsability
|
|
14
14
|
end
|
15
15
|
|
16
16
|
require_dependency 'tracker'
|
17
|
-
patch =
|
18
|
-
target =
|
17
|
+
patch = EacRedmineUsability::Patches::Tracker
|
18
|
+
target = Tracker
|
19
19
|
target.send(:include, patch) unless target.included_modules.include?(patch)
|
@@ -17,6 +17,6 @@ module EacRedmineUsability
|
|
17
17
|
end
|
18
18
|
|
19
19
|
require_dependency 'user'
|
20
|
-
patch =
|
21
|
-
target =
|
20
|
+
patch = EacRedmineUsability::Patches::User
|
21
|
+
target = User
|
22
22
|
target.send(:include, patch) unless target.included_modules.include?(patch)
|
@@ -3,45 +3,45 @@
|
|
3
3
|
require 'redmine_plugins_helper/test_tasks/auto'
|
4
4
|
RedminePluginsHelper::TestTasks::Auto.register(:redmine_remotes)
|
5
5
|
|
6
|
-
namespace :redmine_remotes do
|
7
|
-
namespace :issues do
|
6
|
+
namespace :redmine_remotes do # rubocop:disable Metrics/BlockLength
|
7
|
+
namespace :issues do # rubocop:disable Metrics/BlockLength
|
8
8
|
desc 'Adds a remote issue.'
|
9
9
|
task :add, %i[remote_tracker_id issue_remote_code project_identifier local_tracker_id] =>
|
10
10
|
:environment do |_t, args|
|
11
|
-
remote_tracker =
|
12
|
-
|
11
|
+
remote_tracker = RemoteTracker.find(args.remote_tracker_id)
|
12
|
+
Rails.logger.info("Remote tracker: #{remote_tracker}")
|
13
13
|
|
14
|
-
project =
|
15
|
-
|
14
|
+
project = Project.find_by(identifier: args.project_identifier)
|
15
|
+
Rails.logger.info("Project: #{project}")
|
16
16
|
|
17
17
|
local_tracker = if args.local_tracker_id
|
18
|
-
|
18
|
+
Tracker.find(args.local_tracker_id)
|
19
19
|
else
|
20
20
|
project.trackers.first
|
21
21
|
end
|
22
|
-
|
22
|
+
Rails.logger.info("Local tracker: #{local_tracker}")
|
23
23
|
|
24
|
-
add =
|
24
|
+
add = RemoteIssueFetch::Create.new(
|
25
25
|
remote_tracker: remote_tracker, project: project, local_tracker: local_tracker,
|
26
26
|
issue_remote_code: args.issue_remote_code
|
27
27
|
)
|
28
28
|
if add.save
|
29
|
-
|
29
|
+
Rails.logger.info "[Success] Issue ID: \"#{add.local_issue.id}\""
|
30
30
|
else
|
31
|
-
|
31
|
+
Rails.logger.info "[Failed] #{add.errors.messages.pretty_inspect}"
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
35
|
desc 'Fetch all remote issues.'
|
36
36
|
task fetch: :environment do
|
37
|
-
|
37
|
+
RedmineRemotes::Jobs::FetchIssues.new.run
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
41
|
namespace :trackers do
|
42
42
|
desc 'Fetch all remote trackers.'
|
43
43
|
task fetch: :environment do
|
44
|
-
|
44
|
+
RedmineRemotes::Jobs::FetchTrackers.new.run
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redmine_remotes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.16.
|
4
|
+
version: 0.16.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo Henrique Bogoni
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-07-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: avmtrf1-tools
|
@@ -50,34 +50,28 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0.
|
54
|
-
- - ">="
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 0.22.2
|
53
|
+
version: '0.25'
|
57
54
|
type: :runtime
|
58
55
|
prerelease: false
|
59
56
|
version_requirements: !ruby/object:Gem::Requirement
|
60
57
|
requirements:
|
61
58
|
- - "~>"
|
62
59
|
- !ruby/object:Gem::Version
|
63
|
-
version: '0.
|
64
|
-
- - ">="
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: 0.22.2
|
60
|
+
version: '0.25'
|
67
61
|
- !ruby/object:Gem::Dependency
|
68
62
|
name: eac_ruby_utils
|
69
63
|
requirement: !ruby/object:Gem::Requirement
|
70
64
|
requirements:
|
71
65
|
- - "~>"
|
72
66
|
- !ruby/object:Gem::Version
|
73
|
-
version: '0.
|
67
|
+
version: '0.123'
|
74
68
|
type: :runtime
|
75
69
|
prerelease: false
|
76
70
|
version_requirements: !ruby/object:Gem::Requirement
|
77
71
|
requirements:
|
78
72
|
- - "~>"
|
79
73
|
- !ruby/object:Gem::Version
|
80
|
-
version: '0.
|
74
|
+
version: '0.123'
|
81
75
|
- !ruby/object:Gem::Dependency
|
82
76
|
name: validate_url
|
83
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,19 +93,25 @@ dependencies:
|
|
99
93
|
- !ruby/object:Gem::Version
|
100
94
|
version: 1.0.15
|
101
95
|
- !ruby/object:Gem::Dependency
|
102
|
-
name:
|
96
|
+
name: eac_rails_gem_support
|
103
97
|
requirement: !ruby/object:Gem::Requirement
|
104
98
|
requirements:
|
105
99
|
- - "~>"
|
106
100
|
- !ruby/object:Gem::Version
|
107
|
-
version: 0.
|
101
|
+
version: '0.10'
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 0.10.1
|
108
105
|
type: :development
|
109
106
|
prerelease: false
|
110
107
|
version_requirements: !ruby/object:Gem::Requirement
|
111
108
|
requirements:
|
112
109
|
- - "~>"
|
113
110
|
- !ruby/object:Gem::Version
|
114
|
-
version: 0.
|
111
|
+
version: '0.10'
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: 0.10.1
|
115
115
|
description:
|
116
116
|
email:
|
117
117
|
executables: []
|
@@ -200,7 +200,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
200
200
|
requirements:
|
201
201
|
- - ">="
|
202
202
|
- !ruby/object:Gem::Version
|
203
|
-
version: '
|
203
|
+
version: '2.7'
|
204
204
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
205
205
|
requirements:
|
206
206
|
- - ">="
|