im_hours_for_user db user_id { html_p "t" } { number_days "7" }What it does:
Returns a string in html or text format describing the number of hours the specified user logged and what s/he noted as work done in those hours.Defined in: /web/philip/tcl/intranet-defs.tcl
Source code:
validate_integer "user id" $user_id set selection [ns_db select $db "select g.group_id, g.group_name, nvl(h.note,'no notes') as note, to_char( day, 'Dy, MM/DD/YYYY' ) as nice_day, h.hours from im_hours h, user_groups g where g.group_id = h.on_what_id and h.on_which_table = 'im_projects' and h.day >= sysdate - $number_days and user_id=$user_id order by lower(g.group_name), day"] set last_id -1 set pcount 0 set num_hours 0 set html_string "" set text_string "" while {[ns_db getrow $db $selection]} { set_variables_after_query if { $last_id != $group_id } { set last_id $group_id if { $pcount > 0 } { append html_string "</ul>\n" append text_string "\n" } append html_string " <li><b>$group_name</b>\n<ul>\n" append text_string "$group_name\n" set pcount 1 } append html_string " <li>$nice_day ($hours [util_decode $hours 1 "hour" "hours"]): <i>$note</i>\n" append text_string " * $nice_day ($hours [util_decode $hours 1 "hour" "hours"]): $note\n" set num_hours [expr $num_hours + $hours] } # Let's get the punctuation right on days set number_days_string "$number_days [util_decode $number_days 1 "day" "days"]" if { $num_hours == 0 } { set text_string "No hours logged in the last $number_days_string." set html_string "<b>$text_string</b>" } else { if { $pcount > 0 } { append html_string "</ul>\n" append text_string "\n" } set html_string "<b>$num_hours [util_decode $num_hours 1 hour hours] logged in the last $number_days_string:</b> <ul>$html_string</ul>" set text_string "$num_hours [util_decode $num_hours 1 hour hours] logged in the last $number_days_string: $text_string" } return [util_decode $html_p "t" $html_string $text_string]