BigW Consortium Gitlab

custom_issue_tracker_service.rb 1.11 KB
Newer Older
1
class CustomIssueTrackerService < IssueTrackerService
2 3
  validates :project_url, :issues_url, :new_issue_url, presence: true, url: true, if: :activated?

4 5 6 7 8 9 10 11 12 13
  prop_accessor :title, :description, :project_url, :issues_url, :new_issue_url

  def title
    if self.properties && self.properties['title'].present?
      self.properties['title']
    else
      'Custom Issue Tracker'
    end
  end

14 15 16 17
  def title=(value)
    self.properties['title'] = value if self.properties
  end

18 19 20 21 22 23 24 25
  def description
    if self.properties && self.properties['description'].present?
      self.properties['description']
    else
      'Custom issue tracker'
    end
  end

26
  def self.to_param
27
    'custom_issue_tracker'
28 29 30 31 32 33
  end

  def fields
    [
      { type: 'text', name: 'title', placeholder: title },
      { type: 'text', name: 'description', placeholder: description },
34 35 36
      { type: 'text', name: 'project_url', placeholder: 'Project url', required: true },
      { type: 'text', name: 'issues_url', placeholder: 'Issue url', required: true },
      { type: 'text', name: 'new_issue_url', placeholder: 'New Issue url', required: true }
37 38 39
    ]
  end
end