From 4bbbae68c7b9d0414beb02f52424a3c81682c8b4 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Thu, 2 Jun 2022 15:21:57 +0200 Subject: [PATCH] Do not send `parent_id` is it's something else than a number When moving element on top, `new_parent.attr("id")` was `taxonomy_tree` which was causing DB error --- .../admin/spree/taxons/taxonomy.js.coffee | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/admin/spree/taxons/taxonomy.js.coffee b/app/assets/javascripts/admin/spree/taxons/taxonomy.js.coffee index 901fbdaf02..63931f58ae 100644 --- a/app/assets/javascripts/admin/spree/taxons/taxonomy.js.coffee +++ b/app/assets/javascripts/admin/spree/taxons/taxonomy.js.coffee @@ -9,12 +9,17 @@ handle_move = (e, data) -> new_parent = data.rslt.np url = new URL(base_url) - url.pathname = url.pathname + '/' + node.attr("id") + url.pathname = url.pathname + '/' + node.attr("id") + data = { + _method: "put", + "taxon[position]": position, + "taxon[parent_id]": if !isNaN(new_parent.attr("id")) then new_parent.attr("id") else undefined + } $.ajax type: "POST", dataType: "json", url: url.toString(), - data: ({_method: "put", "taxon[parent_id]": new_parent.attr("id"), "taxon[position]": position }), + data: data, error: handle_ajax_error true @@ -26,11 +31,16 @@ handle_create = (e, data) -> position = data.rslt.position new_parent = data.rslt.parent + data = { + "taxon[name]": name, + "taxon[position]": position + "taxon[parent_id]": if !isNaN(new_parent.attr("id")) then new_parent.attr("id") else undefined + } $.ajax type: "POST", dataType: "json", url: base_url.toString(), - data: ({"taxon[name]": name, "taxon[parent_id]": new_parent.attr("id"), "taxon[position]": position }), + data: data, error: handle_ajax_error, success: (data,result) -> node.attr('id', data.id)