manage.tcl
Manage notifications for one user
- Location:
- /packages/notifications/www/manage.tcl
- Author:
- Tracy Adams <teadams@alum.mit.edu>
- Created:
- 2002-07-22
Related Files
[ hide source ] | [ make this the default ]
File Contents
ad_page_contract { Manage notifications for one user @author Tracy Adams (teadams@alum.mit.edu) @creation-date 2002-07-22 } { {user_id:naturalnum ""} } auth::require_login if { $user_id ne "" && $user_id ne [ad_conn user_id] } { # # Manage notification of someone else. We need to verify that # current user is an admin. # permission::require_permission -object_id [ad_conn package_id] -privilege "admin" set user_dict [acs_user::get -user_id $user_id] set doc(title) "Manage notifications of [dict get $user_dict email]" set elements { type { label {[_ notifications.Notification_type]} } object_name { label {[_ notifications.Item]} link_url_eval {[export_vars -base subscribers { object_id }]} } interval { label {[_ notifications.Frequency]} } action { label {[_ notifications.Action]} display_template {\#notifications.Unsubscribe\#} link_url_eval {[export_vars -base request-delete { request_id {return_url [ad_return_url]} }]} link_html {title "\#notifications.Unsubscribe_from_object_name\#"} } } set notice "[acs_community_member_link -user_id $user_id -label [person::name -person_id $user_id]] - [_ notifications.Notifications]" } else { # # Manage own notifications. # set doc(title) #notifications.Manage_Notifications# set user_id [ad_conn user_id] set elements { type { label {[_ notifications.Notification_type]} } object_name { label {[_ notifications.Item]} link_url_eval {[export_vars -base object-goto { object_id type_id }]} link_html {title "\#notifications.goto_object_name\#"} } interval { label {[_ notifications.Frequency]} display_template { @notifications.interval@ (<a href="@notifications.interval_url@" title="\#notifications.change_interval_object_name\#">\#notifications.Change\#</a>) } } action { label {[_ notifications.Action]} display_template {\#notifications.Unsubscribe\#} link_url_eval {[export_vars -base request-delete { request_id {return_url [ad_return_url]} }]} link_html {title "\#notifications.Unsubscribe_from_object_name\#"} } } } set return_url [ad_conn url] db_multirow -extend { interval_url } notifications select_notifications { select nr.request_id, nr.type_id, nt.pretty_name as type, acs_object.name(nr.object_id) as object_name, ni.name as interval, nr.object_id from notification_requests nr, notification_intervals ni, notification_types nt where nr.user_id = :user_id and nr.interval_id = ni.interval_id and nr.type_id = nt.type_id and nr.user_id is not null and nr.dynamic_p = 'f' order by lower(nt.pretty_name), object_name } { set interval_url [export_vars -base request-change-frequency { request_id {return_url [ad_return_url]} }] set interval [_ notifications.${interval}] } template::list::create \ -name notifications \ -no_data [_ notifications.lt_You_have_no_notificat] \ -elements $elements # Local variables: # mode: tcl # tcl-indent-level: 4 # indent-tabs-mode: nil # End: