Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
heptapod
heptapod
Commits
c99b2e22b18f
Commit
c99b2e22
authored
Jan 28, 2015
by
Marin Jankovski
Browse files
Add gitlab internal issue tracker service.
parent
991ba7c9cd19
Changes
5
Hide whitespace changes
Inline
Side-by-side
app/controllers/application_controller.rb
View file @
c99b2e22
...
...
@@ -181,7 +181,7 @@
end
def
add_gon_variables
gon
.
default_issues_tracker
=
Project
.
issue
s
_tracker
.
default_value
gon
.
default_issues_tracker
=
Project
.
new
.
default_
issue_tracker
.
to_param
gon
.
api_version
=
API
::
API
.
version
gon
.
relative_url_root
=
Gitlab
.
config
.
gitlab
.
relative_url_root
gon
.
default_avatar_url
=
URI
::
join
(
Gitlab
.
config
.
gitlab
.
url
,
ActionController
::
Base
.
helpers
.
image_path
(
'no_avatar.png'
)).
to_s
...
...
app/controllers/projects/services_controller.rb
View file @
c99b2e22
...
...
@@ -9,7 +9,7 @@
def
index
@project
.
build_missing_services
@services
=
@project
.
services
.
reload
@services
=
@project
.
services
.
where
.
not
(
type:
'GitlabIssueTrackerService'
).
reload
end
def
edit
...
...
@@ -17,9 +17,6 @@
def
update
if
@service
.
update_attributes
(
service_params
)
if
@service
.
activated?
&&
@service
.
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
...
...
app/models/project.rb
View file @
c99b2e22
...
...
@@ -77,6 +77,7 @@
has_one
:jira_service
,
dependent: :destroy
has_one
:redmine_service
,
dependent: :destroy
has_one
:custom_issue_tracker_service
,
dependent: :destroy
has_one
:gitlab_issue_tracker_service
,
dependent: :destroy
has_one
:forked_project_link
,
dependent: :destroy
,
foreign_key:
"forked_to_project_id"
...
...
@@ -149,8 +150,6 @@
scope
:public_and_internal_only
,
->
{
where
(
visibility_level:
Project
.
public_and_internal_levels
)
}
scope
:non_archived
,
->
{
where
(
archived:
false
)
}
enumerize
:issues_tracker
,
in:
(
Service
.
issue_tracker_service_list
).
append
(
:gitlab
),
default: :gitlab
state_machine
:import_status
,
initial: :none
do
event
:import_start
do
transition
[
:none
,
:finished
]
=>
:started
...
...
@@ -317,7 +316,23 @@
end
end
def
default_issue_tracker
unless
gitlab_issue_tracker_service
create_gitlab_issue_tracker_service
end
gitlab_issue_tracker_service
end
def
issues_tracker
if
external_issue_tracker
external_issue_tracker
else
default_issue_tracker
end
end
def
default_issues_tracker?
if
external_issue_tracker
false
else
...
...
@@ -320,12 +335,9 @@
def
default_issues_tracker?
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
end
def
external_issues_trackers
...
...
@@ -327,9 +339,9 @@
true
end
end
def
external_issues_trackers
services
.
select
{
|
service
|
service
.
issue_tracker?
}
services
.
select
(
&
:issue_tracker?
).
reject
(
&
:default?
)
end
def
external_issue_tracker
...
...
app/models/project_services/gitlab_issue_tracker_service.rb
0 → 100644
View file @
c99b2e22
class
GitlabIssueTrackerService
<
IssueTrackerService
prop_accessor
:title
,
:description
,
:project_url
,
:issues_url
,
:new_issue_url
def
default?
true
end
def
to_param
'gitlab'
end
end
app/models/project_services/issue_tracker_service.rb
View file @
c99b2e22
...
...
@@ -6,6 +6,10 @@
:issue_tracker
end
def
default?
false
end
def
project_url
# implement inside child
end
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment