Redmine Reports
От Viktor V. Kudlak (2:5030/1374) к All
В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)
Hello everybody.
Появилась у меня задача - сделать по выполненной работе. Первое что пришло в голову - RakeTask. Просто и удобно:
У кого стоит такая же задача - пользуйтесь на здоровье. ссылка на оригинал обязательна: http://src.writex.ru
1. Добавляем необходимые записи в Gemfile.local:
-+-
redmine # cat Gemfile.local
gem 'awesome_print'
-+-
2. Пишем скрипт:
-+-
redmine # cat lib/tasks/report.rake
#
# WriteX LLC by Mega
#
require 'ap'
namespace :report do
task :mega => :environment do
report={}
total=0.0
price=850.0
TimeEntry.where(user_id: 1004).where('spent_on >= ? AND spent_on <= ?', DateTime.now.beginning_of_month, DateTime.now.end_of_month).each do |t|
id=t.issue_id
report[id] = { issue: id, hours: 0.0, comment: t.issue.subject, price: 0.0 } unless report.has_key?(id)
report[id][:hours] = report[id][:hours] + t.hours
report[id][:price] = report[id][:hours] * price
total = total + t.hours
end
report.each do |k,v|
printf("%d|%s|%.02f|%.02f\n", v[:issue], v[:comment], v[:hours], v[:price])
end
# ap report
ap total
ap total * price
end
end
-+-
3. Вызываем скрипт отчета:
-+-
$ export RAILS_ENV=production
$ bundle exec rake report:mega
-+-
Viktor
--- GoldED+/LNX 1.1.5-b20110818
* Origin: ----> www.WriteX.ru <---- (2:5030/1374)
Ответы на это письмо:
From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку
From: Username
Или коротким