Merge branch 'remove-deprecated-issues-tracker-columns-from-projects' into 'master'
Remove deprecated issues_tracker and issues_tracker_id from project model Closes #3941 See merge request !4603
This commit is contained in:
		
						commit
						f34af6b83c
					
				|  | @ -72,6 +72,7 @@ v 8.9.0 (unreleased) | |||
|   - Cache on the database if a project has an active external issue tracker. | ||||
|   - Put project Labels and Milestones pages links under Issues and Merge Requests tabs as subnav | ||||
|   - All classes in the Banzai::ReferenceParser namespace are now instrumented | ||||
|   - Remove deprecated issues_tracker and issues_tracker_id from project model | ||||
| 
 | ||||
| v 8.8.5 (unreleased) | ||||
|   - Ensure branch cleanup regardless of whether the GitHub import process succeeds | ||||
|  |  | |||
|  | @ -146,7 +146,6 @@ class Project < ActiveRecord::Base | |||
|               message: Gitlab::Regex.project_path_regex_message } | ||||
|   validates :issues_enabled, :merge_requests_enabled, | ||||
|             :wiki_enabled, inclusion: { in: [true, false] } | ||||
|   validates :issues_tracker_id, length: { maximum: 255 }, allow_blank: true | ||||
|   validates :namespace, presence: true | ||||
|   validates_uniqueness_of :name, scope: :namespace_id | ||||
|   validates_uniqueness_of :path, scope: :namespace_id | ||||
|  | @ -589,10 +588,6 @@ class Project < ActiveRecord::Base | |||
|     update_column(:has_external_issue_tracker, services.external_issue_trackers.any?) | ||||
|   end | ||||
| 
 | ||||
|   def can_have_issues_tracker_id? | ||||
|     self.issues_enabled && !self.default_issues_tracker? | ||||
|   end | ||||
| 
 | ||||
|   def build_missing_services | ||||
|     services_templates = Service.where(template: true) | ||||
| 
 | ||||
|  |  | |||
|  | @ -38,9 +38,9 @@ class IssueTrackerService < Service | |||
|       if enabled_in_gitlab_config | ||||
|         self.properties = { | ||||
|           title: issues_tracker['title'], | ||||
|           project_url: add_issues_tracker_id(issues_tracker['project_url']), | ||||
|           issues_url: add_issues_tracker_id(issues_tracker['issues_url']), | ||||
|           new_issue_url: add_issues_tracker_id(issues_tracker['new_issue_url']) | ||||
|           project_url: issues_tracker['project_url'], | ||||
|           issues_url: issues_tracker['issues_url'], | ||||
|           new_issue_url: issues_tracker['new_issue_url'] | ||||
|         } | ||||
|       else | ||||
|         self.properties = {} | ||||
|  | @ -83,16 +83,4 @@ class IssueTrackerService < Service | |||
|   def issues_tracker | ||||
|     Gitlab.config.issues_tracker[to_param] | ||||
|   end | ||||
| 
 | ||||
|   def add_issues_tracker_id(url) | ||||
|     if self.project | ||||
|       id = self.project.issues_tracker_id | ||||
| 
 | ||||
|       if id | ||||
|         url = url.gsub(":issues_tracker_id", id) | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     url | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -0,0 +1,6 @@ | |||
| class RemoveDeprecatedIssuesTrackerColumnsFromProjects < ActiveRecord::Migration | ||||
|   def change | ||||
|     remove_column :projects, :issues_tracker, :string, default: 'gitlab', null: false | ||||
|     remove_column :projects, :issues_tracker_id, :string | ||||
|   end | ||||
| end | ||||
|  | @ -751,8 +751,6 @@ ActiveRecord::Schema.define(version: 20160610301627) do | |||
|     t.boolean  "merge_requests_enabled",             default: true,     null: false | ||||
|     t.boolean  "wiki_enabled",                       default: true,     null: false | ||||
|     t.integer  "namespace_id" | ||||
|     t.string   "issues_tracker",                     default: "gitlab", null: false | ||||
|     t.string   "issues_tracker_id" | ||||
|     t.boolean  "snippets_enabled",                   default: true,     null: false | ||||
|     t.datetime "last_activity_at" | ||||
|     t.string   "import_url" | ||||
|  |  | |||
|  | @ -67,9 +67,6 @@ FactoryGirl.define do | |||
|           'new_issue_url' => 'http://redmine/projects/project_name_in_redmine/issues/new' | ||||
|         } | ||||
|       ) | ||||
| 
 | ||||
