I noticed that when in a node queue a node first is deleted and then before saving also a node is moved in the queue (using dragging) the deleted node is not actually deleted but appears again in the list.
This also sometimes causes an error in the way that the queue says that the position is duplicated.

I narrowed this down to the fact that nodequeue adds an 'r' for removed nodes but that after moving an other node drupal code is used ro reorder all items in the list. That code does not keep in mind the 'r'.

The code that is called is

in the function Drupal.tableDrag.prototype.updateField in misc/tabledrag.js around line 777.

-            // If there are more items than possible values, assign the maximum value to the row.
-            if (values.length > 0) {
-              this.value = values.shift();
-            }
-            else {
-              this.value = maxVal;
+            if (this.value !== 'r') {
+              // If there are more items than possible values, assign the maximum value to the row.
+              if (values.length > 0) {
+                this.value = values.shift();
+              }
+              else {
+                this.value = maxVal;
+              }

Those changes will fix it for me locally (but is more a proof of concept to what is the problem). However i hope this is something that can be fixed in this module.

Thanks,

Comments

  • fizk committed cf7fee9 on 7.x-2.x
    Issue #2414125: Repositioning nodes after removing a node prevents the...
fizk’s picture

Title: Move after delete causes deleted file not to be deleted. » Repositioning nodes after removing a node prevents the node from being removed
Status: Active » Fixed

Thanks! I've committed a fix that removes the "node-position" class so that position rearrangement will ignore this node.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.