Finished updating method
The plugin is not fully fuctional
This commit is contained in:
@@ -27,28 +27,21 @@ class ExceptionhandlerController < ApplicationController
|
||||
helper :exceptionhandler
|
||||
include ExceptionhandlerHelper
|
||||
|
||||
require 'logger'
|
||||
|
||||
def index
|
||||
log = Logger.new('redmine-exceptionhandler-plugin.txt')
|
||||
log.level = Logger::DEBUG
|
||||
log.debug "Loading Index"
|
||||
|
||||
if params.size < 8
|
||||
@output = "<strong> not enough args </strong>"
|
||||
elsif Project.find_by_name(params[:app]) == nil
|
||||
@output = "No Project Found"
|
||||
else
|
||||
issue_id = check_for_existing_report
|
||||
issue_id = check_for_existing_report
|
||||
if issue_id > 0
|
||||
# TODO update report
|
||||
@output = issue_id
|
||||
update_report(issue_id)
|
||||
@output = "Updated report"
|
||||
else
|
||||
#TODO create new report and save
|
||||
issue = create_new_report
|
||||
if issue.valid?
|
||||
issue.save
|
||||
@output = "Report filed, Thank You."
|
||||
@output = "New report filed"
|
||||
else
|
||||
@output = issue.errors.full_messages
|
||||
end
|
||||
|
||||
@@ -87,7 +87,7 @@ module ExceptionhandlerHelper
|
||||
issue.project = Project.find_by_name(params[:app])
|
||||
issue.start_date = Time.now.localtime.strftime("%Y-%m-%d %T")
|
||||
issue.priority = IssuePriority.find_by_name("Normal")
|
||||
issue.author = User.find_by_mail("rickbarrette@gmail.com")
|
||||
issue.author = User.anonymous
|
||||
issue.status = IssueStatus.find_by_name("New")
|
||||
|
||||
issue.custom_values = [
|
||||
@@ -110,4 +110,33 @@ module ExceptionhandlerHelper
|
||||
return custom_value
|
||||
end
|
||||
|
||||
# retrives an issue by it's id and updates it
|
||||
# @returns updated issue
|
||||
def update_report(issue_id)
|
||||
issue = Issue.find_by_id(issue_id)
|
||||
if params[:description].length > 0
|
||||
description = issue.description
|
||||
description += "\n\n--- New Description --- \n"
|
||||
description += params[:description]
|
||||
issue.description = description
|
||||
end
|
||||
|
||||
custom_fields = CustomField
|
||||
issue.custom_field_values.each do |value|
|
||||
case custom_fields.find_by_id(value.custom_field_id).name
|
||||
when "Device"
|
||||
value.value = value.value += "\n"
|
||||
value.value = value.value += params[:device]
|
||||
when "Date"
|
||||
value.value = value.value += "\n"
|
||||
value.value = value.value += params[:date]
|
||||
when "Count"
|
||||
value.value = (value.value.to_i + 1).to_s
|
||||
end
|
||||
value.save
|
||||
end
|
||||
issue.init_journal(User.anonymous, "Issue updated")
|
||||
issue.save
|
||||
end
|
||||
|
||||
end #EOF
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
<h1>Exception Handler</h1>
|
||||
<%= @output %>
|
||||
<%= Rails.logger.info %>
|
||||
|
||||
Reference in New Issue
Block a user