refactor error handling in issue creation; remove unused reload_new_issue method

This commit is contained in:
2026-02-08 10:58:39 -05:00
parent b38bd951f7
commit 7a73b7e8a9

View File

@@ -25,7 +25,6 @@ module RedmineQbo
base.class_eval do base.class_eval do
helper Helper helper Helper
before_action :error_check, only: [:create] before_action :error_check, only: [:create]
before_action :reload_new_issue, only: [:new]
end end
end end
@@ -33,27 +32,20 @@ module RedmineQbo
# If the project or tracker is not set, reload the new issue form with an error message. # If the project or tracker is not set, reload the new issue form with an error message.
def error_check def error_check
logger.info "Creating issue for: #{@issue.project}" logger.info "Creating issue for: #{@issue.project}"
update_issue_from_params
if @issue.project.nil? if @issue.project.nil?
@issue.project = Project.first
flash[:error] = t :notice_error_project_nil flash[:error] = t :notice_error_project_nil
render :new, status: :unprocessable_entity render :new, status: :unprocessable_entity
end end
if @issue.tracker.nil? if @issue.tracker.nil?
@issue.tracker = Tracker.first
flash[:error] = t :notice_error_tracker_nil flash[:error] = t :notice_error_tracker_nil
render :new, status: :unprocessable_entity render :new, status: :unprocessable_entity
end end
end end
# Reload the new issue form with a default tracker and project if not set.
# This is needed to prevent errors when creating an issue without selecting a project or tracker.
def reload_new_issue
logger.info "Reloading new #{@issue.tracker} issue for: #{@project}"
@issue.tracker ||= Tracker.first
@project ||= Project.first
logger.info "Reloaded new #{@issue.tracker} issue for: #{@project}"
end
end end
# Add module to IssuessController # Add module to IssuessController