|       project.issues_tracker = 'redmine' | ||||
|       project.issues_tracker_id = 'project_name_in_redmine' | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|  | @ -84,9 +81,6 @@ FactoryGirl.define do | |||
|           'new_issue_url' => 'http://jira.example/secure/CreateIssue.jspa' | ||||
|         } | ||||
|       ) | ||||
| 
 | ||||
|       project.issues_tracker = 'jira' | ||||
|       project.issues_tracker_id = 'project_name_in_jira' | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -7,10 +7,7 @@ describe IssuesHelper do | |||
| 
 | ||||
|   describe "url_for_project_issues" do | ||||
|     let(:project_url) { ext_project.external_issue_tracker.project_url } | ||||
|     let(:ext_expected) do | ||||
|       project_url.gsub(':project_id', ext_project.id.to_s) | ||||
|                  .gsub(':issues_tracker_id', ext_project.issues_tracker_id.to_s) | ||||
|     end | ||||
|     let(:ext_expected) { project_url.gsub(':project_id', ext_project.id.to_s) } | ||||
|     let(:int_expected) { polymorphic_path([@project.namespace, project]) } | ||||
| 
 | ||||
|     it "should return internal path if used internal tracker" do | ||||
|  | @ -56,11 +53,7 @@ describe IssuesHelper do | |||
| 
 | ||||
|   describe "url_for_issue" do | ||||
|     let(:issues_url) { ext_project.external_issue_tracker.issues_url} | ||||
|     let(:ext_expected) do | ||||
|       issues_url.gsub(':id', issue.iid.to_s) | ||||
|         .gsub(':project_id', ext_project.id.to_s) | ||||
|         .gsub(':issues_tracker_id', ext_project.issues_tracker_id.to_s) | ||||
|     end | ||||
|     let(:ext_expected) { issues_url.gsub(':id', issue.iid.to_s).gsub(':project_id', ext_project.id.to_s) } | ||||
|     let(:int_expected) { polymorphic_path([@project.namespace, project, issue]) } | ||||
| 
 | ||||
|     it "should return internal path if used internal tracker" do | ||||
|  | @ -106,10 +99,7 @@ describe IssuesHelper do | |||
| 
 | ||||
|   describe 'url_for_new_issue' do | ||||
|     let(:issues_url) { ext_project.external_issue_tracker.new_issue_url } | ||||
|     let(:ext_expected) do | ||||
|       issues_url.gsub(':project_id', ext_project.id.to_s) | ||||
|         .gsub(':issues_tracker_id', ext_project.issues_tracker_id.to_s) | ||||
|     end | ||||
|     let(:ext_expected) { issues_url.gsub(':project_id', ext_project.id.to_s) } | ||||
|     let(:int_expected) { new_namespace_project_issue_path(project.namespace, project) } | ||||
| 
 | ||||
|     it "should return internal path if used internal tracker" do | ||||
|  |  | |||
|  | @ -53,7 +53,6 @@ describe Project, models: true do | |||
|     it { is_expected.to validate_length_of(:path).is_within(0..255) } | ||||
|     it { is_expected.to validate_length_of(:description).is_within(0..2000) } | ||||
|     it { is_expected.to validate_presence_of(:creator) } | ||||
|     it { is_expected.to validate_length_of(:issues_tracker_id).is_within(0..255) } | ||||
|     it { is_expected.to validate_presence_of(:namespace) } | ||||
| 
 | ||||
|     it 'should not allow new projects beyond user limits' do | ||||
|  | @ -321,27 +320,6 @@ describe Project, models: true do | |||
|     end | ||||
|   end | ||||
| 
 | ||||
|   describe :can_have_issues_tracker_id? do | ||||
|     let(:project) { create(:project) } | ||||
|     let(:ext_project) { create(:redmine_project) } | ||||
| 
 | ||||
|     it 'should be true for projects with external issues tracker if issues enabled' do | ||||
|       expect(ext_project.can_have_issues_tracker_id?).to be_truthy | ||||
|     end | ||||
| 
 | ||||
|     it 'should be false for projects with internal issue tracker if issues enabled' do | ||||
|       expect(project.can_have_issues_tracker_id?).to be_falsey | ||||
|     end | ||||
| 
 | ||||
|     it 'should be always false if issues disabled' do | ||||
|       project.issues_enabled = false | ||||
|       ext_project.issues_enabled = false | ||||
| 
 | ||||
|       expect(project.can_have_issues_tracker_id?).to be_falsey | ||||
|       expect(ext_project.can_have_issues_tracker_id?).to be_falsey | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   describe :open_branches do | ||||
|     let(:project) { create(:project) } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue