suitepro/plugins/additionals/app/controllers/additionals_assign_to_me_controller.rb

39 lines
1.1 KiB
Ruby
Executable file

class AdditionalsAssignToMeController < ApplicationController
before_action :find_issue
helper :additionals_issues
def update
old_user = @issue.assigned_to
user_in_project = @project.assignable_users.detect { |u| u.id == User.current.id }
if old_user == User.current || user_in_project.nil?
redirect_to(issue_path(@issue))
return
end
@issue.init_journal(User.current)
@issue.assigned_to = User.current
if !@issue.save || old_user == @issue.assigned_to
flash[:error] = l(:error_issues_could_not_be_assigned_to_me)
return redirect_to(issue_path(@issue))
end
last_journal = @issue.journals.visible.order(:created_on).last
return redirect_to(issue_path(@issue)) if last_journal.nil?
last_journal = @issue.journals.visible.order(:created_on).last
redirect_to "#{issue_path(@issue)}#change-#{last_journal.id}"
end
private
def find_issue
@issue = Issue.find(params[:issue_id])
raise Unauthorized unless @issue.visible? && @issue.editable?
@project = @issue.project
rescue ActiveRecord::RecordNotFound
render_404
end
end