diff --git a/htdocs/user.php b/htdocs/user.php index 2290576f..abdb8632 100644 --- a/htdocs/user.php +++ b/htdocs/user.php @@ -35,14 +35,14 @@ $c->page_title = $user->Get("user_no"). " - " . $user->Get("fullname"); } } - else { - /** - * Handle any actions, such as 'delete_relation' - */ - if ( $user->HandleAction($_GET['action']) ) { - $user = new RSCDSUser($user->user_no); - $user->EditMode = true; - } + } + else { + /** + * Handle any actions, such as 'delete_relation' + */ + if ( $user->HandleAction($_GET['action']) ) { + $user = new RSCDSUser($user->user_no); + $user->EditMode = true; } } } @@ -51,8 +51,8 @@ if ( $session->AllowedTo("Admin") ) $user_menu->AddOption("New User","/user.php?create","Add a new user", false, 10); if ( $user->user_no > 0 && $user->AllowedTo('update') ) { - $user_menu->AddOption("View","/user.php?user_no=$user->user_no","View this user record"); - $user_menu->AddOption("Edit","/user.php?edit=1&user_no=$user->user_no","Edit this user record"); + $user_menu->AddOption("View","/user.php?user_no=$user->user_no","View this user record", !$user->EditMode ); + $user_menu->AddOption("Edit","/user.php?edit=1&user_no=$user->user_no","Edit this user record", $user->EditMode ); } include("page-header.php"); diff --git a/inc/RSCDSUser.php b/inc/RSCDSUser.php index 79e175cc..15d20f70 100644 --- a/inc/RSCDSUser.php +++ b/inc/RSCDSUser.php @@ -91,7 +91,7 @@ class RSCDSUser extends User $browser->AddHidden( 'confers', 'Confers' ); $browser->AddColumn( 'email', 'EMail' ); if ( $ef->EditMode ) { // && $session->AllowedTo("MaintainRelationships") ) { - $browser->AddColumn( 'delete', 'Delete', 'centre', '', "'user_no&to_user=' || user_no || '\">Delete'" ); + $browser->AddColumn( 'delete', 'Delete', 'centre', '', "'user_no&action=delete_relationship&to_user=' || user_no || '\">Delete'" ); } $browser->SetJoins( 'relationship NATURAL JOIN relationship_type rt LEFT JOIN usr ON (to_user = user_no)' ); @@ -199,13 +199,16 @@ EOSQL; * Handle any unusual actions we might invent */ function HandleAction( $action ) { - global $session; + global $session, $c; + + dbg_error_log("User",":HandleAction: Action %s", $action ); switch( $action ) { - case 'delete_relation': + case 'delete_relationship': + dbg_error_log("User",":HandleAction: Deleting relationship from %d to %d", $this->user_no, $_GET['to_user'] ); if ( $this->AllowedTo("Admin") ) { - dbg_error_log("User",":HandleAction: Deleting relationship from %d to %d", $this->user_no, $_POST['to_user'] ); - $qry = new PgQuery("DELETE FROM relationship WHERE from_user=? AND to_user=?;", $this->user_no, $_POST['to_user'] ); + dbg_error_log("User",":HandleAction: Deleting relationship from %d to %d", $this->user_no, $_GET['to_user'] ); + $qry = new PgQuery("DELETE FROM relationship WHERE from_user=? AND to_user=?;", $this->user_no, $_GET['to_user'] ); if ( $qry->Exec() ) { $c->messages[] = "Relationship deleted"; }