summaryrefslogtreecommitdiff
path: root/app/models/project_services
diff options
context:
space:
mode:
authorMarin Jankovski <maxlazio@gmail.com>2015-01-20 16:55:35 -0800
committerMarin Jankovski <maxlazio@gmail.com>2015-01-20 16:55:35 -0800
commite9d6d1e51afa9f46f19748977739f7d2c078b84f (patch)
tree30112e5b0316dfd366ae60a8fa3acdfabe002ca0 /app/models/project_services
parent09de0bfc37c54b84d5a49dbce8c11cfd2f3cfb80 (diff)
downloadgitlab-ce-e9d6d1e51afa9f46f19748977739f7d2c078b84f.tar.gz
Custom issue tracker service.
Diffstat (limited to 'app/models/project_services')
-rw-r--r--app/models/project_services/custom_issue_tracker_service.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/app/models/project_services/custom_issue_tracker_service.rb b/app/models/project_services/custom_issue_tracker_service.rb
new file mode 100644
index 00000000000..69e1b204bac
--- /dev/null
+++ b/app/models/project_services/custom_issue_tracker_service.rb
@@ -0,0 +1,38 @@
+class CustomIssueTrackerService < IssueTrackerService
+
+ 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
+
+ def description
+ if self.properties && self.properties['description'].present?
+ self.properties['description']
+ else
+ 'Custom issue tracker'
+ end
+ end
+
+ def to_param
+ title.parameterize
+ end
+
+ def fields
+ [
+ { type: 'text', name: 'title', placeholder: title },
+ { type: 'text', name: 'description', placeholder: description },
+ { type: 'text', name: 'project_url', placeholder: 'Project url' },
+ { type: 'text', name: 'issues_url', placeholder: 'Issue url'},
+ { type: 'text', name: 'new_issue_url', placeholder: 'New Issue url'}
+ ]
+ end
+
+ def initialize_properties
+ self.properties = {} if properties.nil?
+ end
+end