292 |
292 |
case options[:format]
|
293 |
293 |
when :html
|
294 |
294 |
output = ''
|
295 |
|
i_left = ((project.start_date - self.date_from)*options[:zoom]).floor
|
|
295 |
i_left = ((project.start_date.to_date - self.date_from)*options[:zoom]).floor
|
296 |
296 |
|
297 |
|
start_date = project.start_date
|
|
297 |
start_date = project.start_date.to_date
|
298 |
298 |
start_date ||= self.date_from
|
299 |
299 |
start_left = ((start_date - self.date_from)*options[:zoom]).floor
|
300 |
300 |
|
301 |
|
i_end_date = ((project.due_date <= self.date_to) ? project.due_date : self.date_to )
|
302 |
|
i_done_date = start_date + ((project.due_date - start_date+1)* project.completed_percent(:include_subprojects => true)/100).floor
|
|
301 |
i_end_date = ((project.due_date.to_date <= self.date_to) ? project.due_date.to_date : self.date_to )
|
|
302 |
i_done_date = start_date + ((project.due_date.to_date - start_date+1)* project.completed_percent(:include_subprojects => true)/100).floor
|
303 |
303 |
i_done_date = (i_done_date <= self.date_from ? self.date_from : i_done_date )
|
304 |
304 |
i_done_date = (i_done_date >= self.date_to ? self.date_to : i_done_date )
|
305 |
305 |
|
... | ... | |
353 |
353 |
output
|
354 |
354 |
when :image
|
355 |
355 |
options[:image].stroke('transparent')
|
356 |
|
i_left = options[:subject_width] + ((project.due_date - self.date_from)*options[:zoom]).floor
|
|
356 |
i_left = options[:subject_width] + ((project.due_date.to_date - self.date_from)*options[:zoom]).floor
|
357 |
357 |
|
358 |
358 |
# Make sure negative i_left doesn't overflow the subject
|
359 |
359 |
if i_left > options[:subject_width]
|
... | ... | |
364 |
364 |
end
|
365 |
365 |
when :pdf
|
366 |
366 |
options[:pdf].SetY(options[:top]+1.5)
|
367 |
|
i_left = ((project.due_date - @date_from)*options[:zoom])
|
|
367 |
i_left = ((project.due_date.to_date - @date_from)*options[:zoom])
|
368 |
368 |
|
369 |
369 |
# Make sure negative i_left doesn't overflow the subject
|
370 |
370 |
if i_left > 0
|
... | ... | |
426 |
426 |
case options[:format]
|
427 |
427 |
when :html
|
428 |
428 |
output = ''
|
429 |
|
i_left = ((version.start_date - self.date_from)*options[:zoom]).floor
|
|
429 |
i_left = ((version.start_date.to_date - self.date_from)*options[:zoom]).floor
|
430 |
430 |
# TODO: or version.fixed_issues.collect(&:start_date).min
|
431 |
431 |
start_date = version.fixed_issues.minimum('start_date') if version.fixed_issues.present?
|
432 |
432 |
start_date ||= self.date_from
|
|
433 |
start_date = start_date.to_date
|
433 |
434 |
start_left = ((start_date - self.date_from)*options[:zoom]).floor
|
434 |
435 |
|
435 |
|
i_end_date = ((version.due_date <= self.date_to) ? version.due_date : self.date_to )
|
436 |
|
i_done_date = start_date + ((version.due_date - start_date+1)* version.completed_pourcent/100).floor
|
|
436 |
i_end_date = ((version.due_date.to_date <= self.date_to) ? version.due_date.to_date : self.date_to )
|
|
437 |
i_done_date = start_date + ((version.due_date.to_date - start_date+1)* version.completed_pourcent/100).floor
|
437 |
438 |
i_done_date = (i_done_date <= self.date_from ? self.date_from : i_done_date )
|
438 |
439 |
i_done_date = (i_done_date >= self.date_to ? self.date_to : i_done_date )
|
439 |
440 |
|
... | ... | |
488 |
489 |
output
|
489 |
490 |
when :image
|
490 |
491 |
options[:image].stroke('transparent')
|
491 |
|
i_left = options[:subject_width] + ((version.start_date - @date_from)*options[:zoom]).floor
|
|
492 |
i_left = options[:subject_width] + ((version.start_date.to_date - @date_from)*options[:zoom]).floor
|
492 |
493 |
|
493 |
494 |
# Make sure negative i_left doesn't overflow the subject
|
494 |
495 |
if i_left > options[:subject_width]
|
... | ... | |
499 |
500 |
end
|
500 |
501 |
when :pdf
|
501 |
502 |
options[:pdf].SetY(options[:top]+1.5)
|
502 |
|
i_left = ((version.start_date - @date_from)*options[:zoom])
|
|
503 |
i_left = ((version.start_date.to_date - @date_from)*options[:zoom])
|
503 |
504 |
|
504 |
505 |
# Make sure negative i_left doesn't overflow the subject
|
505 |
506 |
if i_left > 0
|
... | ... | |
580 |
581 |
output = ''
|
581 |
582 |
# Handle nil start_dates, rare but can happen.
|
582 |
583 |
i_start_date = if issue.start_date && issue.start_date >= self.date_from
|
583 |
|
issue.start_date
|
|
584 |
issue.start_date.to_date
|
584 |
585 |
else
|
585 |
586 |
self.date_from
|
586 |
587 |
end
|
587 |
588 |
|
588 |
|
i_end_date = ((issue.due_before && issue.due_before <= self.date_to) ? issue.due_before : self.date_to )
|
589 |
|
i_done_date = i_start_date + ((issue.due_before - i_start_date+1)*issue.done_ratio/100).floor
|
|
589 |
i_end_date = ((issue.due_before.to_date && issue.due_before.to_date <= self.date_to) ? issue.due_before.to_date : self.date_to )
|
|
590 |
debugger
|
|
591 |
i_done_date = i_start_date + ((issue.due_before.to_date - i_start_date+1)*issue.done_ratio/100).floor
|
590 |
592 |
i_done_date = (i_done_date <= self.date_from ? self.date_from : i_done_date )
|
591 |
593 |
i_done_date = (i_done_date >= self.date_to ? self.date_to : i_done_date )
|
592 |
594 |
|
... | ... | |
635 |
637 |
@date_from
|
636 |
638 |
end
|
637 |
639 |
|
638 |
|
i_end_date = (issue.due_before <= date_to ? issue.due_before : date_to )
|
639 |
|
i_done_date = i_start_date + ((issue.due_before - i_start_date+1)*issue.done_ratio/100).floor
|
|
640 |
i_end_date = (issue.due_before.to_date <= date_to ? issue.due_before.to_date : date_to )
|
|
641 |
i_done_date = i_start_date + ((issue.due_before.to_date - i_start_date+1)*issue.done_ratio/100).floor
|
640 |
642 |
i_done_date = (i_done_date <= @date_from ? @date_from : i_done_date )
|
641 |
643 |
i_done_date = (i_done_date >= date_to ? date_to : i_done_date )
|
642 |
644 |
i_late_date = [i_end_date, Date.today].min if i_start_date < Date.today
|
... | ... | |
675 |
677 |
@date_from
|
676 |
678 |
end
|
677 |
679 |
|
678 |
|
i_end_date = (issue.due_before <= @date_to ? issue.due_before : @date_to )
|
|
680 |
i_end_date = (issue.due_before.to_date <= @date_to ? issue.due_before.to_date : @date_to )
|
679 |
681 |
|
680 |
|
i_done_date = i_start_date + ((issue.due_before - i_start_date+1)*issue.done_ratio/100).floor
|
|
682 |
i_done_date = i_start_date + ((issue.due_before.to_date - i_start_date+1)*issue.done_ratio/100).floor
|
681 |
683 |
i_done_date = (i_done_date <= @date_from ? @date_from : i_done_date )
|
682 |
684 |
i_done_date = (i_done_date >= @date_to ? @date_to : i_done_date )
|
683 |
685 |
|