Index: openacs-4/packages/acs-admin/www/users/merge-final.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/merge-final.tcl,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-admin/www/users/merge-final.tcl 24 May 2005 02:54:59 -0000 1.1.2.1 +++ openacs-4/packages/acs-admin/www/users/merge-final.tcl 8 Jun 2005 11:11:49 -0000 1.1.2.2 @@ -15,9 +15,16 @@ set from_authority_id [db_string gettoa "select authority_id from cc_users where user_id = :from_user_id"] set to_authority_id [db_string getfroma "select authority_id from cc_users where user_id = :to_user_id"] if { ![string equal $from_authority_id $to_authority_id] } { - ad_complain "Merge only works for users from the same authority" + ad_complain "Merge only works for users of the same authority" } } + if_the_logged_in_user_is_crazy { + # Just for security reasons... + set current_user_id [ad_conn user_id] + if { [string equal $current_user_id $to_user_id] || [string equal $current_user_id $from_user_id] } { + ad_complain "You can't merge yourself" + } + } } set context [list [list "./" "Merge"] "Merge"] Index: openacs-4/packages/acs-admin/www/users/merge-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/Attic/merge-oracle.xql,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-admin/www/users/merge-oracle.xql 24 May 2005 02:54:59 -0000 1.1.2.1 +++ openacs-4/packages/acs-admin/www/users/merge-oracle.xql 8 Jun 2005 11:11:49 -0000 1.1.2.2 @@ -1,41 +1,40 @@ - oracle8.1.6 - - - select dotlrn_communities.*, - dotlrn_community.url(dotlrn_communities.community_id) as url, - dotlrn_member_rels_approved.rel_type, - dotlrn_member_rels_approved.role, - '' as role_pretty_name - from dotlrn_communities, - dotlrn_member_rels_approved - where dotlrn_member_rels_approved.user_id = :user_id - and dotlrn_member_rels_approved.community_id = dotlrn_communities.community_id - and dotlrn_communities.community_type = 'dotlrn_community' - order by dotlrn_communities.pretty_name, - dotlrn_communities.community_key - + + + + select + a.object_id, + at.pretty_name, + at.pretty_plural, + to_char(a.creation_date, 'YYYY-MM-DD HH24:MI:SS') as creation_date, + acs_object.name(a.object_id) as object_name + from acs_objects a, acs_object_types at + where a.object_type = at.object_type + and a.creation_user = :user_id + order by pretty_name, + creation_date desc, + object_name + - - - select dotlrn_communities.*, - dotlrn_community.url(dotlrn_communities.community_id) as url, - dotlrn_member_rels_approved.rel_type, - dotlrn_member_rels_approved.role, - '' as role_pretty_name - from dotlrn_communities, - dotlrn_member_rels_approved - where dotlrn_member_rels_approved.user_id = :user_id_from_search - and dotlrn_member_rels_approved.community_id = dotlrn_communities.community_id - and dotlrn_communities.community_type = 'dotlrn_community' - order by dotlrn_communities.pretty_name, - dotlrn_communities.community_key - + + + select + a.object_id, + at.pretty_name, + at.pretty_plural, + to_char(a.creation_date, 'YYYY-MM-DD HH24:MI:SS') as creation_date, + acs_object.name(a.object_id) as object_name + from acs_objects a, acs_object_types at + where a.object_type = at.object_type + and a.creation_user = :user_id_from_search + order by pretty_name, + creation_date desc, + object_name + - \ No newline at end of file Index: openacs-4/packages/acs-admin/www/users/merge-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/Attic/merge-postgresql.xql,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-admin/www/users/merge-postgresql.xql 24 May 2005 02:54:59 -0000 1.1.2.1 +++ openacs-4/packages/acs-admin/www/users/merge-postgresql.xql 8 Jun 2005 11:11:49 -0000 1.1.2.2 @@ -1,41 +1,39 @@ - postgresql7.4 - - - select dotlrn_communities.*, - dotlrn_community__url(dotlrn_communities.community_id) as url, - dotlrn_member_rels_approved.rel_type, - dotlrn_member_rels_approved.role, - '' as role_pretty_name - from dotlrn_communities, - dotlrn_member_rels_approved - where dotlrn_member_rels_approved.user_id = :user_id - and dotlrn_member_rels_approved.community_id = dotlrn_communities.community_id - and dotlrn_communities.community_type = 'dotlrn_community' - order by dotlrn_communities.pretty_name, - dotlrn_communities.community_key - + + + select + a.object_id, + at.pretty_name, + at.pretty_plural, + to_char(a.creation_date, 'YYYY-MM-DD HH24:MI:SS') as creation_date, + acs_object__name(a.object_id) as object_name + from acs_objects a, acs_object_types at + where a.object_type = at.object_type + and a.creation_user = :user_id + order by pretty_name, + creation_date desc, + object_name + - - - select dotlrn_communities.*, - dotlrn_community__url(dotlrn_communities.community_id) as url, - dotlrn_member_rels_approved.rel_type, - dotlrn_member_rels_approved.role, - '' as role_pretty_name - from dotlrn_communities, - dotlrn_member_rels_approved - where dotlrn_member_rels_approved.user_id = :user_id_from_search - and dotlrn_member_rels_approved.community_id = dotlrn_communities.community_id - and dotlrn_communities.community_type = 'dotlrn_community' - order by dotlrn_communities.pretty_name, - dotlrn_communities.community_key - + + + select + a.object_id, + at.pretty_name, + at.pretty_plural, + to_char(a.creation_date, 'YYYY-MM-DD HH24:MI:SS') as creation_date, + acs_object__name(a.object_id) as object_name + from acs_objects a, acs_object_types at + where a.object_type = at.object_type + and a.creation_user = :user_id_from_search + order by pretty_name, + creation_date desc, + object_name + - \ No newline at end of file Index: openacs-4/packages/acs-admin/www/users/merge.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/merge.adp,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-admin/www/users/merge.adp 24 May 2005 02:54:59 -0000 1.1.2.1 +++ openacs-4/packages/acs-admin/www/users/merge.adp 8 Jun 2005 11:11:49 -0000 1.1.2.2 @@ -1,16 +1,16 @@ - Merge account system + Merge account system @context;noquote@ - --> - +

User Account Merge

- This is the user acccount merge quick wizard. You selected these accounts to merge: + This is the user acccount merge wizard. You selected these accounts to merge:

- +
- -
+ @@ -191,215 +104,128 @@
@@ -20,7 +20,7 @@
ACCOUNT ONE

- Portrait of @user_id@ + Portrait of @user_id@

General Information of user one (@one_email@):

    @@ -40,52 +40,42 @@ Username: @one_username@ -
  • User id: @user_id@
  • -
  • URL: @one_url@
  • -
  • Registration date: @one_creation_date@
  • -
  • Registration IP: @one_creation_ip@
  • -
  • Registration user: @one_creation_user@
  • -
  • Last modified date: @one_last_modified@
  • -
  • Modifying IP: @one_modifying_ip@
  • -
  • Modifying user: @one_modifying_user@
  • -
  • Last visit: @one_last_visit@
  • -
  • Member state: @one_member_state@ @@ -94,94 +84,17 @@
    (more information)
    - -
    -
    - - - -

    @one_user_contributions.pretty_plural@

    - - -
    -

    -

    -

    .LRN Information:

    -
    - -
      -
    • - User type: - <%= [lang::util::localize @one_pretty_type@] %> -
    • -
    • - Access Level - Full - Limited -
    • -
    • - Guest? - Yes - No -
    • -
    • - ID - none - @one_id@ -
    • -
      -
    - -
    -

    Classes:

    - -
    -
    - - -
    -

    Communities:

    - -
    -
    - - -
    -

    Sugroups:

    - -
    -
    -
    - - No information was found - +
    +
    + +

    @one_user_contributions.pretty_plural@

    + +
    + @user_id_one_items_html@
- - - -
-
+ +
+ + + + - - - - - - - -
- Wich is the good account? + Which is the good account?

- - left one + + left one

-
-
- - right one -
-
- - -
- -
- -
-
- - - + +
- + + + + + + +
- ACCOUNT TWO

- Portrait of @user_id_from_search@ + + right one +

+
+ + +
+ +
+
+ +
+ + +
+ + +
+
+ ACCOUNT TWO +

+ Portrait of @user_id_from_search@

General Information of user two (@two_email@):

  • Name: @two_first_names@ @two_last_name@
  • -
  • Email: @two_email@
  • -
  • Scren name: @two_screen_name@
  • -
  • Username: @two_username@
  • -
  • User id: @user_id_from_search@
  • -
  • URL: @two_url@
  • -
  • Registration date: @two_creation_date@
  • -
  • Registration IP: @two_creation_ip@
  • -
  • Registration user: @two_creation_user@
  • -
  • Last modified date: @two_last_modified@
  • -
  • Modifying IP: @two_modifying_ip@
  • -
  • Modifying user: @two_modifying_user@
  • -
  • Last visit: @two_last_visit@
  • -
  • Member state: @two_member_state@
- -
- (more information) -
- -
-
- - -

@two_user_contributions.pretty_plural@

- - -
-

-

-

.LRN Information:

-
- -
    -
  • - User type: - <%= [lang::util::localize @two_pretty_type@] %> -
  • -
  • - Access Level - Full - Limited -
  • -
  • - Guest? - Yes - No -
  • -
  • - ID - none - @two_id@ -
  • -
    -
- -
-

Classes:

- -
-
- - -
-

Communities:

- -
-
- - -
-

Sugroups:

- -
-
-
- - No information was found - -
-
+
+ (more information) +
+
+
+ +

@two_user_contributions.pretty_plural@

+ +
+ @user_id_one_items_html@ +
+
Index: openacs-4/packages/acs-admin/www/users/merge.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/merge.tcl,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-admin/www/users/merge.tcl 24 May 2005 02:54:59 -0000 1.1.2.1 +++ openacs-4/packages/acs-admin/www/users/merge.tcl 8 Jun 2005 11:11:49 -0000 1.1.2.2 @@ -11,81 +11,67 @@ context:onevalue first_names:onevalue last_name:onevalue +} -validate { + if_the_logged_in_user_is_crazy { + # Just for security reasons... + set current_user_id [ad_conn user_id] + if { [string equal $current_user_id $user_id] || [string equal $current_user_id $user_id_from_search] } { + ad_complain "You can't merge yourself" + } + } } -set current_user_id [ad_conn user_id] -set return_url [ad_conn url] set context [list [list "./" "Merge"] "Merge"] -# information of user_id one +# +# Information of user_id_one +# if { [db_0or1row one_user_portrait { *SQL* }] } { set one_img_src "[subsite::get_element -element url]shared/portrait-bits.tcl?user_id=$user_id" } else { set one_img_src "/resources/acs-admin/not_available.gif" } - db_1row one_get_info { *SQL* } db_multirow -extend {one_item_object_url} one_user_contributions one_user_contributions { *SQL* } { - set one_item_object_url "/" + set one_item_object_url "[site_node::get_url_from_object_id $object_id]" } - -if {[db_0or1row one_select_dotlrn_user_info { *SQL* }]} { - set one_dotlrn_user_p 1 +set user_id_one_items [callback MergeShowUserInfo -user_id $user_id ] +if { ![empty_string_p $user_id_one_items] } { + set user_id_one_items_html "
  • User Items
      " + foreach item $user_id_one_items { + append user_one_items_html "
    • $item
    • " + } + append user_id_one_items_html "
" } else { - set one_dotlrn_user_p 0 + set user_id_one_items_html "" } -set one_can_browse_p [dotlrn::user_can_browse_p -user_id $user_id] -db_multirow one_member_classes one_select_member_classes { *SQL* } { - set role_pretty_name [dotlrn_community::get_role_pretty_name -community_id $class_instance_id -rel_type $rel_type] -} -db_multirow one_member_clubs one_select_member_clubs { *SQL* } { - set role_pretty_name [dotlrn_community::get_role_pretty_name -community_id $club_id -rel_type $rel_type] +# +# Information of user_id_two +# +if { [db_0or1row two_user_portrait { *SQL* }] } { + set two_img_src "[subsite::get_element -element url]shared/portrait-bits.tcl?user_id=$user_id_from_search" +} else { + set two_img_src "/resources/acs-admin/not_available.gif" } -db_multirow one_member_subgroups one_select_member_subgroups { *SQL* } { - set role_pretty_name [dotlrn_community::get_role_pretty_name -community_id $community_id -rel_type $rel_type] -} - -# information of user_id two db_1row two_get_info { *SQL* } db_multirow -extend {two_item_object_url} two_user_contributions two_user_contributions { *SQL* } { - set two_item_object_url "/" + set two_item_object_url "[site_node::get_url_from_object_id $object_id]" } - - -if { [db_0or1row two_user_portrait { *SQL* }] } { - set two_img_src "[subsite::get_element -element url]shared/portrait-bits.tcl?user_id=$user_id_from_search" +set user_id_two_items [callback MergeShowUserInfo -user_id $user_id_from_search ] +if { ![empty_string_p $user_id_two_items] } { + set user_id_two_items_html "
  • User Items
      " + foreach item $user_id_two_items { + append user_two_items_html "
    • $item
    • " + } + append user_id_two_items_html "
" } else { - set two_img_src "/resources/acs-admin/not_available.gif" + set user_id_two_items_html "" } -if {[db_0or1row two_select_dotlrn_user_info { *SQL* }]} { - set two_dotlrn_user_p 1 -} else { - set two_dotlrn_user_p 0 -} - -set two_can_browse_p [dotlrn::user_can_browse_p -user_id $user_id] - - -db_multirow two_member_classes two_select_member_classes { *SQL* } { - set role_pretty_name [dotlrn_community::get_role_pretty_name -community_id $class_instance_id -rel_type $rel_type] -} - -db_multirow two_member_clubs two_select_member_clubs { *SQL* } { - set role_pretty_name [dotlrn_community::get_role_pretty_name -community_id $club_id -rel_type $rel_type] -} -db_multirow two_member_subgroups two_select_member_subgroups { *SQL* } { - set role_pretty_name [dotlrn_community::get_role_pretty_name -community_id $community_id -rel_type $rel_type] -} - - - - - Index: openacs-4/packages/acs-admin/www/users/merge.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/merge.xql,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-admin/www/users/merge.xql 24 May 2005 02:54:59 -0000 1.1.2.1 +++ openacs-4/packages/acs-admin/www/users/merge.xql 8 Jun 2005 11:11:49 -0000 1.1.2.2 @@ -1,127 +1,53 @@ - - - select dotlrn_clubs_full.*, - dotlrn_member_rels_approved.rel_type, - dotlrn_member_rels_approved.role, - '' as role_pretty_name - from dotlrn_clubs_full, - dotlrn_member_rels_approved - where dotlrn_member_rels_approved.user_id = :user_id - and dotlrn_member_rels_approved.community_id = dotlrn_clubs_full.club_id - order by dotlrn_clubs_full.pretty_name, - dotlrn_clubs_full.community_key - - - - + - select - dotlrn_users.id as two_id, - dotlrn_users.pretty_type as two_pretty_type, - guest_p as two_guest_p - from dotlrn_users left outer join dotlrn_guest_status - on dotlrn_guest_status.user_id = dotlrn_users.user_id - where dotlrn_users.user_id = :user_id_from_search - - - - - select dotlrn_class_instances_full.*, - dotlrn_member_rels_approved.rel_type, - dotlrn_member_rels_approved.role, - '' as role_pretty_name - from dotlrn_class_instances_full, - dotlrn_member_rels_approved - where dotlrn_member_rels_approved.user_id = :user_id_from_search - and dotlrn_member_rels_approved.community_id = dotlrn_class_instances_full.class_instance_id - order by dotlrn_class_instances_full.department_name, - dotlrn_class_instances_full.department_key, - dotlrn_class_instances_full.pretty_name, - dotlrn_class_instances_full.community_key - - - - - - select dotlrn_clubs_full.*, - dotlrn_member_rels_approved.rel_type, - dotlrn_member_rels_approved.role, - '' as role_pretty_name - from dotlrn_clubs_full, - dotlrn_member_rels_approved - where dotlrn_member_rels_approved.user_id = :user_id_from_search - and dotlrn_member_rels_approved.community_id = dotlrn_clubs_full.club_id - order by dotlrn_clubs_full.pretty_name, - dotlrn_clubs_full.community_key - - - - - select - dotlrn_users.id as one_id, - dotlrn_users.pretty_type as one_pretty_type, - guest_p as one_guest_p - from dotlrn_users left outer join dotlrn_guest_status - on dotlrn_guest_status.user_id = dotlrn_users.user_id - where dotlrn_users.user_id = :user_id - - + c.item_id + from acs_rels a, cr_items c + where a.object_id_two = c.item_id + and a.object_id_one = :user_id + and a.rel_type = 'user_portrait_rel' - - - select dotlrn_class_instances_full.*, - dotlrn_member_rels_approved.rel_type, - dotlrn_member_rels_approved.role, - '' as role_pretty_name - from dotlrn_class_instances_full, - dotlrn_member_rels_approved - where dotlrn_member_rels_approved.user_id = :user_id - and dotlrn_member_rels_approved.community_id = dotlrn_class_instances_full.class_instance_id - order by dotlrn_class_instances_full.department_name, - dotlrn_class_instances_full.department_key, - dotlrn_class_instances_full.pretty_name, - dotlrn_class_instances_full.community_key select - first_names as one_first_names, - last_name as one_last_name, - creation_user as one_creation_user, - to_char(creation_date,'month DD, yyyy') as one_creation_date, - creation_ip as one_creation_ip, - to_char(last_modified,'month DD, yyyy') as one_last_modified, - email as one_email, - url as one_url, - modifying_user as one_modifying_user, - modifying_ip as one_modifying_ip, - username as one_username, - screen_name as one_screen_name, - to_char(last_visit,'month DD, yyyy') as one_last_visit, - member_state as one_member_state + first_names as one_first_names, + last_name as one_last_name, + creation_user as one_creation_user, + to_char(creation_date,'month DD, yyyy') as one_creation_date, + creation_ip as one_creation_ip, + to_char(last_modified,'month DD, yyyy') as one_last_modified, + email as one_email, + url as one_url, + modifying_user as one_modifying_user, + modifying_ip as one_modifying_ip, + username as one_username, + screen_name as one_screen_name, + to_char(last_visit,'month DD, yyyy') as one_last_visit, + member_state as one_member_state from cc_users where user_id = :user_id - - + + - select c.item_id + select + c.item_id from acs_rels a, cr_items c where a.object_id_two = c.item_id - and a.object_id_one = :user_id - and a.rel_type = 'user_portrait_rel' + and a.object_id_one = :user_id_from_search + and a.rel_type = 'user_portrait_rel' - + @@ -145,39 +71,5 @@ - - - - select c.item_id - from acs_rels a, cr_items c - where a.object_id_two = c.item_id - and a.object_id_one = :user_id_from_search - and a.rel_type = 'user_portrait_rel' - - - - - - - select at.pretty_name, at.pretty_plural, to_char(a.creation_date, 'YYYY-MM-DD HH24:MI:SS') as creation_date, - acs_object__name(a.object_id) as object_name - from acs_objects a, acs_object_types at - where a.object_type = at.object_type - and a.creation_user = :user_id - order by pretty_name, creation_date desc, object_name - - - - - - select at.pretty_name, at.pretty_plural, to_char(a.creation_date, 'YYYY-MM-DD HH24:MI:SS') as creation_date, - acs_object__name(a.object_id) as object_name - from acs_objects a, acs_object_types at - where a.object_type = at.object_type - and a.creation_user = :user_id_from_search - order by pretty_name, creation_date desc, object_name - - - Index: openacs-4/packages/acs-authentication/tcl/apm-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-authentication/tcl/apm-callback-procs.tcl,v diff -u -r1.15 -r1.15.2.1 --- openacs-4/packages/acs-authentication/tcl/apm-callback-procs.tcl 27 Feb 2005 22:45:39 -0000 1.15 +++ openacs-4/packages/acs-authentication/tcl/apm-callback-procs.tcl 8 Jun 2005 11:11:49 -0000 1.15.2.1 @@ -138,6 +138,33 @@ } } + 5.1.5 5.2.0a1 { + db_transaction { + + # I will add support to MergeUser operation + # this is a direct update to the SC tables, + # we should expect a new API for handling updates on SC, + # but since there's no one yet, we'll do it + # in this way. (quio@galileo.edu) + ns_log notice "acs_authentication: Starting Upgrade (adding merge support)" + acs_sc::contract::operation::new \ + -contract_name "auth_authentication" \ + -operation "MergeUser" \ + -input { from_user_id:integer to_user_id:integer authority_id:integer } \ + -output {} \ + -description "Merges two accounts given the user_id of each one" + + acs_sc::impl::alias::new \ + -contract_name "auth_authentication" \ + -impl_name "local" \ + -operation "MergeUser" \ + -alias "auth::local::authentication::MergeUser" \ + + ns_log notice "acs_authentication: Finishing Upgrade (adding merge support)" + + } + } + } } @@ -177,6 +204,17 @@ account_message:string } } + MergeUser { + description { + Merges two accounts given the user_id of each one + } + input { + from_user_id:integer + to_user_id:integer + authority_id:integer + } + output {} + } GetParameters { description { Get an arraay-list of the parameters required by this service contract implementation. Index: openacs-4/packages/acs-authentication/tcl/local-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-authentication/tcl/local-procs.tcl,v diff -u -r1.29 -r1.29.2.1 --- openacs-4/packages/acs-authentication/tcl/local-procs.tcl 13 Jan 2005 13:54:42 -0000 1.29 +++ openacs-4/packages/acs-authentication/tcl/local-procs.tcl 8 Jun 2005 11:11:49 -0000 1.29.2.1 @@ -83,6 +83,7 @@ name "local" pretty_name "Local" aliases { + MergeUser auth::local::authentication::MergeUser Authenticate auth::local::authentication::Authenticate GetParameters auth::local::authentication::GetParameters } @@ -97,7 +98,59 @@ acs_sc::impl::delete -contract_name "auth_authentication" -impl_name "local" } +ad_proc -private auth::local::authentication::MergeUser { + from_user_id + to_user_id + {authority_id ""} +} { + Merge Implementation of local authentication. This will + merge the names, emails, usernames, permissions, etc + of the two users to merge. +} { + ns_log Notice "Starting auth::local::authentication::MergeUser" + db_transaction { + ns_log Notice " Merging user portraits" + if { ![db_0or1row to_user_portrait {*SQL*}] && [db_0or1row from_user_portrait {*SQL*}] } { + db_dml upd_portrait {*SQL*} + } + + # get the permissions of the from_user_id + # and grant them to the to_user_id + db_foreach getfromobjs {*SQL*} { + # revoke the permissions of from_user_id + permission::revoke -object_id $from_oid -party_id $from_user_id -privilege $from_priv + if { ![db_string touserhas {*SQL*} ] } { + # grant the permissions to to_user_id + permission::grant -object_id $from_oid -party_id $to_user_id -privilege $from_priv + } + } + + ns_log notice " Merging acs_objects" + db_dml acs_objs_upd {*SQL*} + + ns_log notice " Merging username, email and basic info in general" + + set new_username "merged_$from_user_id" + append new_username "_$to_user_id" + + # Shall we keep the domain for email? + # Actually, the username 'merged_xxx_yyy' + # won't be an email, so we will keep it without + # domain + set new_email $new_username + + set rel_id [db_string getrelid { *SQL* }] + membership_rel::change_state -rel_id $rel_id -state "merged" + + acs_user::update -user_id $from_user_id -username "$new_username" -screen_name "$new_username" + party::update -party_id $from_user_id -email "$new_email" + + } + ns_log notice "Finishing auth::local::authentication::MergeUser" +} + + ad_proc -private auth::local::authentication::Authenticate { username password Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-authentication/tcl/local-procs.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-kernel/sql/oracle/upgrade/upgrade-5.1.5-5.2.0a1.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.1.5-5.2.0a1.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/acs-tcl/tcl/membership-rel-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/Attic/membership-rel-procs-oracle.xql,v diff -u -r1.4 -r1.4.8.1 --- openacs-4/packages/acs-tcl/tcl/membership-rel-procs-oracle.xql 8 Oct 2003 10:08:24 -0000 1.4 +++ openacs-4/packages/acs-tcl/tcl/membership-rel-procs-oracle.xql 8 Jun 2005 11:11:48 -0000 1.4.8.1 @@ -33,4 +33,10 @@ + + + begin membership_rel.merge(rel_id => :rel_id); end; + + + Index: openacs-4/packages/acs-tcl/tcl/membership-rel-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/Attic/membership-rel-procs-postgresql.xql,v diff -u -r1.2 -r1.2.12.1 --- openacs-4/packages/acs-tcl/tcl/membership-rel-procs-postgresql.xql 4 Jul 2002 13:43:52 -0000 1.2 +++ openacs-4/packages/acs-tcl/tcl/membership-rel-procs-postgresql.xql 8 Jun 2005 11:11:48 -0000 1.2.12.1 @@ -33,4 +33,10 @@ + + + begin return membership_rel__merge(:rel_id); end; + + + Index: openacs-4/packages/acs-tcl/tcl/membership-rel-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/membership-rel-procs.tcl,v diff -u -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-tcl/tcl/membership-rel-procs.tcl 20 Apr 2004 21:13:04 -0000 1.6 +++ openacs-4/packages/acs-tcl/tcl/membership-rel-procs.tcl 8 Jun 2005 11:11:48 -0000 1.6.2.1 @@ -46,6 +46,7 @@ -user_id $rel_user_id } "needs approval" { db_exec_plsql unapprove {} } + "merged" { db_exec_plsql merge {} } } # Record who changed the state