From be65b89d862f52021d6e9c9b20fea18aad204e81 Mon Sep 17 00:00:00 2001 From: Quitta Date: Tue, 16 Jul 2013 17:43:55 +0200 Subject: [PATCH] Deletion of support_groups is possible, on delete cascade is pretty cool :D --HG-- branch : quitta-gsoc-2013 --- .../ams_lib/autoload/support_group.php | 29 +++++++++++++++--- .../ryzom_ams/www/html/inc/sgroup_list.php | 7 +++++ .../ryzom_ams/www/html/inc/show_sgroup.php | 3 +- .../server/ryzom_ams/www/html/sql/install.php | 2 +- .../ryzom_ams/www/html/sql/ticketsql.sql | 2 +- .../www/html/sql/ticketsystemmodel.mwb | Bin 14473 -> 14516 bytes .../www/html/templates/sgroup_list.tpl | 2 +- 7 files changed, 37 insertions(+), 8 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/ams_lib/autoload/support_group.php b/code/ryzom/tools/server/ryzom_ams/ams_lib/autoload/support_group.php index 6c3350bcb..ab0f29c75 100644 --- a/code/ryzom/tools/server/ryzom_ams/ams_lib/autoload/support_group.php +++ b/code/ryzom/tools/server/ryzom_ams/ams_lib/autoload/support_group.php @@ -105,7 +105,20 @@ class Support_Group{ return $result; } - + //wrapper for adding user to a support group + public static function deleteSupportGroup($group_id) { + + //check if group id exists + if (self::supportGroup_Exists($group_id)){ + $sGroup = new self(); + $sGroup->setSGroupId($group_id); + $sGroup->delete(); + }else{ + //return that group doesn't exist + return "GROUP_NOT_EXISTING"; + } + + } //wrapper for adding user to a support group public static function deleteUserOfSupportGroup( $user_id, $group_id) { @@ -184,7 +197,7 @@ class Support_Group{ //Load with sGroupId public function load_With_SGroupId( $id) { $dbl = new DBLayer("lib"); - $statement = $dbl->execute("SELECT * FROM ticket_log WHERE TLogId=:id", array('id' => $id)); + $statement = $dbl->execute("SELECT * FROM `support_group` WHERE `SGroupId` = :id", array('id' => $id)); $row = $statement->fetch(); $this->set($row); } @@ -193,11 +206,19 @@ class Support_Group{ //update private data to DB. public function update(){ $dbl = new DBLayer("lib"); - $query = "UPDATE ticket_log SET Timestamp = :timestamp, Query = :query, Author = :author, Ticket = :ticket WHERE TLogId=:id"; - $values = Array('id' => $this->getTLogId(), 'timestamp' => $this->getTimestamp(), 'query' => $this->getQuery(), 'author' => $this->getAuthor(), 'ticket' => $this->getTicket() ); + $query = "UPDATE `support_group` SET `Name` = :name, `Tag` = :tag WHERE `SGroupId` = :id"; + $values = Array('id' => $this->getSGroupId(), 'name' => $this->getName(), 'tag' => $this->getTag() ); $statement = $dbl->execute($query, $values); } + //delete entry + public function delete(){ + $dbl = new DBLayer("lib"); + $query = "DELETE FROM `support_group` WHERE `SGroupId` = :id"; + $values = Array('id' => $this->getSGroupId()); + $statement = $dbl->execute($query, $values); + } + ////////////////////////////////////////////Getters//////////////////////////////////////////////////// public function getSGroupId(){ diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/inc/sgroup_list.php b/code/ryzom/tools/server/ryzom_ams/www/html/inc/sgroup_list.php index 061fa3daf..236d62b7c 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/inc/sgroup_list.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/inc/sgroup_list.php @@ -4,6 +4,13 @@ function sgroup_list(){ //if logged in if(WebUsers::isLoggedIn()){ if( WebUsers::isAdmin()){ + + if(isset($_GET['delete'])){ + $delete_id = filter_var($_GET['delete'], FILTER_SANITIZE_NUMBER_INT); + $result['delete'] = Support_Group::deleteSupportGroup( $delete_id); + header("Location: index.php?page=sgroup_list"); + exit; + } $result['grouplist'] = Gui_Elements::make_table(Support_Group::getGroups(), Array("getSGroupId","getName","getTag"), Array("sGroupId","name","tag")); return $result; }else{ diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/inc/show_sgroup.php b/code/ryzom/tools/server/ryzom_ams/www/html/inc/show_sgroup.php index 5b4767e4b..6b414cbb3 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/inc/show_sgroup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/inc/show_sgroup.php @@ -6,12 +6,13 @@ function show_sgroup(){ if( WebUsers::isAdmin()){ if( isset($_GET['id'])){ + //['target_id'] holds the id of the group! $result['target_id'] = filter_var($_GET['id'], FILTER_SANITIZE_NUMBER_INT); if(isset($_GET['delete'])){ $delete_id = filter_var($_GET['delete'], FILTER_SANITIZE_NUMBER_INT); $result['delete'] = Support_Group::deleteUserOfSupportGroup( $delete_id, $result['target_id'] ); - header("Location: index.php?page=show_sgroup&id=1"); + header("Location: index.php?page=show_sgroup&id=" . $result['target_id']); exit; } diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/sql/install.php b/code/ryzom/tools/server/ryzom_ams/www/html/sql/install.php index 6f4f3004c..c8cf05b69 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/sql/install.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/sql/install.php @@ -307,7 +307,7 @@ CONSTRAINT `fk_in_support_group_support_group1` FOREIGN KEY (`Group` ) REFERENCES `" . $cfg['db']['lib']['name'] ."`.`support_group` (`SGroupId` ) - ON DELETE NO ACTION + ON DELETE CASCADE ON UPDATE NO ACTION) ENGINE = InnoDB; diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/sql/ticketsql.sql b/code/ryzom/tools/server/ryzom_ams/www/html/sql/ticketsql.sql index 786e8e873..137a823c3 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/sql/ticketsql.sql +++ b/code/ryzom/tools/server/ryzom_ams/www/html/sql/ticketsql.sql @@ -264,7 +264,7 @@ CREATE TABLE IF NOT EXISTS `mydb`.`in_support_group` ( CONSTRAINT `fk_in_support_group_support_group1` FOREIGN KEY (`Group` ) REFERENCES `mydb`.`support_group` (`SGroupId` ) - ON DELETE NO ACTION + ON DELETE CASCADE ON UPDATE NO ACTION) ENGINE = InnoDB; diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/sql/ticketsystemmodel.mwb b/code/ryzom/tools/server/ryzom_ams/www/html/sql/ticketsystemmodel.mwb index 5a500c989dc011cd82913dd57014ea4859788de6..a605c7a192814647c0b8f2eed3a78db390c862cc 100644 GIT binary patch delta 14064 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

$C1^%V~|TEY@; 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 MSG|~O&P)4$0Hogi(*OVf delta 14009 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 diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/templates/sgroup_list.tpl b/code/ryzom/tools/server/ryzom_ams/www/html/templates/sgroup_list.tpl index 564d5890d..48ba87bfc 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/templates/sgroup_list.tpl +++ b/code/ryzom/tools/server/ryzom_ams/www/html/templates/sgroup_list.tpl @@ -28,7 +28,7 @@ {$group.sGroupId} {$group.name} {$group.tag} - Delete + Delete {/foreach}