correct deletion of Questgroups

This commit is contained in:
oliver 2015-08-19 21:44:54 +02:00
parent 63a17ffc67
commit f947a7a4df
3 changed files with 9 additions and 14 deletions

View file

@ -729,7 +729,7 @@
{
// Parent Questgroup
if(is_null($questgroup['hierarchy']['parent_questgroup_id'])) {
$this->redirect($this->linker->link(array('simenaries', 'seminary', $seminary['url'])));
$this->redirect($this->linker->link(array('seminaries', 'seminary', $seminary['url'])));
}
else
{

View file

@ -968,7 +968,7 @@ CREATE TABLE `quests` (
KEY `questgroup_id` (`questgroup_id`),
CONSTRAINT `quests_ibfk_1` FOREIGN KEY (`created_user_id`) REFERENCES `users` (`id`),
CONSTRAINT `quests_ibfk_2` FOREIGN KEY (`questtype_id`) REFERENCES `questtypes` (`id`),
CONSTRAINT `quests_ibfk_4` FOREIGN KEY (`questgroup_id`) REFERENCES `questgroups` (`id`),
CONSTRAINT `quests_ibfk_4` FOREIGN KEY (`questgroup_id`) REFERENCES `questgroups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `quests_ibfk_5` FOREIGN KEY (`questsmedia_id`) REFERENCES `questsmedia` (`media_id`) ON DELETE SET NULL ON UPDATE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

View file

@ -741,11 +741,11 @@
*/
public function deleteQuestgroup($questgroupId)
{
$this->db->query(
'DELETE FROM questgroups WHERE id = ?',
'i',
$questgroupId
);
// Delete Questgroup texts
$this->Questgrouptexts->deleteQuestgrouptexts($questgroupId);
// Delete Questgroup
$this->db->query('DELETE FROM questgroups WHERE id = ?', 'i', $questgroupId);
}
@ -760,13 +760,8 @@
$questgroups = $this->getQuestgroupsForSeminary($seminaryId);
// Delete each Questgroup
foreach($questgroups as &$questgroup)
{
// Delete Questgroup texts
$this->Questgrouptexts->deleteQuestgrouptexts($questgroup['id']);
// Delete Questgroup
$this->db->query('DELETE FROM questgroups WHERE id = ?', 'i', $questgroup['id']);
foreach($questgroups as &$questgroup) {
$this->deleteQuestgroup($questgroup['id']);
}
}