redmine_remotes 0.2.0 → 0.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 62c2b4e39207c1cdbbbb7d6301abf487701667adc2d4b60bb9fca0a8bc7fd1ab
4
- data.tar.gz: 83288f88850022c0edd4f0e06df5e9b8b7554988d0c1c9861cb4bfafcd6777c5
3
+ metadata.gz: 5ec17037ac80473370e7c9b8fd56774b98da0855e88c2feec90fd123476ed2d9
4
+ data.tar.gz: 1124e5e58d753ea46bc97385c3e28e0a0a2e9d52b1326e0e46beb057c454b582
5
5
  SHA512:
6
- metadata.gz: 2b53804b5da56c2da06dc668ed47f72b15686b8510634c7056c27fe2e9096db0b98b2d139a612a6b07bbf46f5ad9a8c2852c38b8d9ec09e853156e0e7d848e4d
7
- data.tar.gz: bbd2c9d1b0c691d78aabe9cf571a0b1ef0a836506826eedb1128ae3f3b4e5781642ee42f31fc6853506df730cbf82fcd8345fe01c01d79f5cb4aded2c51d107c
6
+ metadata.gz: 9adc361d8c1bdcb567ddfbf4f9692c78e38ef2b0f588b3b1d5dead23642dc5f175bce99dd6eef6403a1e13e8067d30be338fa206d3cd861f34f67f9a45473762
7
+ data.tar.gz: 442e49138e08f3aca322406fa3c8ab4de52960e4b3244c4309cae745460139e76a6d6bf081cb067bcdc3536d170b067b07071d4b0ed2cb26d35a9b0dde697470
@@ -9,7 +9,7 @@ class RemoteIssueStatusesController < ApplicationController
9
9
  require_permission PERMISSIONS
10
10
 
11
11
  active_scaffold :remote_issue_status do |conf|
12
- %i[remote_tracker local_tracker issue_status].each do |column|
12
+ %i[remote_tracker local_tracker local_issue_status].each do |column|
13
13
  conf.columns[column].form_ui = :select
14
14
  end
15
15
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RemoteUsersController < ApplicationController
4
+ READ_PERMISSION = 'remote_user.read'
5
+ WRITE_PERMISSION = 'remote_user.write'
6
+ PERMISSIONS = READ_PERMISSION
7
+
8
+ layout 'nonproject_modules'
9
+ require_permission PERMISSIONS
10
+
11
+ active_scaffold :remote_user do |conf|
12
+ conf.columns[:local_user].form_ui = :select
13
+ conf.columns[:remote_tracker].form_ui = :select
14
+ end
15
+ end
@@ -3,10 +3,10 @@
3
3
  class RemoteIssueStatus < ActiveRecord::Base
4
4
  belongs_to :remote_tracker
5
5
  belongs_to :local_tracker, class_name: 'Tracker'
6
- belongs_to :issue_status
6
+ belongs_to :local_issue_status, class_name: 'IssueStatus'
7
7
 
8
8
  validates :remote_name, presence: true, uniqueness: { scope: %i[remote_tracker local_tracker] }
9
9
  validates :remote_tracker, presence: true
10
10
  validates :local_tracker, presence: true
11
- validates :issue_status, presence: true
11
+ validates :local_issue_status, presence: true
12
12
  end
@@ -9,6 +9,8 @@ class RemoteTracker < ActiveRecord::Base
9
9
 
10
10
  has_many :issue_statuses, class_name: 'RemoteIssueStatus', inverse_of: :remote_tracker,
11
11
  dependent: :destroy
12
+ has_many :remote_users, class_name: 'RemoteUser', inverse_of: :remote_tracker,
13
+ dependent: :restrict_with_error
12
14
 
13
15
  validates :profile, presence: true, inclusion: { in: lists.profile.values }
14
16
  validates :root_url, presence: true, uniqueness: { scope: [:username] }
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RemoteUser < ActiveRecord::Base
4
+ belongs_to :remote_tracker, class_name: 'RemoteTracker', inverse_of: :remote_users
5
+ belongs_to :local_user, class_name: 'User', inverse_of: :remote_users
6
+
7
+ validates :remote_login, presence: true, uniqueness: { scope: [:remote_tracker] }
8
+ validates :local_user, presence: true
9
+ end
@@ -2,3 +2,4 @@
2
2
 
3
3
  require 'redmine_remotes/patches/issue_status'
4
4
  require 'redmine_remotes/patches/tracker'
5
+ require 'redmine_remotes/patches/user'
@@ -10,8 +10,14 @@
10
10
  ::RemoteIssueStatusesController::WRITE_PERMISSION,
11
11
  dependencies: [::RemoteIssueStatusesController::READ_PERMISSION]
12
12
  )
13
+ ::GroupPermission.add_permission(::RemoteUsersController::READ_PERMISSION)
14
+ ::GroupPermission.add_permission(
15
+ ::RemoteUsersController::WRITE_PERMISSION,
16
+ dependencies: [::RemoteUsersController::READ_PERMISSION]
17
+ )
13
18
 
