From 72a0975fd2cd85ec791866e4fdbdb3ba4c432937 Mon Sep 17 00:00:00 2001 From: pichetp Date: Thu, 4 Dec 2008 16:32:16 +0000 Subject: [PATCH] MDL-17524 Merging from HEAD Deleting a calculated question delete datasetdefinitions shared by other question --- question/type/calculated/questiontype.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/question/type/calculated/questiontype.php b/question/type/calculated/questiontype.php index ee567e58634..529ad620dba 100644 --- a/question/type/calculated/questiontype.php +++ b/question/type/calculated/questiontype.php @@ -344,8 +344,13 @@ class question_calculated_qtype extends question_dataset_dependent_questiontype delete_records("question_numerical_units", "question", $questionid); if ($datasets = get_records('question_datasets', 'question', $questionid)) { foreach ($datasets as $dataset) { - delete_records('question_dataset_definitions', 'id', $dataset->datasetdefinition); - delete_records('question_dataset_items', 'definition', $dataset->datasetdefinition); + if (! get_records_select( + 'question_datasets', + "question != $questionid + AND datasetdefinition = $dataset->datasetdefinition;")){ + delete_records('question_dataset_definitions', 'id', $dataset->datasetdefinition); + delete_records('question_dataset_items', 'definition', $dataset->datasetdefinition); + } } } delete_records("question_datasets", "question", $questionid);