cirandas.net

commit a6f5bc4a4af7fb4307de0cc19df54331d0de778a

Author: Hugo Melo <hugo@riseup.net>

Fix product modal fields not emptying on add product

%!v(PANIC=String method: strings: negative Repeat count)


diff --git a/plugins/suppliers/controllers/myprofile/suppliers_plugin/product_controller.rb b/plugins/suppliers/controllers/myprofile/suppliers_plugin/product_controller.rb
index aad63f8165131283815a8c7d4f0f72fb0d959591..b3e793f5115898dc630fd550320bf8d319a9b930 100644
--- a/plugins/suppliers/controllers/myprofile/suppliers_plugin/product_controller.rb
+++ b/plugins/suppliers/controllers/myprofile/suppliers_plugin/product_controller.rb
@@ -24,9 +24,9 @@   end
 
   def edit
     @product = profile.products.supplied.find params[:id]
-    @product.update params.require(:product).permit(:name, :product_category_id, :margin_percentage, :available, :unit_id, :supplier_price)
+    @product.update params.require(:product).permit(:name, :description, :product_category_id, :margin_percentage, :available, :unit_id, :supplier_price)
 
-    render nothing: true
+    render json: @product.reload, serializer: SuppliersPlugin::ProductSerializer
   end
 
   def set_image




diff --git a/plugins/suppliers/public/javascripts/views/product-modal.tag.slim b/plugins/suppliers/public/javascripts/views/product-modal.tag.slim
index fab4833563d1bb028e1a020df56485580e474f1b..73853576501c7b53af095a2386bf4ba071d02f3b 100644
--- a/plugins/suppliers/public/javascripts/views/product-modal.tag.slim
+++ b/plugins/suppliers/public/javascripts/views/product-modal.tag.slim
@@ -32,7 +32,7 @@                   |{t("views.product.product_name")}
                 small.title if="{product.id}"
                   |{t("views.product.name_change_warning")}
                 input type="text" value="{product.name}" id="p-name"
-                small.supplier_product_name show="{product.supplier_product_name != product.name}"
+                small.supplier_product_name show="{product.supplier_product_name != product.name && product.supplier_product_name != undefined}"
                   strong
                     |{t("views.product.supplier_product_name")}
                   |{this.product.supplier_product_name}




diff --git a/plugins/suppliers/public/javascripts/views/product-page.tag.slim b/plugins/suppliers/public/javascripts/views/product-page.tag.slim
index 13754128116d3d10fd945f72b391890ab03481ca..8c3f4bbbd3c98247e55f893e3a8f677d4c7fd967 100644
--- a/plugins/suppliers/public/javascripts/views/product-page.tag.slim
+++ b/plugins/suppliers/public/javascripts/views/product-page.tag.slim
@@ -251,6 +251,8 @@     completeEdition(product, productItem) {
       this.tags['product-modal'].product = product
       this.tags['product-modal'].productItem = productItem
       this.tags['product-modal'].update()
+      // riot is buggy!!
+      $("#p-description").val(this.tags['product-modal'].product.description)
     }
 
     typeaheadCategoryInit (input, selected) {
@@ -288,9 +290,15 @@     }
 
     add() {
       var product = {
+        name: " ",
         available: true,
-        margin_percentage: 0,
-        supplier_price: 0
+        margin_percentage: " ",
+        supplier_price: " ",
+        product_category_id: " ",
+        supplier_id: " ",
+        unit_id: " ",
+        category: " ",
+        unit: " "
       }
       this.completeEdition(product, {update: function(){}, product: {}})
     }




diff --git a/plugins/suppliers/serializers/suppliers_plugin/product_serializer.rb b/plugins/suppliers/serializers/suppliers_plugin/product_serializer.rb
index 76210bdea4fc1b5716391c79ba8d9323db5e7f4e..091c63d78efceb2f013ca85b38763ba17524e0b9 100644
--- a/plugins/suppliers/serializers/suppliers_plugin/product_serializer.rb
+++ b/plugins/suppliers/serializers/suppliers_plugin/product_serializer.rb
@@ -28,6 +28,9 @@
     def name
       product[:name] || product[:from_product_name]
     end
+    def description
+      product[:description] || product[:from_product_description]
+    end
     def unit_id
       product[:unit_id] || product[:from_product_unit_id]
     end
@@ -36,7 +39,7 @@       product[:from_product_price] || product.supplier_price
     end
 
     def supplier_product_name
-      product[:from_product_name] || product.supplier_product_name
+      product[:from_product_name] || (product.supplier_product && product.supplier_product.name)
     end
 
     def available