My name is Dayra from panama.
I have installed OpenACS4.0 on Linux 7.2 and AOLServer 3.2 and
PostgreSQL 7.3.1
I cant change member state of one user (approved user to deleted user)
By example: i want to delete user "Min chen" where account user
is "mailto:amandach@hotmail.com"; i do the following:
In the section "Users" of OpenACS(http://my.domain.com:8000/acs-
admin/users/complex-search?target=one:8000/acs-admin/users/), i do
clic to the link: http://my.domain.com:8000/acs-admin/users/complex-
search?target=one:8000/acs-admin/users/complex-search?target=one(show
n_users field),
where appears the section "Complete User Search" and all users
created.
I do clic in link "Min Chen (mailto:amandach@hotmail.com)" and appears the
page browser http://my.domain.com:8000/acs-admin/users/one?
user_id=2567&user%5fid%5ffrom%5fsearch=2567&first%5fnames%5ffrom%
5fsearch=Min&last%5fname%5ffrom%5fsearch=Chen&email%5ffrom%
5fsearch=amandach%40hotmail%2ecom&target=one
Now, when i do clic in the link delete of "Member state: approved
(ban | delete | require email verification)
Administrative Actions
" of this user, OpenACS show the message "Done", where it said that
the user was deleted, but i return to the page:
http://my.domain.com:8000/acs-admin/users/index.tcl, OpenACS dont
change member state of approved to deleted, OpenACS show user how if
the account dont delete.
Now in the member-state-change.tcl file, i see that it called a
procedure called "acs_user::change_state -user_id $user_id -state
$member_state", where it supposed change the member state to user.
This is the section where acs_user::change_state -user_id $user_id -
state $member_state procedure is used.
if {[catch {
acs_user::change_state -user_id $user_id -state $member_state
switch $email_verified_p {
"t" {
db_exec_plsql approve_email "
begin acs_user_approve_email(user_id => :user_id); end;"
}
"f" {
db_exec_plsql unapprove_email "
begin acs_user_unapprove_email(user_id => :user_id); end;"
}
}
} errmsg]} {
ad_return_error "Database Update Failed" "Database update failed
with the following error:
<pre>$errmsg</pre>"
}
Inside the procedure acs_user::change_state -user_id $user_id -state
$member_state, it called one function called membership_rel.delete,
where below show it:
"deleted" {
db_exec_plsql member_delete {
begin membership_rel.delete(rel_id => :rel_id); end;
}
"
but in PostgreSQL Database, it same function is
called "membership_rel__delete". the membership_rel.delete procuedure
does not exist in my database (Postgresql 7.3.1)
How i do for that OpenACS can change member state user, if the
function call is not same.
Somebody Help me? Thanks for listen me.