SECTION=Navigation::SECTION_RESOURCE
- helper SourceHelper, UsersHelper
-
- #
- #
- # ACTIONS FROM ISSUE DETAIL PAGE
- #
- #
-
-
- # Used for the permalink, e.g. http://localhost:9000/issue/view/1
- def view
- require_parameters :id
- init_issue(params[:id])
- init_resource
- @transitions = Internal.issues.listTransitions(@issue.key) if current_user
- render 'issue/_view'
- end
-
- def show
- require_parameters :key
- init_issue(params[:key])
- render_issue_detail
- end
-
def action_form
verify_ajax_request
require_parameters :id, :issue
end
- #
- #
- # ACTIONS FROM ISSUES TAB OF CODE VIEWER
- #
- #
-
- def display_issue
- init_issue(params[:issue])
- render :partial => 'resource/issue', :locals => {:issue => @issue}
- end
-
- def issue_transition_form
- require_parameters :issue, :transition
-
- init_issue(params[:issue])
- @transition = params[:transition]
- bad_request('Missing transition') if @transition.blank?
-
- render :partial => 'issue/code_viewer/transition_form'
- end
-
- def issue_transition
- verify_post_request
- require_parameters :issue, :transition
-
- @issue = Internal.issues.doTransition(params[:issue], params[:transition])
- init_issue(params[:issue])
- render_issue_code_viewer
- end
-
- def issue_assign_form
- require_parameters :issue
- init_issue(params[:issue])
-
- render :partial => 'issue/code_viewer/assign_form'
- end
-
- def issue_assign
- verify_post_request
- require_parameters :issue
-
- assignee = nil
- if params[:me]=='true'
- assignee = current_user.login
-
- elsif params[:issue_assignee_login].present?
- assignee = params[:issue_assignee_login]
- end
-
- @issue = Internal.issues.assign(params[:issue], assignee)
- init_issue(params[:issue])
- render_issue_code_viewer
- end
-
- def issue_change_severity_form
- require_parameters :issue
- init_issue(params[:issue])
-
- render :partial => 'issue/code_viewer/change_severity_form'
- end
-
- def issue_change_severity
- verify_post_request
- require_parameters :issue, :severity
-
- @issue = Internal.issues.setSeverity(params[:issue], params[:severity])
- init_issue(params[:issue])
- render_issue_code_viewer
- end
-
- def issue_plan_form
- require_parameters :issue
- init_issue(params[:issue])
- init_resource
- @action_plans = Internal.issues.findOpenActionPlans(@resource.key)
-
- render :partial => 'issue/code_viewer/plan_form'
- end
-
- def issue_plan
- verify_post_request
- require_parameters :issue, :plan
-
- @issue = Internal.issues.plan(params[:issue], params[:plan])
- init_issue(params[:issue])
- render_issue_code_viewer
- end
-
- def issue_unplan
- verify_post_request
- require_parameters :issue
-
- @issue = Internal.issues.plan(params[:issue], nil)
- init_issue(params[:issue])
- render_issue_code_viewer
- end
-
#
#
end
- protected
-
- def init_issue(issue_key)
- @issue_results = find_issue(issue_key)
- @issue = @issue_results.issues[0]
- end
-
- def init_resource
- @component = Project.by_key(@issue.component_key)
- @resource = @component.root_project
- end
-
- def render_issue_detail
- if @issue
- init_resource
- @transitions = Internal.issues.listTransitions(@issue.key) if current_user
- render :partial => 'issue/view'
- else
- # TODO
- render :status => 400
- end
- end
-
- def render_issue_code_viewer
- if @issue
- @transitions = Internal.issues.listTransitions(@issue.key) if current_user
- render :partial => 'resource/issue', :locals => {:issue => @issue}
- else
- # TODO
- render :status => 400
- end
- end
-
- def find_issues(map)
- Api.issues.find(map)
- end
-
- def find_issue(issue_key)
- issue_result = find_issues({'issueKeys' => issue_key})
- if issue_result.issues.length == 1
- issue_result
- else
- render :text => "<b>Cannot access this issue</b> : not found."
- end
- end
-
end
\ No newline at end of file