redmine_remotes 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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: []