You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.6 KiB
Ruby
45 lines
1.6 KiB
Ruby
# Copyright © Emilio González Montaña
|
|
# Licence: Attribution & no derivatives
|
|
# * Attribution to the plugin web page URL should be done if you want to use it.
|
|
# https://redmine.ociotec.com/projects/redmine-plugin-scrum
|
|
# * No derivatives of this plugin (or partial) are allowed.
|
|
# Take a look to licence.txt file at plugin root folder for further details.
|
|
|
|
class CreatePendingEfforts < ActiveRecord::Migration[4.2]
|
|
class Issue < ActiveRecord::Base
|
|
end
|
|
class CustomValue < ActiveRecord::Base
|
|
end
|
|
class PendingEffort < ActiveRecord::Base
|
|
end
|
|
|
|
def self.up
|
|
create_table :pending_efforts, :force => true do |t|
|
|
t.column :issue_id, :integer, :null => false
|
|
t.column :date, :date, :null => false
|
|
t.column :effort, :integer
|
|
end
|
|
|
|
add_index :pending_efforts, [:issue_id], :name => "pending_efforts_issue"
|
|
add_index :pending_efforts, [:date], :name => "pending_efforts_date"
|
|
|
|
if !((custom_field_id = Setting.plugin_scrum[:pending_effort_custom_field]).nil?)
|
|
Issue.all.each do |issue|
|
|
values = CustomValue.where(:customized_type => "Issue",
|
|
:customized_id => issue.id,
|
|
:custom_field_id => custom_field_id)
|
|
if values.count == 1
|
|
effort = PendingEffort.new(:issue_id => issue.id,
|
|
:date => issue.updated_on,
|
|
:effort => values.first.value.to_i)
|
|
effort.save!
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
def self.down
|
|
drop_table :pending_efforts
|
|
end
|
|
end
|