From eb8050d61d5d49123c12d45454369cbcbe89dff4 Mon Sep 17 00:00:00 2001
From: Gaetan Craig-Riou /api/v0/reports/:report_type(/:report_subtype)
@@ -48,7 +58,7 @@ module FeatureToggle
Activated for a user.
The user (INRAE researcher) has access to anonymised sales.
DESC
- }.freeze
+ }.merge(conditional_features).freeze;
# Features you would like to be enabled to start with.
ACTIVE_BY_DEFAULT = {
@@ -75,6 +85,9 @@ def self.setup!
# Checks weather a feature is enabled for any of the given actors.
def self.enabled?(feature_name, *actors)
+ # TODO: Need to remove these checks when we fully remove the toggle from development as well
+ # need this check as Flipper won't recognize 'admin_style_v3' as it is removed for server envs
+ return true if !Rails.env.development? && feature_name == :admin_style_v3
return Flipper.enabled?(feature_name) if actors.empty?
actors.any? do |actor|
diff --git a/spec/system/admin/bulk_product_update_spec.rb b/spec/system/admin/bulk_product_update_spec.rb
deleted file mode 100644
index 704cc30407f..00000000000
--- a/spec/system/admin/bulk_product_update_spec.rb
+++ /dev/null
@@ -1,954 +0,0 @@
-# frozen_string_literal: true
-
-require 'system_helper'
-
-RSpec.describe '
- As an Administrator
- I want to be able to manage products in bulk (with the old Products screen)
-' do
- include AdminHelper
- include AuthenticationHelper
- include WebHelper
-
- before { Flipper.disable(:admin_style_v3) }
-
- describe "listing products" do
- before do
- login_as_admin
- end
-
- it "displays a list of products" do
- p1 = FactoryBot.create(:product)
- p2 = FactoryBot.create(:product)
- visit spree.admin_products_path
-
- expect(page).to have_field "product_name", with: p1.name
- expect(page).to have_field "product_name", with: p2.name
- end
-
- it "displays a select box for suppliers, with the appropriate supplier selected" do
- s1 = FactoryBot.create(:supplier_enterprise)
- s2 = FactoryBot.create(:supplier_enterprise)
- s3 = FactoryBot.create(:supplier_enterprise)
- p1 = FactoryBot.create(:product, supplier_id: s2.id)
- p2 = FactoryBot.create(:product, supplier_id: s3.id)
-
- visit spree.admin_products_path
- # the supplier dropdown is on the variant row, so we expand all for the dropdown to be visible
- click_expand_all
-
- expect(page).to have_select "producer_id", with_options: [s1.name, s2.name, s3.name],
- selected: s2.name
- expect(page).to have_select "producer_id", with_options: [s1.name, s2.name, s3.name],
- selected: s3.name
- end
-
- it "displays an on hand count in a span for each product" do
- p1 = FactoryBot.create(:product)
- v1 = p1.variants.first
- v1.update_attribute(:on_demand, false)
- v1.update_attribute(:on_hand, 4)
-
- visit spree.admin_products_path
-
- within "#p_#{p1.id}" do
- expect(page).to have_selector "span[name='on_hand']", text: "4"
- end
- end
-
- it "displays 'on demand' for any variant that is available on demand" do
- p1 = FactoryBot.create(:product)
- v1 = FactoryBot.create(:variant, product: p1, on_hand: 4)
- v2 = FactoryBot.create(:variant, product: p1, on_hand: 0, on_demand: true)
-
- visit spree.admin_products_path
- expect(page).to have_selector "a.view-variants", count: 1
- find("a.view-variants").click
-
- expect(page).not_to have_selector "span[name='on_hand']", text: "On demand"
- expect(page).to have_field "variant_on_hand", with: "4"
- expect(page).not_to have_field "variant_on_hand", with: ""
- expect(page).to have_selector "span[name='variant_on_hand']", text: "On demand"
- end
-
- it "displays a select box for the unit of measure for the product's variants" do
- create(:product, variant_unit: 'weight', variant_unit_scale: 1,
- variant_unit_name: '')
-
- visit spree.admin_products_path
- click_expand_all
-
- expect(page).to have_select "variant_unit_with_scale", selected: "Weight (g)"
- end
-
- it "displays a text field for the item name when unit is set to 'Items'" do
- create(:product, variant_unit: 'items', variant_unit_scale: nil,
- variant_unit_name: 'packet')
-
- visit spree.admin_products_path
- click_expand_all
-
- expect(page).to have_select "variant_unit_with_scale", selected: "Items"
- expect(page).to have_field "variant_unit_name", with: "packet"
- end
- end
-
- describe "listing variants" do
- before do
- login_as_admin
- end
-
- it "displays a list of variants for each product" do
- v1 = FactoryBot.create(:variant, display_name: "something1" )
- v2 = FactoryBot.create(:variant, display_name: "something2" )
-
- visit spree.admin_products_path
- expect(page).to have_selector "a.view-variants", count: 2
- all("a.view-variants").each(&:click)
-
- expect(page).to have_field "product_name", with: v1.product.name
- expect(page).to have_field "product_name", with: v2.product.name
- expect(page).to have_field "variant_display_name", with: v1.display_name
- expect(page).to have_field "variant_display_name", with: v2.display_name
- end
-
- it "displays an on_hand input (for each variant) for each product" do
- p1 = FactoryBot.create(:product)
- v0 = p1.variants.first
- v0.update_attribute(:on_demand, false)
- v1 = FactoryBot.create(:variant, product: p1, on_hand: 15)
- v1.update_attribute(:on_demand, false)
- p1.variants << v1
- v2 = FactoryBot.create(:variant, product: p1, on_hand: 6)
- v2.update_attribute(:on_demand, false)
- p1.variants << v2
-
- visit spree.admin_products_path
- expect(page).to have_selector "a.view-variants", count: 1
- all("a.view-variants").each(&:click)
-
- expect(page).to have_selector "span[name='on_hand']",
- text: p1.variants.to_a.sum(&:on_hand).to_s
- expect(page).to have_field "variant_on_hand", with: "15"
- expect(page).to have_field "variant_on_hand", with: "6"
- end
-
- it "displays a price input (for each variant) for each product" do
- p1 = create(:product, price: 2.0)
- v1 = create(:variant, product: p1, price: 12.75)
- v2 = create(:variant, product: p1, price: 2.50)
-
- visit spree.admin_products_path
- expect(page).to have_selector "a.view-variants", count: 1
- all("a.view-variants").each(&:click)
-
- expect(page).to have_field "variant_price", with: "12.75"
- expect(page).to have_field "variant_price", with: "2.5"
- end
-
- it "displays a unit value field (for each variant) for each product" do
- p1 = create(:product, price: 2.0, variant_unit: "weight", variant_unit_scale: "1000")
- v1 = create(:variant, product: p1, price: 12.75, unit_value: 1200, variant_unit_scale: "1000",
- unit_description: "(small bag)", display_as: "bag")
- v2 = create(:variant, product: p1, price: 2.50, unit_value: 4800, variant_unit_scale: "1000",
- unit_description: "(large bag)", display_as: "bin")
-
- visit spree.admin_products_path
- expect(page).to have_selector "a.view-variants", count: 1
-
- all("a.view-variants").each(&:click)
-
- expect(page).to have_field "variant_unit_value_with_description", with: "1.2 (small bag)"
- expect(page).to have_field "variant_unit_value_with_description", with: "4.8 (large bag)"
- expect(page).to have_field "variant_display_as", with: "bag"
- expect(page).to have_field "variant_display_as", with: "bin"
- end
-
- context "with variant overrides" do
- let!(:product) { create(:product) }
- let(:variant) { product.variants.first }
- let(:hub) { create(:distributor_enterprise) }
- let!(:override) { create(:variant_override, variant:, hub: ) }
- let(:variant_overrides_tip) {
- "This variant has %d override(s)" % 1
- }
-
- it "displays an icon indicating a variant has overrides" do
- visit spree.admin_products_path
-
- find("a.view-variants").click
-
- within "tr#v_#{variant.id}" do
- expect(page).to have_selector(
- "span.icon-warning-sign[data-powertip='#{variant_overrides_tip}']"
- )
- end
- end
- end
- end
-
- it "creating a new product" do
- create(:stock_location)
-
- supplier = create(:supplier_enterprise)
- distributor = create(:distributor_enterprise)
- shipping_category = create(:shipping_category)
- taxon = create(:taxon)
-
- login_as_admin
- visit spree.admin_products_path
-
- find("a", text: "NEW PRODUCT").click
- expect(page).to have_content "NEW PRODUCT"
-
- fill_in 'product_name', with: 'Big Bag Of Apples'
- select supplier.name, from: 'product_supplier_id'
- select 'Weight (g)', from: 'product_variant_unit_with_scale'
- fill_in 'product_unit_value', with: '100'
- fill_in 'product_price', with: '10.00'
- select taxon.name, from: 'product_primary_taxon_id'
- select shipping_category.name, from: 'product_shipping_category_id'
- click_button 'Create'
-
- expect(URI.parse(current_url).path).to eq spree.admin_products_path
- expect(flash_message).to eq 'Product "Big Bag Of Apples" has been successfully created!'
- expect(page).to have_field "product_name", with: 'Big Bag Of Apples'
- end
-
- context "creating new variants" do
- let(:supplier) { create(:supplier_enterprise) }
- let!(:new_supplier) { create(:supplier_enterprise) }
- let!(:product) {
- create(:product, variant_unit: 'weight', variant_unit_scale: 1000, supplier_id: supplier.id)
- } # Weight (kg)
-
- before do
- login_as_admin
- visit spree.admin_products_path
-
- # I should see an add variant button
- page.find('a.view-variants').click
- end
-
- it "handle the default behaviour" do
- # When I add three variants
- page.find('a.add-variant').click
- page.find('a.add-variant').click
-
- # They should be added, and should not see edit buttons for new variants
- expect(page).to have_selector "tr.variant", count: 3
- expect(page).to have_selector "a.edit-variant", count: 1
-
- # When I remove two, they should be removed
- accept_alert do
- page.all('a.delete-variant').first.click
- end
- expect(page).to have_selector "tr.variant", count: 2
- page.all('a.delete-variant').first.click
- expect(page).to have_selector "tr.variant", count: 1
-
- # When I fill out variant details and hit update
- select new_supplier.name, from: 'producer_id'
- tomselect_select "Weight (kg)", from: "variant_unit_with_scale"
- fill_in "variant_display_name", with: "Case of 12 Bottles"
- fill_in "variant_unit_value_with_description", with: "3 (12x250 mL bottles)"
- fill_in "variant_display_as", with: "Case"
- fill_in "variant_price", with: "4.0"
- fill_in "variant_on_hand", with: "10"
-
- click_button 'Save Changes', match: :first
- expect(page.find("#status-message")).to have_content "Changes saved."
-
- updated_variant = Spree::Variant.where(deleted_at: nil).last
- expect(updated_variant.display_name).to eq "Case of 12 Bottles"
- expect(updated_variant.unit_value).to eq 3000
- expect(updated_variant.unit_description).to eq "(12x250 mL bottles)"
- expect(updated_variant.display_as).to eq "Case"
- expect(updated_variant.price).to eq 4.0
- expect(updated_variant.on_hand).to eq 10
- expect(updated_variant.supplier).to eq new_supplier
-
- # Then I should see edit buttons for the new variant
- expect(page).to have_selector "a.edit-variant"
- end
-
- context "handle the 'on_demand' variant case creation" do
- let(:v1) { create(:variant, product:, on_hand: 4, supplier:) }
- let(:v2) { create(:variant, product:, on_demand: true, supplier:) }
-
- before do
- product.variants << v1
- product.variants << v2
-
- visit spree.admin_products_path
- page.find('a.view-variants').click
- end
-
- it "when variant unit value is: '120'" do
- within "tr#v_#{v2.id}" do
- page.find(".add-variant").click
- end
-
- within "tr#v_-1" do
- select supplier.name, from: 'producer_id'
- tomselect_select "Weight (kg)", from: "variant_unit_with_scale"
- fill_in "variant_unit_value_with_description", with: "120"
- fill_in "variant_price", with: "6.66"
- end
-
- click_button 'Save Changes', match: :first
- expect(page.find("#status-message")).to have_content "Changes saved."
- end
-
- it "creating a variant with unit value is: '120g' and 'on_hand' filled" do
- within "tr#v_#{v2.id}" do
- page.find(".add-variant").click
- end
-
- within "tr#v_-1" do
- tomselect_select "Weight (g)", from: "variant_unit_with_scale"
- fill_in "variant_unit_value_with_description", with: "120g"
- fill_in "variant_price", with: "6.66"
- fill_in "variant_on_hand", with: "222"
- end
-
- click_button 'Save Changes', match: :first
- expect(page.find("#status-message"))
- .to have_content "Variant unit value can't be blank"
- end
-
- it "creating a variant with unit value is: '120g' and 'on_demand' checked" do
- scroll_to(:bottom)
-
- within "tr#v_#{v2.id}" do
- page.find(".add-variant").click
- end
-
- within "tr#v_-1" do
- tomselect_select "Weight (g)", from: "variant_unit_with_scale"
- fill_in "variant_unit_value_with_description", with: "120g"
- fill_in "variant_price", with: "6.66"
- check "variant_on_demand"
- end
-
- click_button 'Save Changes', match: :first
- expect(page.find("#status-message"))
- .to have_content "Variant unit value can't be blank"
- end
- end
- end
-
- it "updating product attributes" do
- s1 = create(:supplier_enterprise)
- create(:supplier_enterprise)
- create(:taxon)
- t2 = create(:taxon)
- p = create(:product, supplier_id: s1.id, variant_unit: 'volume', variant_unit_scale: 1,
- primary_taxon: t2, sku: "OLD SKU")
- variant = p.variants.first
-
- login_as_admin
- visit spree.admin_products_path
-
- toggle_columns /^Category?/i, "Inherits Properties?", "SKU"
-
- within "tr#p_#{p.id}" do
- page.find('a.view-variants').click
-
- expect(page).to have_field "product_name", with: p.name
- expect(page).to have_checked_field "inherits_properties"
- expect(page).to have_field "product_sku", with: p.sku
-
- fill_in "product_name", with: "Big Bag Of Potatoes"
- uncheck "inherits_properties"
- fill_in "product_sku", with: "NEW SKU"
- end
- within "tr#v_#{variant.id}" do
- expect(page).to have_select "variant_unit_with_scale", selected: "Volume (L)"
-
- tomselect_select "Weight (kg)", from: "variant_unit_with_scale"
- end
-
- click_button 'Save Changes', match: :first
- expect(page.find("#status-message")).to have_content "Changes saved."
-
- p.reload
- expect(p.name).to eq "Big Bag Of Potatoes"
- expect(p.inherits_properties).to be false
- expect(p.sku).to eq "NEW SKU"
-
- variant.reload
- expect(variant.variant_unit).to eq "weight"
- expect(variant.variant_unit_scale).to eq 1000 # Kg
- end
-
- it "updating a product with a variant unit of 'items'" do
- p = create(:product, variant_unit: 'weight', variant_unit_scale: 1000)
-
- login_as_admin
- visit spree.admin_products_path
-
- page.find('a.view-variants').click
-
- expect(page).to have_select "variant_unit_with_scale", selected: "Weight (kg)"
-
- select "Items", from: "variant_unit_with_scale"
- fill_in "variant_unit_name", with: "loaf"
-
- click_button 'Save Changes', match: :first
- expect(page.find("#status-message")).to have_content "Changes saved."
-
- variant = p.variants.first
- expect(variant.variant_unit).to eq "items"
- expect(variant.variant_unit_scale).to be_nil
- expect(variant.variant_unit_name).to eq "loaf"
- end
-
- it "updating a product with variants" do
- s1 = create(:supplier_enterprise)
- s2 = create(:supplier_enterprise)
- p = create(:product, supplier_id: s1.id, variant_unit: 'volume', variant_unit_scale: 0.001,
- price: 3.0, unit_value: 0.25, unit_description: '(bottle)' )
- v = p.variants.first
- v.update_attribute(:sku, "VARIANTSKU")
- v.update_attribute(:on_demand, false)
- v.update_attribute(:on_hand, 9)
-
- login_as_admin
- visit spree.admin_products_path
- expect(page).to have_selector "a.view-variants", count: 1
- find("a.view-variants").click
-
- toggle_columns "SKU"
-
- expect(page).to have_field "variant_sku", with: "VARIANTSKU"
- expect(page).to have_field "variant_price", with: "3.0"
- expect(page).to have_field "variant_unit_value_with_description", with: "250 (bottle)"
- expect(page).to have_field "variant_on_hand", with: "9"
- expect(page).to have_selector "span[name='on_hand']", text: "9"
-
- select "Volume (L)", from: "variant_unit_with_scale"
- fill_in "variant_sku", with: "NEWSKU"
- fill_in "variant_price", with: "4.0"
- fill_in "variant_on_hand", with: "10"
- fill_in "variant_unit_value_with_description", with: "2 (8x250 mL bottles)"
-
- expect(page).to have_selector "span[name='on_hand']", text: "10"
-
- click_button 'Save Changes', match: :first
- expect(page.find("#status-message")).to have_content "Changes saved."
-
- v.reload
- expect(v.sku).to eq "NEWSKU"
- expect(v.price).to eq 4.0
- expect(v.on_hand).to eq 10
- expect(v.unit_value).to eq 2 # 2L in L
- expect(v.unit_description).to eq "(8x250 mL bottles)"
- end
-
- it "updating delegated attributes of variants in isolation" do
- p = FactoryBot.create(:product)
- v = FactoryBot.create(:variant, product: p, price: 3.0)
-
- login_as_admin
- visit spree.admin_products_path
- expect(page).to have_selector "a.view-variants", count: 1
- find("a.view-variants").click
-
- expect(page).to have_field "variant_price", with: "3.0"
-
- within "#v_#{v.id}" do
- fill_in "variant_price", with: "10.0"
- end
-
- within "#save-bar" do
- click_button 'Save Changes'
- end
-
- expect(page.find("#status-message")).to have_content "Changes saved."
-
- v.reload
- expect(v.price).to eq 10.0
- end
-
- it "updating a product mutiple times without refresh" do
- p = FactoryBot.create(:product, name: 'original name')
- login_as_admin
-
- visit spree.admin_products_path
-
- expect(page).to have_field "product_name", with: "original name"
-
- fill_in "product_name", with: "new name 1"
-
- within "#save-bar" do
- click_button 'Save Changes'
- end
-
- expect(page.find("#status-message")).to have_content "Changes saved."
- p.reload
- expect(p.name).to eq "new name 1"
-
- fill_in "product_name", with: "new name 2"
-
- click_button 'Save Changes', match: :first
- expect(page.find("#status-message")).to have_content "Changes saved."
- p.reload
- expect(p.name).to eq "new name 2"
-
- fill_in "product_name", with: "original name"
-
- click_button 'Save Changes', match: :first
- expect(page.find("#status-message")).to have_content "Changes saved."
- p.reload
- expect(p.name).to eq "original name"
- end
-
- it "updating a product after cloning a product" do
- p = FactoryBot.create(:product, name: "product 1")
- login_as_admin
-
- visit spree.admin_products_path
-
- expect(page).to have_selector "a.clone-product", count: 1
- find("a.clone-product").click
- expect(page).to have_field "product_name", with: "COPY OF #{p.name}"
-
- within "#p_#{p.id}" do
- fill_in "product_name", with: "new product name"
- end
-
- within "#save-bar" do
- click_button 'Save Changes'
- end
- expect(page.find("#status-message")).to have_content "Changes saved."
-
- p.reload
- expect(p.name).to eq "new product name"
- end
-
- it "updating when a filter has been applied" do
- s1 = create(:supplier_enterprise)
- s2 = create(:supplier_enterprise)
- p1 = FactoryBot.create(:simple_product, name: "product1", supplier_id: s1.id)
- p2 = FactoryBot.create(:simple_product, name: "product2", supplier_id: s2.id)
-
- login_as_admin
- visit spree.admin_products_path
-
- select2_select s1.name, from: "producer_filter"
- apply_filters
-
- sleep 2 # wait for page to initialise
-
- expect(page).not_to have_field "product_name", with: p2.name
- fill_in "product_name", with: "new product1"
-
- within "#save-bar" do
- click_button 'Save Changes'
- end
-
- expect(page.find("#status-message")).to have_content "Changes saved."
- p1.reload
- expect(p1.name).to eq "new product1"
- end
-
- describe "using action buttons" do
- describe "using delete buttons" do
- let!(:p1) { FactoryBot.create(:product) }
- let!(:p2) { FactoryBot.create(:product) }
- let!(:v1) { p1.variants.first }
- let!(:v2) { p2.variants.first }
- let!(:v3) { FactoryBot.create(:variant, product: p2 ) }
-
- before do
- login_as_admin
- visit spree.admin_products_path
- end
-
- it "shows a delete button for products, which deletes the appropriate product when clicked" do
- expect(page).to have_selector "a.delete-product", count: 2
-
- within "tr#p_#{p1.id}" do
- accept_alert do
- find("a.delete-product").click
- end
- end
-
- expect(page).to have_selector "a.delete-product", count: 1
-
- visit spree.admin_products_path
-
- expect(page).to have_selector "a.delete-product", count: 1
- end
-
- it "shows a delete button for variants, which deletes the appropriate variant when clicked" do
- expect(page).to have_selector "a.view-variants"
- all("a.view-variants").each(&:click)
-
- expect(page).to have_selector "a.delete-variant", count: 3
-
- within "tr#v_#{v3.id}" do
- accept_alert do
- find("a.delete-variant").click
- end
- end
-
- expect(page).to have_selector "a.delete-variant", count: 2
-
- visit spree.admin_products_path
- expect(page).to have_selector "a.view-variants"
- all("a.view-variants").select(&:visible?).each(&:click)
-
- expect(page).to have_selector "a.delete-variant", count: 2
- end
- end
-
- describe "using edit buttons" do
- let!(:p1) { FactoryBot.create(:product) }
- let!(:p2) { FactoryBot.create(:product) }
- let!(:v1) { p1.variants.first }
- let!(:v2) { p2.variants.first }
-
- before do
- login_as_admin
- visit spree.admin_products_path
- end
-
- it "shows edit product button, which takes user to the standard edit page of that product" do
- expect(page).to have_selector "a.edit-product", count: 2
-
- within "tr#p_#{p1.id}" do
- find("a.edit-product").click
- end
-
- expect(URI.parse(current_url).path).to eq spree.edit_admin_product_path(v1.product.id)
- end
-
- it "shows edit product button, which takes user to the standard edit page " \
- "for that product, url includes selected filter" do
- expect(page).to have_selector "a.edit-product", count: 2
-
- # Set a filter
- select2_select v1.supplier.name, from: "producer_filter"
- apply_filters
-
- within "tr#p_#{p1.id}" do
- find("a.edit-product").click
- end
-
- uri = URI.parse(current_url)
- expect("#{uri.path}?#{uri.query}").to eq spree.edit_admin_product_path(
- v1.product.id, producerFilter: v1.supplier.id
- )
- end
-
- it "shows edit variant button, which takes user to the standard edit page for it" do
- expect(page).to have_selector "a.view-variants"
- all("a.view-variants").each(&:click)
-
- expect(page).to have_selector "a.edit-variant", count: 2
-
- within "tr#v_#{v1.id}" do
- find("a.edit-variant").click
- end
-
- uri = URI.parse(current_url)
- expect(URI.parse(current_url).path).to eq spree.edit_admin_product_variant_path(
- v1.product.id, v1.id
- )
- end
-
- it "shows edit variant button, which takes the user to the standard edit page " \
- "for that variant, url includes selected filter" do
- expect(page).to have_selector "a.view-variants"
- all("a.view-variants").each(&:click)
-
- expect(page).to have_selector "a.edit-variant", count: 2
-
- # Set a filter
- select2_select v1.supplier.name, from: "producer_filter"
- apply_filters
-
- within "tr#v_#{v1.id}" do
- find("a.edit-variant").click
- end
-
- uri = URI.parse(current_url)
- expect("#{uri.path}?#{uri.query}").to eq spree.edit_admin_product_variant_path(
- v1.product.id, v1.id, producerFilter: v1.supplier.id
- )
- end
- end
-
- describe "using clone buttons" do
- it "shows clone product button, which dupes it & adds it to the page when clicked" do
- p1 = FactoryBot.create(:product, name: "P1")
- p2 = FactoryBot.create(:product, name: "P2")
- p3 = FactoryBot.create(:product, name: "P3")
- p1_supplier = p1.variants.first.supplier
-
- login_as_admin
- visit spree.admin_products_path
-
- expect(page).to have_selector "a.clone-product", count: 3
-
- within "tr#p_#{p1.id}" do
- find("a.clone-product").click
- end
- expect(page).to have_selector "a.clone-product", count: 4
- click_expand_all
- expect(page).to have_field "product_name", with: "COPY OF #{p1.name}"
- expect(page).to have_select "producer_id", selected: p1_supplier.name.to_s
-
- visit spree.admin_products_path
-
- click_expand_all
- expect(page).to have_selector "a.clone-product", count: 4
- expect(page).to have_field "product_name", with: "COPY OF #{p1.name}"
- expect(page).to have_select "producer_id", selected: p1_supplier.name.to_s
- end
- end
- end
-
- describe "using the page" do
- describe "using column display dropdown" do
- it "shows a column display dropdown, which shows a list of columns when clicked" do
- FactoryBot.create(:simple_product)
- login_as_admin
- visit spree.admin_products_path
-
- expect(page).to have_selector "th", text: "NAME"
- expect(page).to have_selector "th", text: "PRODUCER"
- expect(page).to have_selector "th", text: "PRICE"
- expect(page).to have_selector "th", text: "ON HAND"
-
- toggle_columns /^.{0,1}Producer$/i
-
- expect(page).not_to have_selector "th", text: "Producer"
- expect(page).to have_selector "th", text: "NAME"
- expect(page).to have_selector "th", text: "PRICE"
- expect(page).to have_selector "th", text: "ON HAND"
- end
- end
-
- describe "using filtering controls" do
- it "displays basic filtering controls which filter the product list" do
- s1 = create(:supplier_enterprise)
- s2 = create(:supplier_enterprise)
- p1 = FactoryBot.create(:simple_product, name: "product1", supplier_id: s1.id)
- p2 = FactoryBot.create(:simple_product, name: "product2", supplier_id: s2.id)
-
- login_as_admin
- visit spree.admin_products_path
-
- # Page shows the filter controls
- expect(page).to have_select "producer_filter", visible: false
- expect(page).to have_select "category_filter", visible: false
-
- # All products are shown when no filter is selected
- expect(page).to have_field "product_name", with: p1.name
- expect(page).to have_field "product_name", with: p2.name
-
- # Set a filter
- select2_select s1.name, from: "producer_filter"
- apply_filters
-
- # Products are hidden when filtered out
- expect(page).to have_field "product_name", with: p1.name
- expect(page).not_to have_field "product_name", with: p2.name
-
- # Clearing filters
- click_button "Clear Filters"
- apply_filters
-
- # All products are shown again
- expect(page).to have_field "product_name", with: p1.name
- expect(page).to have_field "product_name", with: p2.name
- end
- end
- end
-
- context "as an enterprise manager" do
- let(:supplier_managed1) { create(:supplier_enterprise, name: 'Supplier Managed 1') }
- let(:supplier_managed2) { create(:supplier_enterprise, name: 'Supplier Managed 2') }
- let(:supplier_unmanaged) { create(:supplier_enterprise, name: 'Supplier Unmanaged') }
- let(:supplier_permitted) { create(:supplier_enterprise, name: 'Supplier Permitted') }
- let(:distributor_managed) { create(:distributor_enterprise, name: 'Distributor Managed') }
- let(:distributor_unmanaged) { create(:distributor_enterprise, name: 'Distributor Unmanaged') }
- let!(:product_supplied) { create(:product, supplier_id: supplier_managed1.id, price: 10.0) }
- let!(:product_not_supplied) { create(:product, supplier_id: supplier_unmanaged.id) }
- let!(:product_supplied_permitted) {
- create(:product, name: 'Product Permitted', supplier_id: supplier_permitted.id, price: 10.0)
- }
- let(:product_supplied_inactive) {
- create(:product, supplier_id: supplier_managed1.id, price: 10.0)
- }
-
- let!(:supplier_permitted_relationship) do
- create(:enterprise_relationship, parent: supplier_permitted, child: supplier_managed1,
- permissions_list: [:manage_products])
- end
-
- before do
- @enterprise_user = create(:user)
- @enterprise_user.enterprise_roles.build(enterprise: supplier_managed1).save
- @enterprise_user.enterprise_roles.build(enterprise: supplier_managed2).save
- @enterprise_user.enterprise_roles.build(enterprise: distributor_managed).save
-
- login_as @enterprise_user
- end
-
- it "shows only products that I supply" do
- visit spree.admin_products_path
-
- expect(page).to have_field 'product_name', with: product_supplied.name
- expect(page).to have_field 'product_name', with: product_supplied_permitted.name
- expect(page).not_to have_field 'product_name', with: product_not_supplied.name
- end
-
- it "shows only suppliers that I manage or have permission to" do
- visit spree.admin_products_path
- click_expand_all
-
- expect(page)
- .to have_select(
- 'producer_id',
- with_options: [supplier_managed1.name, supplier_managed2.name, supplier_permitted.name],
- selected: supplier_managed1.name,
- )
- expect(page).not_to have_select 'producer_id', with_options: [supplier_unmanaged.name]
- end
-
- it "shows inactive products that I supply" do
- product_supplied_inactive
-
- visit spree.admin_products_path
-
- expect(page).to have_field 'product_name', with: product_supplied_inactive.name
- end
-
- it "allows me to create a product" do
- taxon = create(:taxon, name: 'Fruit')
- shipping_category = create(:shipping_category)
-
- visit spree.admin_products_path
-
- find("a", text: "NEW PRODUCT").click
- expect(page).to have_content 'NEW PRODUCT'
- expect(page).to have_select 'product_supplier_id',
- with_options: [supplier_managed1.name, supplier_managed2.name,
- supplier_permitted.name]
-
- within 'fieldset#new_product' do
- fill_in 'product_name', with: 'Big Bag Of Apples'
- select supplier_permitted.name, from: 'product_supplier_id'
- select 'Weight (g)', from: 'product_variant_unit_with_scale'
- fill_in 'product_unit_value', with: '100'
- fill_in 'product_price', with: '10.00'
- select taxon.name, from: 'product_primary_taxon_id'
- select shipping_category.name, from: 'product_shipping_category_id'
- end
- click_button 'Create'
-
- expect(URI.parse(current_url).path).to eq spree.admin_products_path
- expect(flash_message).to eq 'Product "Big Bag Of Apples" has been successfully created!'
- expect(page).to have_field "product_name", with: 'Big Bag Of Apples'
- end
-
- it "allows me to update a product" do
- p = product_supplied_permitted
- v = p.variants.first
- v.update_attribute(:on_demand, false)
-
- visit spree.admin_products_path
-
- within "tr#p_#{p.id}" do
- expect(page).to have_field "product_name", with: p.name
-
- fill_in "product_name", with: "Big Bag Of Potatoes"
-
- find("a.view-variants").click
- end
-
- within "#v_#{v.id}" do
- expect(page).to have_select "producer_id", selected: supplier_permitted.name
-
- select supplier_managed2.name, from: 'producer_id'
- select "Weight (kg)", from: "variant_unit_with_scale"
- fill_in "variant_price", with: "20"
- fill_in "variant_on_hand", with: "18"
- fill_in "variant_display_as", with: "Big Bag"
- end
-
- click_button 'Save Changes', match: :first
- expect(page.find("#status-message")).to have_content "Changes saved."
-
- p.reload
- v.reload
- expect(p.name).to eq "Big Bag Of Potatoes"
- expect(v.variant_unit).to eq "weight"
- expect(v.variant_unit_scale).to eq 1000 # Kg
- expect(v.supplier).to eq supplier_managed2
- expect(v.display_as).to eq "Big Bag"
- expect(v.price).to eq 20.0
- expect(v.on_hand).to eq 18
- end
- end
-
- describe "Updating product image" do
- let!(:product) { create(:simple_product, name: "Carrots") }
-
- it "displays product images and image upload modal" do
- login_as_admin
- visit spree.admin_products_path
-
- within "table#listing_products tr#p_#{product.id}" do
- # Displays product images
- expect(page).to have_selector "td.image"
-
- # Shows default image when no image set
- expect(page).to have_css "img[src='/noimage/mini.png']"
- @old_thumb_src = page.find("a.image-modal img")['src']
-
- # Click image
- page.find("a.image-modal").click
- end
-
- # Shows upload modal
- expect(page).to have_selector "div.reveal-modal"
-
- within "div.reveal-modal" do
- # Shows preview of current image
- expect(page).to have_css "img.preview"
-
- # Upload a new image file
- attach_file 'image-upload', Rails.public_path.join('500.jpg'), visible: false
-
- # Shows spinner whilst loading
- expect(page).to have_css ".spinner"
- end
-
- expect(page).not_to have_css ".spinner"
- expect(page).not_to have_selector "div.reveal-modal"
-
- within "table#listing_products tr#p_#{product.id}" do
- # New thumbnail is shown in image column
- @new_thumb_src = page.find("a.image-modal img")['src']
- expect(@old_thumb_src).not_to eq @new_thumb_src
-
- page.find("a.image-modal").click
- end
-
- expect(page).to have_selector "div.reveal-modal"
- end
- end
-
- def apply_filters
- page.find('.button.icon-search').click
- end
-
- def click_expand_all
- find("a", text: "EXPAND ALL").click
- end
-end
From 475c9fb4abc98c8201305604d9c609a876acc6e9 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 16 Oct 2024 09:12:41 +0000
Subject: [PATCH 09/22] Bump trix from 2.1.6 to 2.1.7
Bumps [trix](https://github.com/basecamp/trix) from 2.1.6 to 2.1.7.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.1.6...v2.1.7)
---
updated-dependencies:
- dependency-name: trix
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
+ To enable VINE for your enterprise, enter your API key and secret. +
++ VINE + +
+ api_parameters_empty: "Please enter an API key and a secret" + api_parameters_error: "Check you entered your API key and secret correctly, contact your instance manager if the error persists" + connection_error: "API connection error, please try again" + setup_error: "VINE API is not configured, please contact your instance manager" actions: edit_profile: Settings properties: Properties @@ -4433,12 +4457,16 @@ en_FR: new_variant: "New Variant" form: sku: "SKU" - price: "Price" unit_price: "Unit Price" display_as: "Display As" display_name: "Display Name" display_as_placeholder: 'eg. 2 kg' display_name_placeholder: 'eg. Tomatoes' + unit_scale: "Unit scale" + unit: Unit + price: Price + unit_value: Unit value + variant_category: Category autocomplete: out_of_stock: "Out of Stock" producer_name: "Producer" diff --git a/config/locales/en_GB.yml b/config/locales/en_GB.yml index abb45424da6..72e767ed983 100644 --- a/config/locales/en_GB.yml +++ b/config/locales/en_GB.yml @@ -49,12 +49,12 @@ en_GB: price: "Price" primary_taxon_id: "Product Category" shipping_category_id: "Shipping Category" - variant_unit_name: "Variant Unit Name" - unit_value: "Unit value" spree/variant: primary_taxon: "Product Category" shipping_category_id: "Shipping Category" supplier: "Supplier" + variant_unit_name: "Variant Unit Name" + unit_value: "Unit value" spree/credit_card: base: "Credit Card" number: "Number" @@ -1331,6 +1331,10 @@ en_GB: target="_blank">Learn more about Discover Regenerative + vine: + enable: "Resources" + disable: "Disconnect" + need_to_be_manager: "Only managers can connect apps." actions: edit_profile: Settings properties: Properties @@ -4373,12 +4377,16 @@ en_GB: new_variant: "New Variant" form: sku: "Product Code" - price: "Price" unit_price: "Unit Price" display_as: "Display As" display_name: "Display Name" display_as_placeholder: 'eg. 2 kg' display_name_placeholder: 'eg. Tomatoes' + unit_scale: "Unit scale" + unit: Unit + price: Price + unit_value: Unit value + variant_category: Category autocomplete: out_of_stock: "Out of Stock" producer_name: "Producer" diff --git a/config/locales/en_IE.yml b/config/locales/en_IE.yml index 164d2cd2cd1..3a9fb80208e 100644 --- a/config/locales/en_IE.yml +++ b/config/locales/en_IE.yml @@ -49,12 +49,12 @@ en_IE: price: "Price" primary_taxon_id: "Product Category" shipping_category_id: "Shipping Category" - variant_unit_name: "Variant Unit Name" - unit_value: "Unit value" spree/variant: primary_taxon: "Product Category" shipping_category_id: "Shipping Category" supplier: "Supplier" + variant_unit_name: "Variant Unit Name" + unit_value: "Unit value" spree/credit_card: base: "Credit Card" number: "Number" @@ -1286,6 +1286,9 @@ en_IE: target="_blank">Learn more about Discover Regenerative + vine: + enable: "Resources" + disable: "Disconnect" actions: edit_profile: Settings properties: Properties @@ -4319,12 +4322,16 @@ en_IE: new_variant: "New Variant" form: sku: "Product Code" - price: "Price" unit_price: "Unit Price" display_as: "Display As" display_name: "Display Name" display_as_placeholder: 'eg. 2 kg' display_name_placeholder: 'eg. Tomatoes' + unit_scale: "Unit scale" + unit: Unit + price: Price + unit_value: Unit value + variant_category: Category autocomplete: out_of_stock: "Out of Stock" producer_name: "Producer" diff --git a/config/locales/en_IN.yml b/config/locales/en_IN.yml index da3d13ef1d8..4915a98f83a 100644 --- a/config/locales/en_IN.yml +++ b/config/locales/en_IN.yml @@ -29,11 +29,11 @@ en_IN: price: "Price" primary_taxon_id: "Product Category" shipping_category_id: "Shipping Category" - variant_unit_name: "Variant Unit Name" spree/variant: primary_taxon: "Product Category" shipping_category_id: "Shipping Category" supplier: "Supplier" + variant_unit_name: "Variant Unit Name" spree/credit_card: base: "Credit Card" number: "Number" @@ -918,6 +918,8 @@ en_IN: loading: "Loading" discover_regen: loading: "Loading" + vine: + enable: "Pricing" actions: edit_profile: Settings properties: Properties @@ -3532,12 +3534,14 @@ en_IN: new_variant: "New Variant" form: sku: "Product Code" - price: "Price" unit_price: "Unit Price" display_as: "Display As" display_name: "Display Name" display_as_placeholder: 'eg. 2 kg' display_name_placeholder: 'eg. Tomatoes' + unit: Unit + price: Price + variant_category: Category autocomplete: out_of_stock: "Out of Stock" producer_name: "Producer" diff --git a/config/locales/en_NZ.yml b/config/locales/en_NZ.yml index b450a432421..f5b47a61d2e 100644 --- a/config/locales/en_NZ.yml +++ b/config/locales/en_NZ.yml @@ -33,11 +33,11 @@ en_NZ: price: "Price" primary_taxon_id: "Product Category" shipping_category_id: "Shipping Category" - variant_unit_name: "Variant Unit Name" spree/variant: primary_taxon: "Product Category" shipping_category_id: "Shipping Category" supplier: "Supplier" + variant_unit_name: "Variant Unit Name" spree/credit_card: base: "Credit Card" number: "Number" @@ -1112,6 +1112,8 @@ en_NZ: loading: "Loading" discover_regen: loading: "Loading" + vine: + enable: "Connect" actions: edit_profile: Settings properties: Properties @@ -3881,12 +3883,14 @@ en_NZ: new_variant: "New Variant" form: sku: "SKU" - price: "Price" unit_price: "Unit Price" display_as: "Display As" display_name: "Display Name" display_as_placeholder: 'eg. 2 kg' display_name_placeholder: 'eg. Tomatoes' + unit: Unit + price: Price + variant_category: Category autocomplete: out_of_stock: "Out of Stock" producer_name: "Producer" diff --git a/config/locales/en_PH.yml b/config/locales/en_PH.yml index bbf4e265134..e10a40481fa 100644 --- a/config/locales/en_PH.yml +++ b/config/locales/en_PH.yml @@ -29,11 +29,11 @@ en_PH: price: "Price" primary_taxon_id: "Product Category" shipping_category_id: "Shipping Category" - variant_unit_name: "Variant Unit Name" spree/variant: primary_taxon: "Product Category" shipping_category_id: "Shipping Category" supplier: "Supplier" + variant_unit_name: "Variant Unit Name" spree/credit_card: base: "Credit Card" number: "Number" @@ -908,6 +908,8 @@ en_PH: loading: "Loading" discover_regen: loading: "Loading" + vine: + enable: "Connect" actions: edit_profile: Settings properties: Properties @@ -3469,10 +3471,12 @@ en_PH: new_variant: "New Variant" form: sku: "SKU" - price: "Price" unit_price: "Unit Price" display_as: "Display As" display_name: "Display Name" + unit: Unit + price: Price + variant_category: Category autocomplete: out_of_stock: "Out of Stock" producer_name: "Producer" diff --git a/config/locales/en_US.yml b/config/locales/en_US.yml index 0e67d1a5ab0..ca8f3ba0b0c 100644 --- a/config/locales/en_US.yml +++ b/config/locales/en_US.yml @@ -31,11 +31,11 @@ en_US: price: "Price" primary_taxon_id: "Product Category" shipping_category_id: "Shipping Category" - variant_unit_name: "Variant Unit Name" spree/variant: primary_taxon: "Product Category" shipping_category_id: "Shipping Category" supplier: "Supplier" + variant_unit_name: "Variant Unit Name" spree/credit_card: base: "Credit Card" number: "Number" @@ -1073,6 +1073,8 @@ en_US: loading: "Loading" discover_regen: loading: "Loading" + vine: + enable: "Pricing" actions: edit_profile: Settings properties: Properties @@ -3896,12 +3898,14 @@ en_US: new_variant: "New Variant" form: sku: "SKU" - price: "Price" unit_price: "Unit Price" display_as: "Display As" display_name: "Display Name" display_as_placeholder: 'For example, 2 kg' display_name_placeholder: 'For example, Tomatoes' + unit: Unit + price: Price + variant_category: Category autocomplete: out_of_stock: "Out of Stock" producer_name: "Producer" diff --git a/config/locales/en_ZA.yml b/config/locales/en_ZA.yml index 066c08bad28..faccf97832c 100644 --- a/config/locales/en_ZA.yml +++ b/config/locales/en_ZA.yml @@ -29,11 +29,11 @@ en_ZA: price: "Price" primary_taxon_id: "Product Category" shipping_category_id: "Shipping Category" - variant_unit_name: "Variant Unit Name" spree/variant: primary_taxon: "Product Category" shipping_category_id: "Shipping Category" supplier: "Supplier" + variant_unit_name: "Variant Unit Name" spree/credit_card: base: "Credit Card" number: "Number" @@ -909,6 +909,8 @@ en_ZA: loading: "Loading" discover_regen: loading: "Loading" + vine: + enable: "Connect" actions: edit_profile: Settings properties: Properties @@ -3363,9 +3365,11 @@ en_ZA: and: "and" form: sku: "SKU" - price: "Price" unit_price: "Unit Price" display_as: "Display As" + unit: Unit + price: Price + variant_category: Category autocomplete: out_of_stock: "Out of Stock" producer_name: "Producer" diff --git a/config/locales/es.yml b/config/locales/es.yml index 999bbd91323..36da47b18ca 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -46,12 +46,12 @@ es: price: "Precio" primary_taxon_id: "categoría del producto" shipping_category_id: "Categoría de envío" - variant_unit_name: "Nombre de la unidad de la variante" - unit_value: "Valor unidad" spree/variant: primary_taxon: "categoría del producto" shipping_category_id: "Categoría de envío" supplier: "Proveedora" + variant_unit_name: "Nombre de la unidad de la variante" + unit_value: "Valor unidad" spree/credit_card: base: "Tarjeta de crédito" number: "Número" @@ -1143,6 +1143,8 @@ es: loading: "Cargando" discover_regen: loading: "Cargando" + vine: + enable: "Conectar" actions: edit_profile: Configuración properties: Propiedades @@ -4052,12 +4054,15 @@ es: new_variant: "Nueva Variante" form: sku: "SKU" - price: "Precio" unit_price: "Precio por unidad" display_as: "Mostrar como" display_name: "Nombre para mostrar" display_as_placeholder: 'p. ej. 2 Kg' display_name_placeholder: 'p. ej. Tomates' + unit: Unidad + price: Precio + unit_value: Valor unidad + variant_category: Categoría autocomplete: out_of_stock: "Agotado" producer_name: "Productora" diff --git a/config/locales/es_CO.yml b/config/locales/es_CO.yml index a07b4b5025d..4b056d360ff 100644 --- a/config/locales/es_CO.yml +++ b/config/locales/es_CO.yml @@ -31,11 +31,11 @@ es_CO: price: "Precio" primary_taxon_id: "Categoría del producto" shipping_category_id: "Categoría de envío" - variant_unit_name: "Nombre de la unidad de la variante" spree/variant: primary_taxon: "Categoría del producto" shipping_category_id: "Categoría de envío" supplier: "Proveedora" + variant_unit_name: "Nombre de la unidad de la variante" spree/credit_card: base: "Tarjeta de crédito" number: "Número" @@ -941,6 +941,8 @@ es_CO: loading: "Cargando" discover_regen: loading: "Cargando" + vine: + enable: "Conectar" actions: edit_profile: Configuración properties: Propiedades @@ -3592,12 +3594,14 @@ es_CO: new_variant: "Nueva variante" form: sku: "SKU" - price: "Precio" unit_price: "Precio por unidad" display_as: "Mostrar como" display_name: "Nombre para mostrar" display_as_placeholder: 'p.ej. 2 kilogramos' display_name_placeholder: 'p.ej. Tomates' + unit: Unidad + price: Precio + variant_category: Categoría autocomplete: out_of_stock: "Agotado" producer_name: "Productor" diff --git a/config/locales/es_CR.yml b/config/locales/es_CR.yml index a9d6a6a2bf4..e2f449690d5 100644 --- a/config/locales/es_CR.yml +++ b/config/locales/es_CR.yml @@ -33,11 +33,11 @@ es_CR: price: "Precio" primary_taxon_id: "Categoría del producto" shipping_category_id: "Categoría de envío" - variant_unit_name: "Nombre de la unidad de la variante" spree/variant: primary_taxon: "Categoría del producto" shipping_category_id: "Categoría de envío" supplier: "Proveedor" + variant_unit_name: "Nombre de la unidad de la variante" spree/credit_card: base: "Tarjeta de crédito" number: "Número" @@ -1118,6 +1118,8 @@ es_CR: loading: "Cargando" discover_regen: loading: "Cargando" + vine: + enable: "Conectar" actions: edit_profile: Configuración properties: Propiedades @@ -3930,10 +3932,12 @@ es_CR: new_variant: "Nueva variante" form: sku: "SKU" - price: "Precio" unit_price: "Precio por unidad" display_as: "Mostrar como" display_name: "Nombre para mostrar" + unit: Unidad + price: Precio + variant_category: Categoría autocomplete: out_of_stock: "Agotado" producer_name: "Productor" diff --git a/config/locales/es_US.yml b/config/locales/es_US.yml index a34437e942d..8a6dd1a2529 100644 --- a/config/locales/es_US.yml +++ b/config/locales/es_US.yml @@ -31,11 +31,11 @@ es_US: price: "Precio" primary_taxon_id: "categoría del producto" shipping_category_id: "Categoría de envío" - variant_unit_name: "Nombre de la unidad de la variante" spree/variant: primary_taxon: "categoría del producto" shipping_category_id: "Categoría de envío" supplier: "Proveedor" + variant_unit_name: "Nombre de la unidad de la variante" spree/credit_card: base: "Tarjeta de crédito" number: "Número" @@ -1072,6 +1072,8 @@ es_US: loading: "Cargando" discover_regen: loading: "Cargando" + vine: + enable: "Conectar" actions: edit_profile: Configuración properties: Propiedades @@ -3846,12 +3848,14 @@ es_US: new_variant: "Nueva Variante" form: sku: "SKU" - price: "Precio" unit_price: "Precio por unidad" display_as: "Mostrar como" display_name: "Nombre para mostrar" display_as_placeholder: 'p. ej. 2 Kg' display_name_placeholder: 'p. ej. Tomates' + unit: Unidad + price: Precio + variant_category: Categoría autocomplete: out_of_stock: "Agotado" producer_name: "Productora" diff --git a/config/locales/fil_PH.yml b/config/locales/fil_PH.yml index a0e9ac8c90f..2fa301129e6 100644 --- a/config/locales/fil_PH.yml +++ b/config/locales/fil_PH.yml @@ -29,11 +29,11 @@ fil_PH: price: "Presyo" primary_taxon_id: "Kategorya ng Produkto" shipping_category_id: "Kategorya ng Pagpapadala" - variant_unit_name: "pangalan ng yunit ng variant" spree/variant: primary_taxon: "Kategorya ng Produkto" shipping_category_id: "Kategorya ng Pagpapadala" supplier: "Supplier" + variant_unit_name: "pangalan ng yunit ng variant" spree/credit_card: base: "Credit Card" number: "Bilang" @@ -909,6 +909,8 @@ fil_PH: loading: "naglo-load" discover_regen: loading: "naglo-load" + vine: + enable: "Kumonekta" actions: edit_profile: Settings properties: mga katangian @@ -3480,10 +3482,12 @@ fil_PH: new_variant: "bagong variant" form: sku: "SKU" - price: "presyo" unit_price: "Presyo kada Yunit" display_as: "Ipakita Bilang" display_name: "Pangalan na nakikita" + unit: yunit + price: presyo + variant_category: kategorya autocomplete: out_of_stock: "Walang stock" producer_name: "Producer" diff --git a/config/locales/fr.yml b/config/locales/fr.yml index c34700e4743..2de63fe888b 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -49,13 +49,13 @@ fr: price: "Prix" primary_taxon_id: "Catégorie Produit" shipping_category_id: "Condition de transport" - variant_unit: "Unité" - variant_unit_name: "Unité de la variante" - unit_value: "Nb unités" spree/variant: primary_taxon: "Catégorie Produit" shipping_category_id: "Condition de transport" supplier: "Fournisseur" + variant_unit: "Unité" + variant_unit_name: "Unité de la variante" + unit_value: "Nb unités" spree/credit_card: base: "Carte de crédit" number: "N° commande" @@ -1377,6 +1377,10 @@ fr: target="_blank">En savoir plus sur Discover Regenerative + vine: + enable: "A propos" + disable: "Déconnecter" + need_to_be_manager: "Seuls les gestionnaires peuvent connecter des applications." actions: edit_profile: Paramètres properties: Labels / propriétés @@ -4491,12 +4495,16 @@ fr: new_variant: "Nouvelle variante" form: sku: "Référence Produit" - price: "Prix" unit_price: "Prix unitaire" display_as: "Unité affichée" display_name: "Nom affiché" display_as_placeholder: 'ex. 2 kg' display_name_placeholder: 'ex. Tomates' + unit_scale: "Unité" + unit: Unité affichée + price: Prix + unit_value: Nb unités + variant_category: Catégorie autocomplete: out_of_stock: "En rupture de stock" producer_name: "Producteur" diff --git a/config/locales/fr_BE.yml b/config/locales/fr_BE.yml index 1ed23be29e4..f2d317d5efe 100644 --- a/config/locales/fr_BE.yml +++ b/config/locales/fr_BE.yml @@ -46,12 +46,12 @@ fr_BE: price: "Prix" primary_taxon_id: "Catégorie de Produit" shipping_category_id: "Catégorie de livraison" - variant_unit_name: "Nom de la variante" - unit_value: "Valeur unitaire" spree/variant: primary_taxon: "Catégorie de Produit" shipping_category_id: "Catégorie de livraison" supplier: "Disitributeur·trice" + variant_unit_name: "Nom de la variante" + unit_value: "Valeur unitaire" spree/credit_card: base: "Carte de crédit" number: "N° commande" @@ -193,6 +193,7 @@ fr_BE: no_default_card: "Pas de carte de paiement par défaut pour cet acheteur" shipping_method: not_available_to_shop: "n'est pas disponible pour %{shop}" + card_details: "Détails de la carte" customer_instructions: "Précisions pour la personne qui achète" devise: passwords: @@ -485,10 +486,13 @@ fr_BE: clone: Dupliquer delete: Supprimer remove: Supprimer + preview: Aperçu image: edit: Modifier product_preview: + product_preview: Aperçu du produit shop_tab: Comptoir + product_details_tab: Détails du produit adjustments: skipped_changing_canceled_order: "Vous ne pouvez pas modifier une commande annulée." begins_at: Commence @@ -1182,6 +1186,8 @@ fr_BE: loading: "Chargement en cours" discover_regen: loading: "Chargement en cours" + vine: + enable: "Se connecter" actions: edit_profile: Paramètres properties: Labels / propriétés @@ -1469,6 +1475,9 @@ fr_BE: pack_by_customer: Préparation des commandes par Acheteur·euse pack_by_supplier: Préparation des commandes par Producteur·trice pack_by_product: Préparation des commandes par produit + display: + report_is_big: "Ce rapport est volumineux et peut ralentir votre appareil." + display_anyway: "Afficher quand même" download: button: "Télécharger le rapport" show: @@ -1722,6 +1731,7 @@ fr_BE: stripe: use_saved_card: Utiliser la carte enregistrée save_card: Enregistrer la carte pour une utilisation ultérieure + create_new_card: ou entrez les détails de la nouvelle carte ci-dessous explaination: Vous pouvez vérifier et confirmer votre commande à l'étape suivante qui comprend les coûts finaux. submit: Suivant - Récapitulatif de la commande cancel: Retour à Vos coordonnées @@ -1730,7 +1740,7 @@ fr_BE: apply_voucher: Appliquer le bon d'achat placeholder: Entrer le code du bon d'achat confirm_delete: Êtes-vous sûr de vouloir supprimer le bon ? - warning_forfeit_remaining_amount: "Remarque : si le total de votre commande est inférieur à votre bon, vous ne pourrez peut-être pas dépenser la valeur restante." + warning_forfeit_remaining_amount: "Remarque : si le total de votre commande est inférieur à votre bon, vous ne pourrez peut-être pas dépenser la valeur restante." step3: delivery_details: title: Détails de livraison @@ -3626,6 +3636,7 @@ fr_BE: email: Email account_updated: "Compte mis à jour!" email_updated: "Le compte sera mis à jour une fois la nouvelle adresse-mail confirmée" + show_api_key_view_toggled: "L'affichage de la clé API a été modifié !" my_account: "Mon compte" date: "Date" time: "Heure" @@ -4013,12 +4024,16 @@ fr_BE: new_variant: "Nouvelle variante" form: sku: "Référence produit" - price: "Prix" unit_price: "Prix unitaire" display_as: "Unité affichéé" display_name: "Nom d'affichage" display_as_placeholder: 'Ex: 2 kilo' display_name_placeholder: 'ex: Tomates' + unit_scale: "Unité" + unit: Unité + price: Prix + unit_value: Valeur unitaire + variant_category: Catégorie autocomplete: out_of_stock: "Pas en stock" producer_name: "Producteur·trice" @@ -4232,6 +4247,7 @@ fr_BE: key_cleared: "clé effacée" shipment: cannot_ready: "Impossible de préparer l'expédition." + toggle_api_key_view: "Afficher la vue de la clé API pour l'utilisateur" unit: unité per_unit: Montant par unité datetime: diff --git a/config/locales/fr_CA.yml b/config/locales/fr_CA.yml index 894430b7b79..66b41e828be 100644 --- a/config/locales/fr_CA.yml +++ b/config/locales/fr_CA.yml @@ -49,13 +49,13 @@ fr_CA: price: "Prix" primary_taxon_id: "Catégorie Produit" shipping_category_id: "Condition de transport" - variant_unit: "Unit Scale" - variant_unit_name: "Unité de la variante" - unit_value: "Nb unités" spree/variant: primary_taxon: "Catégorie Produit" shipping_category_id: "Condition de transport" supplier: "Fournisseur" + variant_unit: "Unit Scale" + variant_unit_name: "Unité de la variante" + unit_value: "Nb unités" spree/credit_card: base: "Carte de crédit" number: "N° commande" @@ -1375,6 +1375,10 @@ fr_CA: En savoir plus sur le Annuaire alimentaire de Waterloo. + vine: + enable: "Se connecter" + disable: "Déconnecter" + need_to_be_manager: "Seuls les gestionnaires peuvent connecter des applications." actions: edit_profile: Paramètres properties: Labels / propriétés @@ -4472,12 +4476,16 @@ fr_CA: new_variant: "Nouvelle variante" form: sku: "Référence Produit" - price: "Prix" unit_price: "Prix unitaire" display_as: "Afficher comme" display_name: "Nom affiché" display_as_placeholder: 'ex. 2 kg' display_name_placeholder: 'ex. Tomates' + unit_scale: "Échelle d'unité" + unit: Unité + price: Prix + unit_value: Nb unités + variant_category: Catégorie autocomplete: out_of_stock: "En rupture de stock" producer_name: "Producteur" diff --git a/config/locales/fr_CH.yml b/config/locales/fr_CH.yml index f43a96e2ffa..be8e5b4129b 100644 --- a/config/locales/fr_CH.yml +++ b/config/locales/fr_CH.yml @@ -31,11 +31,11 @@ fr_CH: price: "Prix" primary_taxon_id: "Catégorie Produit" shipping_category_id: "Condition de transport" - variant_unit_name: "Unité de la variante" spree/variant: primary_taxon: "Catégorie Produit" shipping_category_id: "Condition de transport" supplier: "Fournisseur" + variant_unit_name: "Unité de la variante" spree/credit_card: base: "Carte de crédit" number: "N° commande" @@ -1105,6 +1105,8 @@ fr_CH: loading: "Chargement en cours" discover_regen: loading: "Chargement en cours" + vine: + enable: "A propos" actions: edit_profile: Paramètres properties: Labels / propriétés @@ -4002,12 +4004,14 @@ fr_CH: new_variant: "Nouvelle variante" form: sku: "Référence Produit" - price: "Prix" unit_price: "Prix unitaire" display_as: "Unité affichée" display_name: "Nom affiché" display_as_placeholder: 'ex. 2 kg' display_name_placeholder: 'ex. Tomates' + unit: Unité + price: Prix + variant_category: Catégorie autocomplete: out_of_stock: "En rupture de stock" producer_name: "Producteur" diff --git a/config/locales/fr_CM.yml b/config/locales/fr_CM.yml index 2431e13e231..b7003f505cd 100644 --- a/config/locales/fr_CM.yml +++ b/config/locales/fr_CM.yml @@ -31,11 +31,11 @@ fr_CM: price: "Prix" primary_taxon_id: "Catégorie Produit" shipping_category_id: "Condition de transport" - variant_unit_name: "Unité de la variante" spree/variant: primary_taxon: "Catégorie Produit" shipping_category_id: "Condition de transport" supplier: "Fournisseur" + variant_unit_name: "Unité de la variante" spree/credit_card: base: "Carte de crédit" number: "N° commande" @@ -1029,6 +1029,8 @@ fr_CM: loading: "Chargement en cours" discover_regen: loading: "Chargement en cours" + vine: + enable: "A propos" actions: edit_profile: Paramètres properties: Labels / propriétés @@ -3896,12 +3898,14 @@ fr_CM: new_variant: "Nouvelle variante" form: sku: "Référence Produit" - price: "Prix" unit_price: "Prix unitaire" display_as: "Unité affichée" display_name: "Nom affiché" display_as_placeholder: 'ex. 2 kg' display_name_placeholder: 'ex. Tomates' + unit: Unité + price: Prix + variant_category: Catégorie autocomplete: out_of_stock: "En rupture de stock" producer_name: "Producteur" diff --git a/config/locales/hi.yml b/config/locales/hi.yml index 2b5980c30b6..9697b6fa323 100644 --- a/config/locales/hi.yml +++ b/config/locales/hi.yml @@ -49,12 +49,12 @@ hi: price: "कीमत" primary_taxon_id: "उत्पाद की श्रेणी" shipping_category_id: "शिपिंग श्रेणी" - variant_unit_name: "वेरिएंट यूनिट का नाम" - unit_value: "यूनिट वैल्यू" spree/variant: primary_taxon: "उत्पाद की श्रेणी" shipping_category_id: "शिपिंग श्रेणी" supplier: "आपूर्तिकर्ता" + variant_unit_name: "वेरिएंट यूनिट का नाम" + unit_value: "यूनिट वैल्यू" spree/credit_card: base: "क्रेडिट कार्ड" number: "नंबर" @@ -1233,6 +1233,8 @@ hi: loading: "लोड हो रहा" discover_regen: loading: "लोड हो रहा" + vine: + enable: "मूल्य निर्धारण" actions: edit_profile: सेटिंग्स properties: प्रॉपर्टीज़ @@ -4235,12 +4237,15 @@ hi: new_variant: "नया वैरिएंट" form: sku: "SKU" - price: "कीमत" unit_price: "यूनिट की कीमत" display_as: "इस रूप में प्रदर्शित करें" display_name: "नाम प्रदर्शित करें" display_as_placeholder: 'उदाहरण 2 किलोग्राम' display_name_placeholder: 'उदाहरण टमाटर' + unit: यूनिट + price: कीमत + unit_value: यूनिट वैल्यू + variant_category: श्रेणी autocomplete: out_of_stock: "आउट ऑफ स्टॉक" producer_name: "उत्पादक" diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 927a200f0fa..57f38011201 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -49,12 +49,12 @@ hu: price: "Ár" primary_taxon_id: "Termékkategória" shipping_category_id: "Szállítási mód" - variant_unit_name: "Változat egység neve" - unit_value: "Egység értéke" spree/variant: primary_taxon: "Termékkategória" shipping_category_id: "Szállítási mód" supplier: "Beszállító" + variant_unit_name: "Változat egység neve" + unit_value: "Egység értéke" spree/credit_card: base: "Hitelkártya" number: "Szám" @@ -1323,6 +1323,10 @@ hu: target="_blank"> Tudj meg többet a Regeneratív gyakorlatokról. + vine: + enable: "Csatlakozás" + disable: "Lecsatlakozás" + need_to_be_manager: "Csak a megfelelő jogosultsággal rendelkező felhasználók csatlakoztathatnak alkalmazásokat." actions: edit_profile: Beállítások properties: Tulajdonságok @@ -4362,12 +4366,16 @@ hu: new_variant: "Új Változat" form: sku: "SKU" - price: "Ár" unit_price: "Egységár" display_as: "Megjelenítés mint" display_name: "Megjelenítendő név" display_as_placeholder: 'például. 2 kg''' display_name_placeholder: 'például. paradicsom' + unit_scale: "Mértékegység skála" + unit: Mértékegység + price: Ár + unit_value: Egység értéke + variant_category: Kategória autocomplete: out_of_stock: "Nincs raktáron" producer_name: "Termelő" diff --git a/config/locales/it.yml b/config/locales/it.yml index bd377afd9d3..bf37062fa51 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -46,12 +46,12 @@ it: price: "Prezzo" primary_taxon_id: "Categoria Prodotto" shipping_category_id: "Categoria Spedizioni" - variant_unit_name: "Nome Unità Variante" - unit_value: "Valore unità" spree/variant: primary_taxon: "Categoria Prodotto" shipping_category_id: "Categoria Spedizioni" supplier: "Fornitore" + variant_unit_name: "Nome Unità Variante" + unit_value: "Valore unità" spree/credit_card: base: "Carta di Credito" number: "Numero" @@ -1150,6 +1150,8 @@ it: loading: "Caricamento" discover_regen: loading: "Caricamento" + vine: + enable: "Blog" actions: edit_profile: Impostazioni properties: Proprietà @@ -4091,12 +4093,15 @@ it: new_variant: "Nuova variante" form: sku: "Codice ID" - price: "Prezzo" unit_price: "Prezzo unitario" display_as: "Visualizza come" display_name: "Nome da visualizzare" display_as_placeholder: 'es. 2 kg' display_name_placeholder: 'es. Pomodori' + unit: Unità + price: Prezzo + unit_value: Valore unità + variant_category: Categoria autocomplete: out_of_stock: "Esaurito" producer_name: "Produttore" diff --git a/config/locales/it_CH.yml b/config/locales/it_CH.yml index 9d745d7a5f2..bcf299093a7 100644 --- a/config/locales/it_CH.yml +++ b/config/locales/it_CH.yml @@ -31,11 +31,11 @@ it_CH: price: "Prezzo" primary_taxon_id: "Categoria prodotto" shipping_category_id: "Categoria Spedizioni" - variant_unit_name: "Nome Unità Variante" spree/variant: primary_taxon: "Categoria prodotto" shipping_category_id: "Categoria Spedizioni" supplier: "Fornitore" + variant_unit_name: "Nome Unità Variante" spree/credit_card: base: "Carta di Credito" number: "Numero" @@ -1079,6 +1079,8 @@ it_CH: loading: "Caricamento" discover_regen: loading: "Caricamento" + vine: + enable: "Blog" actions: edit_profile: Impostazioni properties: Proprietà @@ -3931,12 +3933,14 @@ it_CH: new_variant: "Nuova variante" form: sku: "Codice ID" - price: "Prezzo" unit_price: "Prezzo unitario" display_as: "Visualizza come" display_name: "Nome da visualizzare" display_as_placeholder: 'es. 2 kg' display_name_placeholder: 'es. Pomodori' + unit: Unità + price: Prezzo + variant_category: Categoria autocomplete: out_of_stock: "Esaurito" producer_name: "Produttore" diff --git a/config/locales/ko.yml b/config/locales/ko.yml index e4f508e1546..c77d9215fbe 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -31,11 +31,11 @@ ko: price: "가격" primary_taxon_id: "물품 목록" shipping_category_id: "전송물품 목록" - variant_unit_name: "변경된 구성 단위 이름" spree/variant: primary_taxon: "물품 목록" shipping_category_id: "전송물품 목록" supplier: "공급업체" + variant_unit_name: "변경된 구성 단위 이름" spree/credit_card: base: "신용카드" number: "숫자" @@ -1099,6 +1099,8 @@ ko: loading: "로딩 중" discover_regen: loading: "로딩 중" + vine: + enable: "함께하고 싶으시다면" actions: edit_profile: 설정 properties: 특성 @@ -3898,12 +3900,14 @@ ko: new_variant: "새로운 변경사항" form: sku: "재고 관리 단위" - price: "가격" unit_price: "단가" display_as: "다른 이름으로 표시" display_name: "이름 표시" display_as_placeholder: '예. 2 kg' display_name_placeholder: '예. Tomatoes' + unit: 단위 + price: 가격 + variant_category: 목록 autocomplete: out_of_stock: "품절" producer_name: "제공자" diff --git a/config/locales/ml.yml b/config/locales/ml.yml index 14407160c35..2db92efb786 100644 --- a/config/locales/ml.yml +++ b/config/locales/ml.yml @@ -49,12 +49,12 @@ ml: price: "വില" primary_taxon_id: "ഉൽപ്പന്ന വിഭാഗം" shipping_category_id: "ഷിപ്പിംഗ് വിഭാഗം" - variant_unit_name: "വേരിയന്റ് യൂണിറ്റിന്റെ പേര്" - unit_value: "യൂണിറ്റ് മൂല്യം" spree/variant: primary_taxon: "ഉൽപ്പന്ന വിഭാഗം" shipping_category_id: "അയക്കൽ വിഭാഗം" supplier: "വിതരണക്കാരൻ" + variant_unit_name: "വേരിയന്റ് യൂണിറ്റിന്റെ പേര്" + unit_value: "യൂണിറ്റ് മൂല്യം" spree/credit_card: base: "ക്രെഡിറ്റ് കാർഡ്" number: "നമ്പർ" @@ -1242,6 +1242,8 @@ ml: discover_regen: title: "റീജനറേറ്റീവ് കണ്ടെത്തുക" loading: "ലോഡിംഗ്" + vine: + enable: "ബന്ധിപ്പിക്കുക" actions: edit_profile: ക്രമീകരണങ്ങൾ properties: പ്രോപ്പർട്ടികൾ @@ -4262,12 +4264,15 @@ ml: new_variant: "പുതിയ വേരിയന്റ്" form: sku: "എസ്.കെ.യു" - price: "വില" unit_price: "യൂണിറ്റ് വില" display_as: "പ്രദർശന മാർഗ്ഗം" display_name: "പ്രദർശന നാമം" display_as_placeholder: 'ഉദാ. 2 കി.ഗ്രാം' display_name_placeholder: 'ഉദാ. തക്കാളി' + unit: യൂണിറ്റ് + price: വില + unit_value: യൂണിറ്റ് മൂല്യം + variant_category: വിഭാഗം autocomplete: out_of_stock: "സ്റ്റോക്കില്ല" producer_name: "പ്രൊഡ്യൂസർ" diff --git a/config/locales/mr.yml b/config/locales/mr.yml index 9129e1711b3..4db419b77e2 100644 --- a/config/locales/mr.yml +++ b/config/locales/mr.yml @@ -49,12 +49,12 @@ mr: price: "किंमत" primary_taxon_id: "उत्पादन श्रेणी" shipping_category_id: "शिपिंग श्रेणी" - variant_unit_name: "वेरिएंट युनिटचे नाव" - unit_value: "युनिट मूल्य" spree/variant: primary_taxon: "उत्पादन श्रेणी" shipping_category_id: "शिपिंग श्रेणी" supplier: "पुरवठादार" + variant_unit_name: "वेरिएंट युनिटचे नाव" + unit_value: "युनिट मूल्य" spree/credit_card: base: "क्रेडीट कार्ड" number: "क्रमांक" @@ -1221,6 +1221,9 @@ mr: create_custom_tab: "शॉपफ्रंटमध्ये कस्टम टॅब तयार करा" custom_tab_title: "कस्टम टॅबसाठी शीर्षक" custom_tab_content: "कस्टम टॅबसाठी मजकूर" + connected_apps: + vine: + enable: "किंमत" actions: edit_profile: सेटिंग्ज properties: 'गुणधर्म ' @@ -4148,12 +4151,14 @@ mr: new_variant: "नवीन प्रकार" form: sku: "SKU" - price: "किंमत" unit_price: "युनिट किंमत" display_as: "म्हणून प्रदर्शित करा" display_name: "डिस्प्ले नाव" display_as_placeholder: 'उदा. 2 किलो' display_name_placeholder: 'उदा. टोमॅटो' + price: किंमत + unit_value: युनिट मूल्य + variant_category: श्रेणी autocomplete: out_of_stock: "स्टॉक संपला" producer_name: "उत्पादक" diff --git a/config/locales/nb.yml b/config/locales/nb.yml index 9ed17d144c8..c89ea8b2fb0 100644 --- a/config/locales/nb.yml +++ b/config/locales/nb.yml @@ -49,12 +49,12 @@ nb: price: "Pris" primary_taxon_id: "Produktkategori" shipping_category_id: "Leveringskategori" - variant_unit_name: "Enhetsnavn Variant" - unit_value: "Enhetsverdi" spree/variant: primary_taxon: "Produktkategori" shipping_category_id: "Leveringskategori" supplier: "Leverandør" + variant_unit_name: "Enhetsnavn Variant" + unit_value: "Enhetsverdi" spree/credit_card: base: "Kredittkort" number: "Antall" @@ -1328,6 +1328,10 @@ nb: target="_blank">Lær mer om Discover Regenerativ + vine: + enable: "Koble til" + disable: "Koble fra" + need_to_be_manager: "Bare ledere kan koble til apper." actions: edit_profile: Innstillinger properties: Egenskaper @@ -4358,12 +4362,16 @@ nb: new_variant: "Ny Variant" form: sku: "SKU" - price: "Pris" unit_price: "Enhetspris" display_as: "Vis som" display_name: "Visningsnavn" display_as_placeholder: 'f.eks. 2 kg' display_name_placeholder: 'f.eks. Tomater' + unit_scale: "Enhetsskala" + unit: Enhet + price: Pris + unit_value: Enhetsverdi + variant_category: Kategori autocomplete: out_of_stock: "Ikke på Lager" producer_name: "Produsent" diff --git a/config/locales/nl_BE.yml b/config/locales/nl_BE.yml index fa66bcaa060..d24f754e2ac 100644 --- a/config/locales/nl_BE.yml +++ b/config/locales/nl_BE.yml @@ -31,11 +31,11 @@ nl_BE: price: "Prijs" primary_taxon_id: "Product categorie" shipping_category_id: "Verzendcategorie" - variant_unit_name: "Variant Unit Name" spree/variant: primary_taxon: "Product categorie" shipping_category_id: "Verzendcategorie" supplier: "Leverancier" + variant_unit_name: "Variant Unit Name" spree/credit_card: base: "Kredietkaart" number: "Nummer" @@ -932,6 +932,8 @@ nl_BE: loading: "Aan het opladen" discover_regen: loading: "Aan het opladen" + vine: + enable: "Connecteer je " actions: edit_profile: Instellingen properties: Eigenschappen @@ -3491,12 +3493,14 @@ nl_BE: new_variant: "Nieuw variant" form: sku: "SKU" - price: "Prijs" unit_price: "Stukprijs" display_as: "Weergeven als" display_name: "Weergave naam" display_as_placeholder: 'bv. 2.kg' display_name_placeholder: 'bv. Tomaten' + unit: Unit + price: Prijs + variant_category: Categorie autocomplete: out_of_stock: "Geen voorraad" producer_name: "Producent" diff --git a/config/locales/pa.yml b/config/locales/pa.yml index a92d5db1312..c42c4c99658 100644 --- a/config/locales/pa.yml +++ b/config/locales/pa.yml @@ -46,12 +46,12 @@ pa: price: "ਕੀਮਤ" primary_taxon_id: "ਉਤਪਾਦ ਸ਼੍ਰੇਣੀ" shipping_category_id: "ਸ਼ਿਪਿੰਗ ਸ਼੍ਰੇਣੀ" - variant_unit_name: "ਵੇਰੀਐਂਟ ਯੂਨਿਟ ਦਾ ਨਾਮ" - unit_value: "ਯੂਨਿਟ ਵੈਲਯੂ" spree/variant: primary_taxon: "ਉਤਪਾਦ ਸ਼੍ਰੇਣੀ" shipping_category_id: "ਸ਼ਿਪਿੰਗ ਸ਼੍ਰੇਣੀ" supplier: "ਸਪਲਾਇਰ" + variant_unit_name: "ਵੇਰੀਐਂਟ ਯੂਨਿਟ ਦਾ ਨਾਮ" + unit_value: "ਯੂਨਿਟ ਵੈਲਯੂ" spree/credit_card: base: "ਕਰੇਡਿਟ ਕਾਰਡ" number: "ਨੰਬਰ" @@ -1217,6 +1217,8 @@ pa: loading: "ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" discover_regen: loading: "ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + vine: + enable: "ਕਨੈਕਟ" actions: edit_profile: ਸੈਟਿੰਗਾਂ properties: ਪ੍ਰਾਪਰਟੀਜ਼ @@ -4129,12 +4131,15 @@ pa: new_variant: "ਨਵਾਂ ਵੇਰੀਐਂਟ" form: sku: "SKU" - price: "ਕੀਮਤ" unit_price: "ਯੂਨਿਟ ਦੀ ਕੀਮਤ" display_as: "ਇਸ ਤਰ੍ਹਾਂ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੋ" display_name: "ਡਿਸਪਲੇ ਕੀਤੇ ਜਾਣ ਵਾਲਾ ਨਾਂ" display_as_placeholder: 'ਜਿਵੇਂ ਕਿ 2 ਕਿਲੋ' display_name_placeholder: 'ਜਿਵੇਂ ਕਿ ਟਮਾਟਰ''' + unit: ਯੂਨਿਟ + price: ਕੀਮਤ + unit_value: ਯੂਨਿਟ ਵੈਲਯੂ + variant_category: ਸ਼੍ਰੇਣੀ autocomplete: out_of_stock: "ਸਟਾਕ ਵਿੱਚ ਨਹੀਂ ਹੈਂ" producer_name: "ਉਤਪਾਦਕ" diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 6578b1fff37..298d7006fce 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -26,11 +26,11 @@ pl: price: "Cena" primary_taxon_id: "Kategoria produktu" shipping_category_id: "Kategoria dostawy" - variant_unit_name: "Nazwa jednostki wariantu" spree/variant: primary_taxon: "Kategoria produktu" shipping_category_id: "Kategoria dostawy" supplier: "Dostawca" + variant_unit_name: "Nazwa jednostki wariantu" spree/credit_card: base: "Karta kredytowa" number: "Numer zamówienia" @@ -880,6 +880,9 @@ pl: email_not_confirmed: "Adres e-mail nie został potwierdzony" vouchers: customers: Klient + connected_apps: + vine: + enable: "Połącz się" actions: edit_profile: Ustawienia properties: Właściwości @@ -3455,11 +3458,13 @@ pl: new_variant: "New Variant" form: sku: "SKU" - price: "Cena" display_as: "Wyświetl jako" display_name: "Wyświetlana nazwa" display_as_placeholder: 'na przykład. 2 kg' display_name_placeholder: 'np. Pomidory' + unit: Jednostka + price: Cena + variant_category: Kategoria autocomplete: out_of_stock: "Obecnie brak na stanie" producer_name: "Producent" diff --git a/config/locales/pt.yml b/config/locales/pt.yml index e29dc251941..a7ebfd230f7 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -31,11 +31,11 @@ pt: price: "Preço" primary_taxon_id: "Categoria de Produto" shipping_category_id: "Categoria de Envio" - variant_unit_name: "Nome da Unidade da Variante" spree/variant: primary_taxon: "Categoria de Produto" shipping_category_id: "Categoria de Envio" supplier: "Fornecedor" + variant_unit_name: "Nome da Unidade da Variante" spree/credit_card: base: "Cartão de Crédito" number: "Número" @@ -972,6 +972,8 @@ pt: loading: "A carregar" discover_regen: loading: "A carregar" + vine: + enable: "Conectar" actions: edit_profile: Definições properties: Propriedades @@ -3457,12 +3459,14 @@ pt: new_variant: "Nova variante" form: sku: "SKU" - price: "Preço" unit_price: "Preço Unitário" display_as: "Mostrar como" display_name: "Nome a apresentar" display_as_placeholder: 'por ex. 2 kg' display_name_placeholder: 'por ex. Tomates' + unit: Unidade + price: Preço + variant_category: Categoria autocomplete: out_of_stock: "Sem Stock" producer_name: "Produtor" diff --git a/config/locales/pt_BR.yml b/config/locales/pt_BR.yml index 2cf1dc829b0..fb394fde76d 100644 --- a/config/locales/pt_BR.yml +++ b/config/locales/pt_BR.yml @@ -29,11 +29,11 @@ pt_BR: price: "Preço" primary_taxon_id: "Categoria de Produto" shipping_category_id: "Tipos de Frete" - variant_unit_name: "Nome da unidade variante" spree/variant: primary_taxon: "Categoria de Produto" shipping_category_id: "Tipos de Frete" supplier: "Fornecedor" + variant_unit_name: "Nome da Unidade da Variante" spree/credit_card: base: "Cartão de Crédito" number: "Número" @@ -1012,6 +1012,8 @@ pt_BR: loading: "Carregando" discover_regen: loading: "Carregando" + vine: + enable: "Conectar" actions: edit_profile: Configurações properties: Propriedades @@ -3780,12 +3782,14 @@ pt_BR: new_variant: "Nova Variante" form: sku: "SKU" - price: "Preço" unit_price: "Preço Unitário" display_as: "Mostrar Como" display_name: "Mostrar Nome" display_as_placeholder: 'ex. 2 kg' display_name_placeholder: 'ex. Tomates' + unit: Unidade + price: Preço + variant_category: Categoria autocomplete: out_of_stock: "Sem estoque" producer_name: "Produtor" diff --git a/config/locales/ru.yml b/config/locales/ru.yml index aa6b6a1d6ab..c24ac4eaeab 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -49,12 +49,12 @@ ru: price: "Цена" primary_taxon_id: "Категория Товара" shipping_category_id: "Категория Доставки" - variant_unit_name: "Название Единицы Варианта" - unit_value: "Значение товара" spree/variant: primary_taxon: "Категория Товара" shipping_category_id: "Категория Доставки" supplier: "Поставщик" + variant_unit_name: "Название Единицы Варианта" + unit_value: "Значение товара" spree/credit_card: base: "Кредитная Карта" number: "Номер" @@ -1286,6 +1286,9 @@ ru: Ваша учетная запись Открытой Сети Продуктов подключена к Discover Regenerative. Добавьте или обновите информацию о своем списке Discover Regenerative здесь. link_label: "Управление списком" + vine: + enable: "Подключить" + disable: "Отключить" actions: edit_profile: Настройки properties: Свойства @@ -4374,12 +4377,16 @@ ru: new_variant: "Новый Вариант" form: sku: "SKU" - price: "Цена" unit_price: "Цена за единицу" display_as: "Показать как" display_name: "Показать имя" display_as_placeholder: 'напр. 2 кг' display_name_placeholder: 'напр. Помидоры' + unit_scale: "Единицы" + unit: Единица измерения + price: Цена + unit_value: Значение товара + variant_category: Категория autocomplete: out_of_stock: "Нет в Наличии" producer_name: "Производитель" diff --git a/config/locales/sv.yml b/config/locales/sv.yml index dd76a3b91db..a3e07a01bf0 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -567,6 +567,9 @@ sv: managers_tip: Andra användare med tillstånd att leda detta företag. vouchers: customers: Kund + connected_apps: + vine: + enable: "Anslut" actions: edit_profile: Inställningar properties: Egenskaper @@ -2349,9 +2352,11 @@ sv: price: "Pris" form: sku: "SKU" - price: "Pris" unit_price: "Styckpris" display_as: "Visa som" + unit: Enhet + price: Pris + variant_category: Kategori autocomplete: producer_name: "Producent" unit: "Enhet" diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 6d6465906c3..7e6b5d26f82 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -31,11 +31,11 @@ tr: price: "Fiyat" primary_taxon_id: "ÜRÜN KATEGORİSİ" shipping_category_id: "TESLİMAT KATEGORİSİ" - variant_unit_name: "Çeşit Birim Adı" spree/variant: primary_taxon: "ÜRÜN KATEGORİSİ" shipping_category_id: "TESLİMAT KATEGORİSİ" supplier: "TEDARİKÇİ" + variant_unit_name: "Çeşit Birim Adı" spree/credit_card: base: "Kredİ kartı" number: "Numara" @@ -1001,6 +1001,8 @@ tr: loading: "Yükleniyor" discover_regen: loading: "Yükleniyor" + vine: + enable: "Bağlan" actions: edit_profile: Ayarlar properties: ÖZELLİKLER @@ -3785,12 +3787,14 @@ tr: new_variant: "Yeni Çeşit" form: sku: "Stok Kodu" - price: "Fiyat" unit_price: "Birim Fiyat" display_as: "Gösterme Şekli" display_name: "Ekran adı" display_as_placeholder: 'Örn. 2 kg' display_name_placeholder: 'Örn. Domates' + unit: Birim + price: Fiyat + variant_category: Kategori autocomplete: out_of_stock: "Stokta Yok" producer_name: "Üretici" diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 785e0a1ce30..a26ad1db693 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -33,11 +33,11 @@ uk: price: "Ціна" primary_taxon_id: "Категорія товару" shipping_category_id: "Категорія доставки" - variant_unit_name: "Назва варіанта одиниці" spree/variant: primary_taxon: "Категорія товару" shipping_category_id: "Категорія доставки" supplier: "Постачальник" + variant_unit_name: "Назва варіанта одиниці" spree/credit_card: base: "Кредитна картка" number: "Номер" @@ -1116,6 +1116,8 @@ uk: loading: "Завантаження" discover_regen: loading: "Завантаження" + vine: + enable: "Підключитися" actions: edit_profile: Налаштування properties: Властивості @@ -4023,12 +4025,14 @@ uk: new_variant: "Новий Варіант" form: sku: "Артикул" - price: "Ціна" unit_price: "Ціна за од." display_as: "Відображати як" display_name: "Відображуване ім'я" display_as_placeholder: 'напр. 2 кг' display_name_placeholder: 'напр. Помідори' + unit: Одиниця + price: Ціна + variant_category: Категорія autocomplete: out_of_stock: "Немає в наявності" producer_name: "Виробник" From 24df29ddf5550fd601f784f383c20d05926bd8d6 Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou