<parameterdatatype="string"min_n_values="1"max_n_values="1"name="DefaultOffsetEndDateTranslationTasks"default="3600"description="Offset in seconds for reminders send for translation tasks."/>
<parameterdatatype="string"min_n_values="1"max_n_values="1"name="DefaultOffsetEndDateTimesheetTasks"default="86400"description="Offset in seconds for reminders send for timesheet tasks."/>
<parameterdatatype="string"min_n_values="1"max_n_values="1"name="LogP"default="0"description="If set to '1', additional information is written to acs_logs. Please use with caution. Should be used for debugging purposes only."/>
ns_log Notice "im_project_reminders_send_notification_to_object_members: Exit - no object_id provided"
return
}
# #
# Defaults
set log_p [parameter::get -package_id [apm_package_id_from_key intranet-project-reminders] -parameter "LogP" -default 0]
set object_type [acs_object_type $object_id]
set parties_to_be_notified_id [list]
if {"" eq $from_email }{
set from_email [parameter::get -package_id [apm_package_id_from_key acs-kernel] -parameter "HostAdministrator" -default ""]
}
# #
# Main
switch $object_type {
"im_trans_task"{
# Based on type we evaluate the mail recipient
db_1row select_foo "
select
task_type_id,
task_name as object_name,
trans_id,
edit_id,
proof_id,
other_id
from
im_trans_tasks
where
task_id = :object_id
"
# Get final responsible in workflow
if {"" ne $trans_id }{ lappend parties_to_be_notified_id $trans_id }
if {"" ne $edit_id }{ lappend parties_to_be_notified_id $edit_id }
if {"" ne $proof_id }{ lappend parties_to_be_notified_id $proof_id }
if {"" ne $other_id }{ lappend parties_to_be_notified_id $other_id }
if {"" eq $parties_to_be_notified_id }{
ns_log Notice "im_project_reminders_send_notification_to_object_members: Exit - No assignments found for translation_task_id: $object_id ($parties_to_be_notified_id)"
return
}
}
"im_timesheet_task"{
set object_name [db_string sql "select project_name from im_projects where project_id = :object_id" -default 0]
set sql "
select
u.email
from
cc_users u,
acs_rels r
where
r.rel_type = 'im_biz_object_member'
and r.object_id_one = :object_id
and u.member_state = 'approved'
and u.user_id = r.object_id_two
order by
u.user_id
"
db_foreach r $sql{
lappend parties_to_be_notified_id $email
}
}
default {
ns_log Notice "im_project_reminders_send_notification_to_object_members: Exit - object_type: $object_type not supported"
return
}
}
set mail_subject [lang::message::lookup "" intranet-project-reminders.Mail_Subject_Text "Friendly Reminder - Task is due "]
set mail_body [lang::message::lookup "" intranet-project-reminders.Mail_Body_Text_Html "Planned end date of task: <br/> $object_name <br/> will be reached shortly.<br/>Please review."]