14
19
  Redmine::MenuManager.map ::RedmineRemotes::SLUG.to_sym do |menu|
15
20
  menu.push_controller(:remote_trackers)
16
21
  menu.push_controller(:remote_issue_statuses)
22
+ menu.push_controller(:remote_users)
17
23
  end
@@ -7,3 +7,4 @@ en:
7
7
  label: Stub profile
8
8
  label_remote_trackers: Remote trackers
9
9
  label_remote_issue_statuses: Remote issue statuses
10
+ label_remote_users: Remote users
@@ -7,3 +7,4 @@ pt-BR:
7
7
  label: Stub profile
8
8
  label_remote_trackers: Trackers remotos
9
9
  label_remote_issue_statuses: Situações de demandas remotas
10
+ label_remote_users: Usuários remotos
data/config/routes.rb CHANGED
@@ -3,4 +3,5 @@
3
3
  RedmineApp::Application.routes.draw do
4
4
  resources(:remote_trackers) { as_routes }
5
5
  resources(:remote_issue_statuses) { as_routes }
6
+ resources(:remote_users) { as_routes }
6
7
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateRemoteUsers < ActiveRecord::Migration
4
+ def change
5
+ create_table :remote_users do |t|
6
+ t.references :remote_tracker, index: true
7
+ t.string :remote_login
8
+ t.references :local_user, index: true
9
+ end
10
+
11
+ add_foreign_key :remote_users, :remote_trackers, column: :remote_tracker_id
12
+ add_foreign_key :remote_users, :users, column: :local_user_id
13
+ end
14
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RenameIssueStatusIdToLocalIssueStatusIdInRemoteIssueStatuses < ActiveRecord::Migration
4
+ def change
5
+ rename_column :remote_issue_statuses, :issue_status_id, :local_issue_status_id
6
+ end
7
+ end
@@ -6,8 +6,8 @@ module EacRedmineUsability
6
6
  extend ::ActiveSupport::Concern
7
7
 
8
8
  included do
9
- has_many :remote_issue_status, class_name: 'RemoteIssueStatus', inverse_of: :issue_status,
10
- dependent: :destroy
9
+ has_many :remote_issue_status, class_name: 'RemoteIssueStatus',
10
+ inverse_of: :local_issue_status, dependent: :destroy
11
11
  end
12
12
  end
13
13
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacRedmineUsability
4
+ module Patches
5
+ module User
6
+ extend ::ActiveSupport::Concern
7
+
8
+ included do
9
+ has_many :remote_users, class_name: 'RemoteUser', inverse_of: :local_user,
10
+ dependent: :destroy
11
+ end
12
+ end
13
+ end
14
+ end
15
+
16
+ require_dependency 'user'
17
+ patch = ::EacRedmineUsability::Patches::User
18
+ target = ::User
19
+ target.send(:include, patch) unless target.included_modules.include?(patch)
@@ -3,7 +3,7 @@
3
3
  module RedmineRemotes
4
4
  SLUG = 'redmine_remotes'
5
5
  NAME = 'Redmine Remotes'
6
- VERSION = '0.2.0'
6
+ VERSION = '0.3.0'
7
7
  AUTHOR = 'Eduardo Henrique Bogoni'
8
8
  SUMMARY = 'Integração do Redmine com trackers diversos.'
9
9
  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.2.0
4
+ version: 0.3.0
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: 2019-09-11 00:00:00.000000000 Z
11
+ date: 2019-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eac_ruby_utils
@@ -38,8 +38,10 @@ extra_rdoc_files: []
38
38
  files:
39
39
  - app/controllers/remote_issue_statuses_controller.rb
40
40
  - app/controllers/remote_trackers_controller.rb
41
+ - app/controllers/remote_users_controller.rb
41
42
  - app/models/remote_issue_status.rb
42
43
  - app/models/remote_tracker.rb
44
+ - app/models/remote_user.rb
43
45
  - config/initializers/000_dependencies.rb
44
46
  - config/initializers/001_patches.rb
45
47
  - config/initializers/nonproject_modules.rb
@@ -47,11 +49,14 @@ files:
47
49
  - config/locales/pt-BR.yml
48
50
  - config/routes.rb
49
51
  - db/migrate/20190531171641_create_remote_trackers.rb
52
+ - db/migrate/20190910182842_create_remote_users.rb
50
53
  - db/migrate/20190910203552_create_remote_issue_statuses.rb
54
+ - db/migrate/20190911165556_rename_issue_status_id_to_local_issue_status_id_in_remote_issue_statuses.rb
51
55
  - init.rb
52
56
  - lib/redmine_remotes.rb
53
57
  - lib/redmine_remotes/patches/issue_status.rb
54
58
  - lib/redmine_remotes/patches/tracker.rb
59
+ - lib/redmine_remotes/patches/user.rb
55
60
  - lib/redmine_remotes/version.rb
56
61
  homepage:
57
62
  licenses: []