Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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]
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement