Index: openacs-4/packages/contacts/www/search.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/www/search.tcl,v
diff -u -r1.9 -r1.10
--- openacs-4/packages/contacts/www/search.tcl 14 Jun 2005 06:51:54 -0000 1.9
+++ openacs-4/packages/contacts/www/search.tcl 16 Jun 2005 20:51:58 -0000 1.10
@@ -7,11 +7,17 @@
} {
{search_id:integer,optional}
{type ""}
+ {old_type ""}
{var1 ""}
{var2 ""}
{var3 ""}
{var4 ""}
{var5 ""}
+ {old_var1 ""}
+ {old_var2 ""}
+ {old_var3 ""}
+ {old_var4 ""}
+ {old_var5 ""}
{save ""}
{add ""}
{next ""}
@@ -61,9 +67,16 @@
set action "add"
} else {
set action "next"
+
}
+if { [exists_and_not_null save] || $action == "add" } {
+ set var_num 1
+ while { $var_num <= 5 } {
+ set "var${var_num}" [set "old_var${var_num}"]
+ incr var_num
+ }
+}
-
set object_type_pretty_name(party) [_ contacts.People_or_Organizations]
set object_type_pretty_name(person) [_ contacts.People]
set object_type_pretty_name(organization) [_ contacts.Organizations]
@@ -347,6 +360,8 @@
}
contact {
set contact_options [list \
+ [list "[_ contacts.in_the_search] ->" "in_search"] \
+ [list "[_ contacts.not_in_the_search] ->" "not_in_search"] \
[list "[_ contacts.lt_updated_in_the_last_-]" "update"] \
[list "[_ contacts.lt_not_updated_in_the_la]" "not_update"] \
[list "[_ contacts.lt_commented_on_in_last_]" "comment"] \
@@ -367,6 +382,21 @@
if { [exists_and_not_null var1] } {
if { $var1 == "login" || $var1 == "not_login" } {
set action "add"
+ } elseif { [lsearch [list in_search not_in_search] $var1] >= 0 } {
+ set user_id [ad_conn user_id]
+ set search_options [db_list_of_lists get_my_searches {
+ select title,
+ search_id
+ from contact_searches
+ where owner_id = :user_id
+ and title is not null
+ and not deleted_p
+ order by lower(title)
+ }]
+ append form_elements {
+ {var2:text(select) {label {}} {options $search_options}}
+ }
+ set add_p 1
} else {
set interval_options {
{days days}
@@ -429,7 +459,15 @@
{results_count_widget:text(inform) {label " [_ contacts.Results]"} {value {$results_count}}}
}
}
+
+set var_num 1
+while { $var_num <= 5 } {
+ set "old_var${var_num}" [set "var${var_num}"]
+ incr var_num
+}
+set old_type $type
ad_form -name "advanced_search" -method "GET" -form $form_elements \
+ -export [list old_var1 old_var2 old_var3 old_var4 old_var5 old_type] \
-on_request {
} -edit_request {
} -on_refresh {
@@ -455,8 +493,11 @@
}
} -after_submit {
if { $action == "add" } {
-# rp_internal_redirect search
- ad_returnredirect [export_vars -base "search" -url {search_id object_type all_or_any}]
+ set export_list [list search_id]
+ if { ![contact::search::exists_p -search_id $search_id] } {
+ lappend export_list object_type all_or_any
+ }
+ ad_returnredirect [export_vars -base "search" -url [list $export_list]]
ad_script_abort
}
}