[drupal-devel] [bug] possible bug in taxnomy_node_save
moshe weitzman
drupal-devel at drupal.org
Sun Mar 27 11:44:44 UTC 2005
Issue status update for http://drupal.org/node/19494
Project: Drupal
Version: cvs
Component: taxonomy.module
Category: bug reports
Priority: normal
Assigned to: Anonymous
Reported by: wiz
Updated by: moshe weitzman
Status: active
A patch for this issue is welcome. I think though that this fix is part
of the upcoming folksonomy changes by Morbus ... the fix proposed here
might have problems if the user wants to remove all terms on an
existing node. not sure.
If you have authored and tested a patch yourself, it is OK to set to
patch status. I just object to people moving the testing burden to the
CVS reviewers.
moshe weitzman
Previous comments:
------------------------------------------------------------------------
March 26, 2005 - 08:42 : wiz
Hi,
taxnomy_nodeapi calls taxonomy_node_save on insert and update. This
function, in turn, saves the taxonomy of the node. Unfortunately it
first deletes all terms for the current node, and then inserts them
again /if they have been loaded before/. taxonomy_nodeapi doesn't
respond to 'load'. Therefore, unless you've done something like
$node->taxonomy = taxonomy_node_get_terms($node) the terms are lost.
See: http://drupaldocs.org/api/head/function/taxonomy_node_save
Solution: move the call to taxonomy_node_delete($nid) inside the if
(is_array($terms)). When the terms haven't been loaded they won't be
saved either.
------------------------------------------------------------------------
March 26, 2005 - 08:43 : wiz
Attachment: http://drupal.org/files/issues/taxonomy-save.patch (471 bytes)
Oops, forgot the patch
------------------------------------------------------------------------
March 26, 2005 - 08:58 : Junyor
Don't forget to change the status to patch when you upload a patch. :)
------------------------------------------------------------------------
March 26, 2005 - 09:34 : wiz
All right, but moshe weitzman told me not to do this right away:
"please set issues to patch once they have been tested.
"
I assume that you have thoroughly tested the patch before changing
status ;)
------------------------------------------------------------------------
March 26, 2005 - 10:26 : Junyor
Fair enough. But then you should ask for people to test it. ;)
More information about the drupal-devel
mailing list