Commit 1651cf34 authored by Dries's avatar Dries

- Patch #841798 by klausi: error deleting an invalid term.

parent 153ef8bd
......@@ -570,18 +570,18 @@ function taxonomy_term_delete($tid) {
}
}
$term = taxonomy_term_load($tid);
db_delete('taxonomy_term_data')
->condition('tid', $tid)
->execute();
db_delete('taxonomy_term_hierarchy')
->condition('tid', $tid)
->execute();
field_attach_delete('taxonomy_term', $term);
module_invoke_all('taxonomy_term_delete', $term);
taxonomy_terms_static_reset();
if ($term = taxonomy_term_load($tid)) {
db_delete('taxonomy_term_data')
->condition('tid', $tid)
->execute();
db_delete('taxonomy_term_hierarchy')
->condition('tid', $tid)
->execute();
field_attach_delete('taxonomy_term', $term);
module_invoke_all('taxonomy_term_delete', $term);
taxonomy_terms_static_reset();
}
}
$tids = $orphans;
......
......@@ -337,6 +337,18 @@ class TaxonomyTermUnitTest extends TaxonomyWebTestCase {
'group' => 'Taxonomy',
);
}
function testTermDelete() {
$vocabulary = $this->createVocabulary();
$valid_term = $this->createTerm($vocabulary);
// Delete a valid term.
taxonomy_term_delete($valid_term->tid);
$terms = taxonomy_term_load_multiple(array(), array('vid' => $vocabulary->vid));
$this->assertTrue(empty($terms), 'Vocabulary is empty after deletion');
// Delete an invalid term. Should not throw any notices.
taxonomy_term_delete(42);
}
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment