Index: openacs-4/contrib/packages/project-manager/tcl/project-manager-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/tcl/Attic/project-manager-procs.tcl,v diff -u -r1.2.2.11 -r1.2.2.12 --- openacs-4/contrib/packages/project-manager/tcl/project-manager-procs.tcl 10 Nov 2004 18:19:52 -0000 1.2.2.11 +++ openacs-4/contrib/packages/project-manager/tcl/project-manager-procs.tcl 25 Nov 2004 01:16:07 -0000 1.2.2.12 @@ -13,6 +13,93 @@ namespace eval pm::util {} +ad_proc -public pm::util::hours_day { +} { + Returns the number of hours in the workday + + @author (jader-ibr@bread.com) + @creation-date 2004-11-24 + + @return + + @error +} { + return [util_memoize [list pm::util::hours_day_not_cached]] +} + + +ad_proc -public pm::util::hours_day_not_cached { +} { + Returns the number of hours in the workday + + @author (jader-ibr@bread.com) + @creation-date 2004-11-24 + + @return + + @error +} { + return 8 +} + + +ad_proc -public pm::util::days_work { + {-hours_work:required} + {-pretty_p "f"} +} { + Returns the number of days work + + @author (jader-ibr@bread.com) + @creation-date 2004-11-24 + + @param hours_work + + @return + + @error +} { + set hours_day [pm::util::hours_day] + + if {![string equal $hours_day 0]} { + set number [expr double($hours_work) / $hours_day] + } + + set return_val [pm::util::trim_number -number $number] + + if {[string is true $pretty_p]} { + if {$return_val < 1} { + return "less than 1" + } + } + + return $return_val +} + + +ad_proc -public pm::util::trim_number { + {-number:required} + {-precision "4"} +} { + Trims zeros off the end of a number + + @author (jader-ibr@bread.com) + @creation-date 2004-11-24 + + @param precision + + @return + + @error +} { + set return_val [format "%0.${precision}f" $number] + set return_val [string trimright $return_val 0] + set return_val [string trimright $return_val .] + + return $return_val +} + + + ad_proc -public pm::util::datenvl { -value -value_if_null