Index: openacs-4/packages/mail-tracking/lib/messages.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/mail-tracking/lib/messages.tcl,v diff -u -r1.29 -r1.30 --- openacs-4/packages/mail-tracking/lib/messages.tcl 13 Jun 2006 06:40:49 -0000 1.29 +++ openacs-4/packages/mail-tracking/lib/messages.tcl 17 Nov 2006 10:39:37 -0000 1.30 @@ -211,11 +211,19 @@ db_multirow -extend { file_ids object_url sender_name recipient package_name package_url url_message_id download_files} messages select_messages { } { - set sender_name [party::name -party_id $sender_id] + if {$sender_id eq ""} { + set sender_name "" + } else { + set sender_name [party::name -party_id $sender_id] + } + set reciever_list [list] - db_foreach reciever_id {select recipient_id from acs_mail_log_recipient_map where type ='to' and log_id = :log_id and recipient_id is not null} { + set reciever_list [db_list get_recievers {select recipient_id from acs_mail_log_recipient_map where type ='to' and log_id = :log_id and recipient_id is not null}] + + foreach recipient_id $reciever_list { lappend reciever_list [party::name -party_id $recipient_id] } + set recipient [join $reciever_list "
"] if {[exists_and_not_null package_id]} { @@ -247,20 +255,10 @@ set subject "$before$result$after" } - set files [list] - # We get the related files for all the object_types - set content_types [list content_revision content_item file_storage_object image] - db_foreach files {} { - if { [string equal $content_type "content_revision"] } { - set file [item::get_item_from_revision $file_id] - } else { - set file $file_id - } - set title [content::item::get_title -item_id $file] - if { [empty_string_p $title] } { - set title [acs_object_name $file] - } - append download_files "$title
" + set files [db_list files {}] + foreach file_id $files { + set title [content::item::get_title -item_id $file_id] + append download_files "$title
" } set object_url "/o/$object_id" Index: openacs-4/packages/mail-tracking/lib/messages.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/mail-tracking/lib/messages.xql,v diff -u -r1.10 -r1.11 --- openacs-4/packages/mail-tracking/lib/messages.xql 13 Jun 2006 06:40:49 -0000 1.10 +++ openacs-4/packages/mail-tracking/lib/messages.xql 17 Nov 2006 10:39:37 -0000 1.11 @@ -35,12 +35,8 @@ - select o.object_type as content_type, o.object_id as file_id - from acs_data_links r, acs_objects o - where r.object_id_one = :log_id - and r.object_id_two = o.object_id - and o.object_type in ([template::util::tcl_to_sql_list $content_types]) - order by o.object_type, o.object_id + select file_id from acs_mail_log_attachment_map + where log_id = :log_id Index: openacs-4/packages/mail-tracking/tcl/mail-tracking-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/mail-tracking/tcl/mail-tracking-procs.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/mail-tracking/tcl/mail-tracking-procs.tcl 14 Nov 2006 07:17:56 -0000 1.6 +++ openacs-4/packages/mail-tracking/tcl/mail-tracking-procs.tcl 17 Nov 2006 10:39:37 -0000 1.7 @@ -61,7 +61,7 @@ set object_id $context_id } - + set log_id [db_nextval "acs_object_id_seq"] # First create the message entry db_dml insert_mail_log { insert into acs_mail_log @@ -70,13 +70,13 @@ (:log_id, :message_id, :sender_id, :package_id, :subject, :body, now(), :object_id, :cc_addr, :bcc_addr, :to_addr) } + ns_log Debug "Mail Traking OBJECT $object_id CONTEXT $context_id FILES $file_ids LOGS $log_id" foreach file_id $file_ids { set item_id [content::revision::item_id -revision_id $file_id] if {$item_id eq ""} { set item_id $file_id } db_dml insert_file_map "insert into acs_mail_log_attachment_map (log_id,file_id) values (:log_id,:file_id)" - permission::grant -party_id $sender_id -object_id $file_id -privilege "read" } # Now add the recipients to the log_id Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/mail-tracking/www/forward.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/mail-tracking/www/forward.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/mail-tracking/www/forward.xql'. Fisheye: No comparison available. Pass `N' to diff?