Fix problem deleting relationship. Encourage sub-menu to be displayed.

This commit is contained in:
Andrew McMillan 2006-10-29 13:04:05 +13:00
parent 6999306e5e
commit d2e25b8172
2 changed files with 18 additions and 15 deletions

View File

@ -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");

View File

@ -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', '', "'<a class=\"\" href=\"/user.php?action=delete_relationsip&from_user=$this->user_no&to_user=' || user_no || '\">Delete</a>'" );
$browser->AddColumn( 'delete', 'Delete', 'centre', '', "'<a class=\"\" href=\"/user.php?edit=1&user_no=$this->user_no&action=delete_relationship&to_user=' || user_no || '\">Delete</a>'" );
}
$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";
}