Update the issue tracker attribute on issue tracker change.
This commit is contained in:
		
							parent
							
								
									c70dcd2907
								
							
						
					
					
						commit
						65e700472b
					
				|  | @ -17,6 +17,9 @@ class Projects::ServicesController < Projects::ApplicationController | |||
| 
 | ||||
|   def update | ||||
|     if @service.update_attributes(service_params) | ||||
|       if @service.activated? && @service.category == :issue_tracker | ||||
|         @project.update_attributes(issues_tracker: @service.to_param) | ||||
|       end | ||||
|       redirect_to edit_project_service_path(@project, @service.to_param), | ||||
|        notice: 'Successfully updated.' | ||||
|     else | ||||
|  |  | |||
|  | @ -16,7 +16,7 @@ module IssuesHelper | |||
|   def url_for_project_issues(project = @project) | ||||
|     return '' if project.nil? | ||||
| 
 | ||||
|     if project.using_issue_tracker? | ||||
|     if project.default_issues_tracker? | ||||
|       project_issues_path(project) | ||||
|     else | ||||
|       project.external_issue_tracker.project_url | ||||
|  | @ -26,7 +26,7 @@ module IssuesHelper | |||
|   def url_for_new_issue(project = @project) | ||||
|     return '' if project.nil? | ||||
| 
 | ||||
|     if project.using_issue_tracker? | ||||
|     if project.default_issues_tracker? | ||||
|       url = new_project_issue_path project_id: project | ||||
|     else | ||||
|       project.external_issue_tracker.new_issue_url | ||||
|  | @ -36,7 +36,7 @@ module IssuesHelper | |||
|   def url_for_issue(issue_iid, project = @project) | ||||
|     return '' if project.nil? | ||||
| 
 | ||||
|     if project.using_issue_tracker? | ||||
|     if project.default_issues_tracker? | ||||
|       url = project_issue_url project_id: project, id: issue_iid | ||||
|     else | ||||
|       url = project.external_issue_tracker.issues_url | ||||
|  |  | |||
|  | @ -308,11 +308,14 @@ class Project < ActiveRecord::Base | |||
|   end | ||||
| 
 | ||||
|   def default_issues_tracker? | ||||
|     self.issues_tracker == Project.issues_tracker.default_value | ||||
|     if external_issue_tracker | ||||
|       false | ||||
|     else | ||||
|       unless self.issues_tracker == Project.issues_tracker.default_value | ||||
|         self.update_attributes(issues_tracker: Project.issues_tracker.default_value) | ||||
|       end | ||||
|       true | ||||
|     end | ||||
| 
 | ||||
|   def external_issues_tracker_enabled? | ||||
|     external_issues_trackers.any? | ||||
|   end | ||||
| 
 | ||||
|   def external_issues_trackers | ||||
|  | @ -323,10 +326,6 @@ class Project < ActiveRecord::Base | |||
|     @external_issues_tracker ||= external_issues_trackers.select(&:activated?).first | ||||
|   end | ||||
| 
 | ||||
|   def using_issue_tracker? | ||||
|     default_issues_tracker? || !external_issues_tracker_enabled? | ||||
|   end | ||||
| 
 | ||||
|   def can_have_issues_tracker_id? | ||||
|     self.issues_enabled && !self.default_issues_tracker? | ||||
|   end | ||||
|  |  | |||
|  | @ -208,7 +208,7 @@ module Gitlab | |||
|     end | ||||
| 
 | ||||
|     def reference_issue(identifier, project = @project, prefix_text = nil) | ||||
|       if project.using_issue_tracker? | ||||
|       if project.default_issues_tracker? | ||||
|         if project.issue_exists? identifier | ||||
|           url = url_for_issue(identifier, project) | ||||
|           title = title_for_issue(identifier, project) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue