File Edit Options Buffers Tools Tcl Help ad_page_contract {} { {event_id:naturalnum,optional} {page:naturalnum,optional} } ns_log Notice "Running TCL script items.tcl" set tree_id [category_tree::get_id "EventsQA" "en_US"] set categories [category::get_mapped_categories -tree_id $tree_id $event_id] set category_names [category::get_names $categories "pt_BR"] set item_ids [ee_event::event::matching_items -event_id $event_id] set count [llength $item_ids] set latitude "-12.9704" set longitude "-38.5124" set max_distance 50 ns_log Notice "ITEMS $item_ids" if { [llength $item_ids] > 0 } { ns_log Notice "$item_ids" set item_ids [join [join $item_ids " "] ","] } ns_log Notice "$item_ids" #ns_log Notice "EVENTTYPES $mapped_objs" # To use evex QA as extension of cr_items Iuri Sampaio (iuri@iurix.com) set from_table "ee_qa_item_info qa1, ee_qa_item_category_score qa2 " append where_clauses " AND qa1.item_id = qa2.item_id " set categories [join $categories ", "] append where_clauses " AND qa2.category_id IN ($categories) " set order_by " GROUP BY qa1.item_id, qa2.score, cr.title ORDER BY qa2.score DESC, qa1.score DESC" set tree_id [category_tree::get_id "Supplier Types" "en_US"] set serv_categories [category::get_mapped_categories -tree_id $tree_id $event_id] set where_clauses "" set from_tables "" # Service categories if { [llength $serv_categories] } { set serv_category_names [category::get_names $serv_categories "pt_BR"] set serv_categories [join $serv_categories ", "] ns_log Notice "CATEGORIES $serv_categories | NAMES: $serv_category_names" set from_tables ", category_object_map com" set where_clauses " AND com.object_id = qa1.item_id AND com.category_id IN ($serv_categories)" } list::create \ -name items \ -multirow items \ -key item_id \ -page_flush_p 1 \ -page_size 250 \ -page_query_name select_items \ -actions { "#evex-event.Send_request#" request-proposal "#evex-event.Send_a_request_to_partner#" } \ -bulk_action_method post \ -bulk_action_export_vars { event_id } \ -bulk_actions { "#evex-event.Send_request#" request-proposal "#evex-event.Send_request_to_all_partners#" } \ -elements { title { label "#evex-event.Title#" } distance { label "#evex-event.Distance#" } score { label "#evex-event.Category_Score#" } total { label "#evex-event.Total_Score#" } serv_category_name { label "Servico" } location { label "#evex-event.Location#" } } db_multirow -extend { thumbnail_url serv_category_name} items select_items_page " SELECT qa1.item_id, qa1.score AS total, qa2.score, cr.title, pa.latitude, pa.longitude, pa.delivery_address AS location, to_char((( 3959 * acos ( cos ( radians(:latitude) ) * cos( radians( CAST(pa.latitude AS NUMERIC)) ) * cos( radians( CAST(pa.longitude AS NUMERIC) ) - radians(:longitude) )+ sin ( radians(:latitude) )* sin( radians( CAST(pa.latitude AS NUMERIC) ) ) )) * 1.6)::float, 'FM999999990.00') AS distance, com.category_id AS serv_category FROM cr_items ci, cr_revisions cr, ee_qa_item_info qa1, ee_qa_item_category_score qa2, postal_addresses pa, acs_data_links adl $from_tables WHERE ci.item_id = cr.item_id AND ci.live_revision = cr.revision_id AND (ci.content_type = 'ee_venue' OR ci.content_type = 'ee_service') AND qa1.item_id = ci.item_id AND qa1.item_id = qa2.item_id AND adl.object_id_one = qa1.item_id AND adl.object_id_two = pa.party_id AND adl.relation_tag = 'item_group_rel' AND (( 3959 * acos ( cos ( radians(:latitude) ) * cos( radians( CAST(pa.latitude AS NUMERIC)) ) * cos( radians( CAST(pa.longitude AS NUMERIC) ) - radians(:longitude) )+ sin ( radians(:latitude) )* sin( radians( CAST(pa.latitude AS NUMERIC) ) ) )) * 1.6) < :max_distance AND ci.item_id IN ($item_ids) AND qa2.category_id IN ($categories) $where_clauses AND [template::list::page_where_clause -name items -key qa1.item_id ] [template::list::filter_where_clauses -and -name items] GROUP BY qa1.item_id, qa2.score, cr.title, pa.latitude, pa.longitude, pa.delivery_address, com.category_id ORDER BY qa2.score DESC, qa1.score DESC " { set thumbnail_url "" set serv_category_name [lindex [category::get_names $serv_category "pt_BR"] 0] #set tree_id [category_tree::get_id "EventosQA" "pt_BR"] #set categories [category::get_mapped_categories -tree_id $tree_id $event_id] # set category_names [category::get_names $categories "pt_BR"] # ns_log Notice "NAMES $category_names" # set category1_pretty [lindex $category_names 0] # set category2_pretty [lindex $category_names 1] }