search.tcl
Includable page to search users in any authority To grant permission on an object Including page can pass in add_permissions (list of Label, URL) object_id privilege OR To add a member of a group add_to_subsite (list of label url) add_to_main_site (optional) (list of label url) group_id (optional default to subsite application group) rel_type (default to membership_rel)
- Location:
- /packages/acs-authentication/lib/search.tcl
Related Files
[ hide source ] | [ make this the default ]
File Contents
ad_page_contract { Includable page to search users in any authority To grant permission on an object Including page can pass in add_permissions (list of Label, URL) object_id privilege OR To add a member of a group add_to_subsite (list of label url) add_to_main_site (optional) (list of label url) group_id (optional default to subsite application group) rel_type (default to membership_rel) } { {search_text ""} {authority_id:naturalnum,notnull ""} orderby:token,optional } set default_authority_id [auth::authority::get] if {$authority_id eq ""} { set authority_id $default_authority_id } if {![info exists rel_type] || $rel_type eq ""} { set rel_type membership_rel } if {![info exists package_id] || $package_id eq ""} { set package_id [ad_conn subsite_id] } if {![info exists return_url] || $return_url eq ""} { set return_url [ad_return_url] } set selected_authority_id $authority_id set bulk_actions [list] # we need a base url for adding a user to the site (main subsite or dotlrn, etc...) if {[info exists add_to_main_site]} { foreach elm $add_to_main_site { lappend bulk_actions $elm } } # we need a base url for adding a user to a specific community (subsite or dotlrn class instance etc...) (optional) if {[info exists add_to_subsite]} { foreach elm $add_to_subsite { lappend bulk_actions $elm } } if {[info exists add_to_subsite] && [llength $add_to_subsite]} { set add_user_url [lindex $add_to_subsite 1] set add_user_label [lindex $add_to_subsite 0] } elseif {[info exists add_to_main_site]} { set add_user_url [lindex $add_to_main_site 1] set add_user_label "[_ acs-authentication.Add_to_system_name [list system_name [ad_system_name]]]" } if {[info exists add_permission] && [llength $add_permission]} { set add_user_url [lindex $add_permission 1] set add_user_label [lindex $add_permission 0] lappend bulk_actions $add_user_label $add_user_url $add_user_label } if {![regexp {\?} $add_user_url]} { set add_user_url "$add_user_url?" } if {![info exists group_id] || $group_id eq ""} { set group_id [application_group::group_id_from_package_id -package_id $package_id] } # generate authority links template::multirow create users \ first last username email auth_status group_member_p create_account_url actions extra_attributes user_id authority_id ns_log debug "MEMBER SEARCH TCL level='[template::adp_level]' [uplevel \#[template::adp_level] "info vars"]" template::list::create \ -no_data "Search returned no results" \ -name users \ -multirow users \ -key userkey \ -has_checkboxes \ -bulk_action_export_vars { authority_id return_url object_id group_id } \ -filters {search_text {} authority_id {} object_id {}} \ -elements [list \ checkbox { display_template {<if @users.first@ not nil and @users.last@ not nil and @users.email@ not nil and @users.group_member_p@ false><input type="checkbox" name="userkey" value="@users.username@ @users.authority_id@" /></if>}} \ first [list label "First Name" link_url_eval "\[export_vars -base \"$member_url\" {user_id} \]"] \ last [list label "Last Name" link_url_eval "\[export_vars -base \"$member_url\" {user_id} \]"] \ username [list label "Username" link_url_eval "\[export_vars -base \"$member_url\" {user_id} \]"] \ email {label "Email"} \ auth_status { label "Status" } \ actions [list label "Actions" display_template [subst { <if @users.first@ not nil and @users.last@ not nil and @users.email@ not nil and @users.group_member_p@ false><a href="[ns_quotehtml ${add_user_url}&userkey=@users.username@+@users.authority_id@&authority_id=${authority_id}&return_url=[ad_urlencode ${return_url}]&group_id=$group_id]" class=button>$add_user_label</a></if> }]] \ extra_attributes {label "Extra Attributes"} \ user_id [list hide_p [expr {!$admin_p}] label "" display_template [subst { <if @users.user_id@ not nil><a href="[ns_quotehtml $member_admin_url?user_id=@users.user_id@]">User Admin Page</a></if> }]] \ ] -bulk_actions $bulk_actions \ -orderby { first {orderby first_names} last {orderby last_name} username {orderby username} email {orderby email} auth_status {orderby auth_status} } template::multirow create authorities authority_id pretty_name local_authority_p search_url form_include foreach option_list [auth::authority::get_authority_options] { set this_authority_id [lindex $option_list 1] set local_authority_p [string match $this_authority_id [auth::authority::local]] if {$local_authority_p} { set local_authority_id $this_authority_id set form_include /packages/acs-authentication/lib/local-search } else { set form_include [acs_sc::invoke \ -impl_id [auth::authority::get_element -authority_id $this_authority_id -element search_impl_id] \ -operation FormInclude] } if {$this_authority_id eq $selected_authority_id} { set selected_form_include $form_include } template::multirow append authorities \ $this_authority_id \ [lindex $option_list 0] \ $local_authority_p \ [export_vars -base [ad_conn url] -no_empty {{authority_id $this_authority_id} search_text object_id}] \ $form_include } #template::multirow sort authorities -decreasing authority_id if {$selected_authority_id eq ""} { set selected_authority_id $default_authority_id } set authority_id $selected_authority_id #set search_form_html [template::adp_include $selected_form_include [list authority_id $selected_authority_id search_text $search_text return_url $return_url orderby $orderby]] #<include src="@authorities.form_include@" authority_id="@authorities.authority_id@" search_text="@search_text@" return_url="@return_url@" orderby="@orderby@"> if {![info exists orderby]} { set orderby "" } # Local variables: # mode: tcl # tcl-indent-level: 4 # indent-tabs-mode: nil # End: