notification::delivery::send (public)

 notification::delivery::send -delivery_method_id delivery_method_id \
    [ -reply_object_id reply_object_id ] \
    -notification_type_id notification_type_id \
    [ -from_user_id from_user_id ] -to_user_id to_user_id \
    -subject subject -content_text content_text \
    -content_html content_html [ -file_ids file_ids ]

Defined in packages/notifications/tcl/delivery-method-procs.tcl

do the delivery of certain content to a particular user using a particular delivery method. This is just a wrapper proc that sets up the call to the service contract implementation for a given delivery method.

Switches:
-delivery_method_id
(required)
-reply_object_id
(optional)
-notification_type_id
(required)
-from_user_id
(optional)
-to_user_id
(required)
-subject
(required)
-content_text
(required)
-content_html
(required)
-file_ids
(optional)

Partial Call Graph (max 5 caller/called nodes):
%3 notification::sweep::sweep_notifications notification::sweep::sweep_notifications (private) notification::delivery::send notification::delivery::send notification::sweep::sweep_notifications->notification::delivery::send acs_sc::invoke acs_sc::invoke (public) notification::delivery::send->acs_sc::invoke notification::delivery::get_impl_key notification::delivery::get_impl_key (private) notification::delivery::send->notification::delivery::get_impl_key notification::security::can_notify_user notification::security::can_notify_user (public) notification::delivery::send->notification::security::can_notify_user

Testcases:
No testcase defined.
Source code:
    #need to check if its ok to notify this user in this way.  For now just checks if they are an approved user.
    if { ![notification::security::can_notify_user -user_id $to_user_id -delivery_method_id $delivery_method_id] } {
        ns_log debug "notification::delivery::send: Blocked notification to $to_user_id subject:$subject"
        return "Blocked"
    }

    # Get the implementation key
    set impl_key [get_impl_key -delivery_method_id $delivery_method_id]

    # Prepare the arguments
    set args [list $from_user_id $to_user_id $reply_object_id $notification_type_id $subject $content_text $content_html $file_ids]

    # Make the generic call
    return [acs_sc::invoke -contract NotificationDeliveryMethod -operation Send -call_args $args -impl $impl_key]
Generic XQL file:
packages/notifications/tcl/delivery-method-procs.xql

PostgreSQL XQL file:
packages/notifications/tcl/delivery-method-procs-postgresql.xql

Oracle XQL file:
packages/notifications/tcl/delivery-method-procs-oracle.xql

[ hide source ] | [ make this the default ]
Show another procedure: