From 6e78ae762a5d81a86fd8fed0d649b847fbfa971a Mon Sep 17 00:00:00 2001 From: luisramos0 Date: Tue, 4 Feb 2020 10:01:18 +0000 Subject: [PATCH 01/20] Make it work even if preferred_enterprise_id is null --- lib/open_food_network/available_payment_method_filter.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/open_food_network/available_payment_method_filter.rb b/lib/open_food_network/available_payment_method_filter.rb index 379beb22b5..2e9af09bf8 100644 --- a/lib/open_food_network/available_payment_method_filter.rb +++ b/lib/open_food_network/available_payment_method_filter.rb @@ -15,9 +15,9 @@ module OpenFoodNetwork end def stripe_configuration_incomplete?(payment_method) - return true if payment_method.preferred_enterprise_id.zero? - - payment_method.stripe_account_id.blank? + payment_method.preferred_enterprise_id.nil? || + payment_method.preferred_enterprise_id.zero? || + payment_method.stripe_account_id.blank? end end end From 66320b505539da43de2c788ee30a4506f7fa06df Mon Sep 17 00:00:00 2001 From: luisramos0 Date: Fri, 7 Feb 2020 12:25:38 +0000 Subject: [PATCH 02/20] Remove the assets group from the gemfile, it will disappear in rails 4 --- Gemfile | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/Gemfile b/Gemfile index 9b198b5965..6fe0b042d7 100644 --- a/Gemfile +++ b/Gemfile @@ -62,7 +62,7 @@ gem 'haml' gem 'rabl' gem 'redcarpet' gem 'sass', "~> 3.3" -gem 'sass-rails', '~> 3.2.3', groups: [:default, :assets] +gem 'sass-rails', '~> 3.2.3' gem 'truncate_html' gem 'unicorn' @@ -99,21 +99,17 @@ gem 'whenever', require: false gem 'test-unit', '~> 3.3' -# Gems used only for assets and not required -# in production environments by default. -group :assets do - gem 'coffee-rails', '~> 3.2.1' - gem 'compass-rails' +gem 'coffee-rails', '~> 3.2.1' +gem 'compass-rails' - gem 'mini_racer', '0.2.9' +gem 'mini_racer', '0.2.9' - gem 'uglifier', '>= 1.0.3' +gem 'uglifier', '>= 1.0.3' - gem 'angular-rails-templates', '~> 0.3.0' - gem 'foundation-icons-sass-rails' - gem 'momentjs-rails' - gem 'turbo-sprockets-rails3' -end +gem 'angular-rails-templates', '~> 0.3.0' +gem 'foundation-icons-sass-rails' +gem 'momentjs-rails' +gem 'turbo-sprockets-rails3' gem "foundation-rails" gem 'foundation_rails_helper', github: 'willrjmarshall/foundation_rails_helper', branch: "rails3" From 7639e9a38d523adc055ca55e45302aee4aa8e5b3 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Mon, 10 Feb 2020 13:51:44 +0000 Subject: [PATCH 03/20] Extrac ErrorsParser to separate class and make it handle the rails error structure with keys --- .../admin/bulk_product_update.js.coffee | 11 ++++----- .../utils/services/errors_parser.js.coffee | 17 ++++++++++++++ .../admin/bulk_product_update_spec.js.coffee | 23 +++++++++++++------ 3 files changed, 38 insertions(+), 13 deletions(-) create mode 100644 app/assets/javascripts/admin/utils/services/errors_parser.js.coffee diff --git a/app/assets/javascripts/admin/bulk_product_update.js.coffee b/app/assets/javascripts/admin/bulk_product_update.js.coffee index 6d51f2e597..d92bc73566 100644 --- a/app/assets/javascripts/admin/bulk_product_update.js.coffee +++ b/app/assets/javascripts/admin/bulk_product_update.js.coffee @@ -1,4 +1,4 @@ -angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout, $filter, $http, $window, BulkProducts, DisplayProperties, DirtyProducts, VariantUnitManager, StatusMessage, producers, Taxons, Columns, tax_categories, RequestMonitor, SortOptions) -> +angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout, $filter, $http, $window, BulkProducts, DisplayProperties, DirtyProducts, VariantUnitManager, StatusMessage, producers, Taxons, Columns, tax_categories, RequestMonitor, SortOptions, ErrorsParser) -> $scope.StatusMessage = StatusMessage $scope.columns = Columns.columns @@ -230,10 +230,9 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout BulkProducts.updateVariantLists(data.products || []) $timeout -> $scope.displaySuccess() ).error (data, status) -> - if status == 400 && data.errors? && data.errors.length > 0 - errors = error + "\n" for error in data.errors - alert t("products_update_error") + "\n" + errors - $scope.displayFailure t("products_update_error") + if status == 400 && data.errors? + errorsString = ErrorsParser.toString(data.errors, status) + $scope.displayFailure t("products_update_error") + "\n" + errorsString else $scope.displayFailure t("products_update_error_data") + status @@ -284,7 +283,7 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout $scope.displayFailure = (failMessage) -> - StatusMessage.display 'failure', t("products_update_error_msg") + "#{failMessage}" + StatusMessage.display 'failure', t("products_update_error_msg") + " #{failMessage}" $scope.displayDirtyProducts = -> diff --git a/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee b/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee new file mode 100644 index 0000000000..12c1682d77 --- /dev/null +++ b/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee @@ -0,0 +1,17 @@ +# Parses a structure of errors that came from the server +angular.module("admin.utils").factory "ErrorsParser", -> + new class ErrorsParser + toString: (errors, defaultContent = "") => + if errors.length > 0 + # it is an array of errors + errorsString = error + "\n" for error in errors + else + # it is a hash of errors + keys = Object.keys(errors) + errorsString = "" + for key in keys + errorsString += error for error in errors[key] + + errorsString = defaultContent if errorsString == "" + + errorsString diff --git a/spec/javascripts/unit/admin/bulk_product_update_spec.js.coffee b/spec/javascripts/unit/admin/bulk_product_update_spec.js.coffee index 40233684ea..600e0c16e4 100644 --- a/spec/javascripts/unit/admin/bulk_product_update_spec.js.coffee +++ b/spec/javascripts/unit/admin/bulk_product_update_spec.js.coffee @@ -710,13 +710,22 @@ describe "AdminProductEditCtrl", -> $httpBackend.flush() expect($scope.displayFailure).toHaveBeenCalled() - it "shows an alert with error information when post returns 400 with an errors array", -> - spyOn(window, "alert") - $scope.products = "updated list of products" - $httpBackend.expectPOST("/admin/products/bulk_update").respond 400, { "errors": ["an error"] } - $scope.updateProducts "updated list of products" - $httpBackend.flush() - expect(window.alert).toHaveBeenCalledWith("Saving failed with the following error(s):\nan error\n") + describe "displaying the error information when post returns 400", -> + beforeEach -> + spyOn $scope, "displayFailure" + $scope.products = "updated list of products" + + it "displays errors in an array", -> + $httpBackend.expectPOST("/admin/products/bulk_update").respond 400, { "errors": ["an error"] } + $scope.updateProducts "updated list of products" + $httpBackend.flush() + expect($scope.displayFailure).toHaveBeenCalledWith("Saving failed with the following error(s):\nan error\n") + + it "displays errors in a hash", -> + $httpBackend.expectPOST("/admin/products/bulk_update").respond 400, { "errors": { "base": ["a basic error"] } } + $scope.updateProducts "updated list of products" + $httpBackend.flush() + expect($scope.displayFailure).toHaveBeenCalledWith("Saving failed with the following error(s):\na basic error") describe "adding variants", -> From 0aaa04295bcb61e0b3f7e6752daf3285adbace28 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Mon, 10 Feb 2020 15:15:26 +0000 Subject: [PATCH 04/20] Improve and unit test errorsParser --- .../utils/services/errors_parser.js.coffee | 19 +++++++++++++----- .../admin/bulk_product_update_spec.js.coffee | 2 +- .../services/errors_parser_spec.js.coffee | 20 +++++++++++++++++++ 3 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 spec/javascripts/unit/admin/utils/services/errors_parser_spec.js.coffee diff --git a/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee b/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee index 12c1682d77..87a83360a1 100644 --- a/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee +++ b/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee @@ -2,16 +2,25 @@ angular.module("admin.utils").factory "ErrorsParser", -> new class ErrorsParser toString: (errors, defaultContent = "") => + return defaultContent unless errors? + + errorsString = "" if errors.length > 0 # it is an array of errors - errorsString = error + "\n" for error in errors + errorsString = this.arrayToString(errors) else # it is a hash of errors keys = Object.keys(errors) - errorsString = "" for key in keys - errorsString += error for error in errors[key] + errorsString += this.arrayToString(errors[key]) - errorsString = defaultContent if errorsString == "" + this.defaultIfEmpty(errorsString, defaultContent) - errorsString + arrayToString: (array) => + string = "" + string += entry + "\n" for entry in array + string + + defaultIfEmpty: (content, defaultContent) => + return defaultContent if content == "" + content diff --git a/spec/javascripts/unit/admin/bulk_product_update_spec.js.coffee b/spec/javascripts/unit/admin/bulk_product_update_spec.js.coffee index 600e0c16e4..4feff89868 100644 --- a/spec/javascripts/unit/admin/bulk_product_update_spec.js.coffee +++ b/spec/javascripts/unit/admin/bulk_product_update_spec.js.coffee @@ -725,7 +725,7 @@ describe "AdminProductEditCtrl", -> $httpBackend.expectPOST("/admin/products/bulk_update").respond 400, { "errors": { "base": ["a basic error"] } } $scope.updateProducts "updated list of products" $httpBackend.flush() - expect($scope.displayFailure).toHaveBeenCalledWith("Saving failed with the following error(s):\na basic error") + expect($scope.displayFailure).toHaveBeenCalledWith("Saving failed with the following error(s):\na basic error\n") describe "adding variants", -> diff --git a/spec/javascripts/unit/admin/utils/services/errors_parser_spec.js.coffee b/spec/javascripts/unit/admin/utils/services/errors_parser_spec.js.coffee new file mode 100644 index 0000000000..9ae47b201a --- /dev/null +++ b/spec/javascripts/unit/admin/utils/services/errors_parser_spec.js.coffee @@ -0,0 +1,20 @@ +describe "ErrorsParser service", -> + errorsParser = null + + beforeEach -> + module('admin.utils') + inject (ErrorsParser) -> + errorsParser = ErrorsParser + + describe "toString", -> + it "returns empty string for nil errors", -> + expect(errorsParser.toString(null)).toEqual "" + + it "returns the elements in the array if an array is provided", -> + expect(errorsParser.toString(["1", "2"])).toEqual "1\n2\n" + + it "returns the elements in the hash if a hash is provided", -> + expect(errorsParser.toString({ "keyname": ["1", "2"] })).toEqual "1\n2\n" + + it "returns all elements in all hash keys provided", -> + expect(errorsParser.toString({ "keyname1": ["1", "2"], "keyname2": ["3", "4"] })).toEqual "1\n2\n3\n4\n" From 2711736004257201f63fa3c52217f952573e288c Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Tue, 18 Feb 2020 10:49:41 +0000 Subject: [PATCH 05/20] Use Array#join and make code simpler --- .../admin/utils/services/errors_parser.js.coffee | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee b/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee index 87a83360a1..f03ce54467 100644 --- a/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee +++ b/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee @@ -7,20 +7,15 @@ angular.module("admin.utils").factory "ErrorsParser", -> errorsString = "" if errors.length > 0 # it is an array of errors - errorsString = this.arrayToString(errors) + errorsString = errors.join("\n") else # it is a hash of errors keys = Object.keys(errors) for key in keys - errorsString += this.arrayToString(errors[key]) + errorsString += errors[key].join("\n") + "\n" this.defaultIfEmpty(errorsString, defaultContent) - arrayToString: (array) => - string = "" - string += entry + "\n" for entry in array - string - defaultIfEmpty: (content, defaultContent) => return defaultContent if content == "" content From ff088c62034e5739a8da168e5c69fe0295bd7e33 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2020 12:01:10 +0000 Subject: [PATCH 06/20] Bump stripe from 5.11.0 to 5.15.0 Bumps [stripe](https://github.com/stripe/stripe-ruby) from 5.11.0 to 5.15.0. - [Release notes](https://github.com/stripe/stripe-ruby/releases) - [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md) - [Commits](https://github.com/stripe/stripe-ruby/compare/v5.11.0...v5.15.0) Signed-off-by: dependabot-preview[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 597b233504..bb207d3fbc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -658,7 +658,7 @@ GEM tilt (~> 1.1, != 1.3.0) state_machine (1.2.0) stringex (1.5.1) - stripe (5.11.0) + stripe (5.15.0) test-unit (3.3.5) power_assert thor (0.20.3) From 1803ea3c38f454413f4d040ece3eefec0fd56fcd Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Thu, 20 Feb 2020 10:06:10 +0000 Subject: [PATCH 07/20] Add traling breakline to case where errors come in a array --- .../javascripts/admin/utils/services/errors_parser.js.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee b/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee index f03ce54467..0e667a0fc0 100644 --- a/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee +++ b/app/assets/javascripts/admin/utils/services/errors_parser.js.coffee @@ -7,7 +7,7 @@ angular.module("admin.utils").factory "ErrorsParser", -> errorsString = "" if errors.length > 0 # it is an array of errors - errorsString = errors.join("\n") + errorsString = errors.join("\n") + "\n" else # it is a hash of errors keys = Object.keys(errors) From 19d1497c4b17cbdc18f9e6cce6580ff6ee163678 Mon Sep 17 00:00:00 2001 From: Transifex-Openfoodnetwork Date: Fri, 21 Feb 2020 05:29:31 +1100 Subject: [PATCH 08/20] Updating translations for config/locales/en_GB.yml --- config/locales/en_GB.yml | 73 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/config/locales/en_GB.yml b/config/locales/en_GB.yml index 0007260a01..81654ea6be 100644 --- a/config/locales/en_GB.yml +++ b/config/locales/en_GB.yml @@ -2595,6 +2595,79 @@ en_GB: signup_or_login: "Start By signing up (or logging in)" have_an_account: "Already have an account?" action_login: "Log in now." + inflections: + each: + one: "each" + other: "each" + bunch: + one: "bunch" + other: "bunches" + pack: + one: "pack" + other: "packs" + box: + one: "box" + other: "boxes" + bottle: + one: "bottle" + other: "bottles" + jar: + one: "jar" + other: "jars" + head: + one: "head" + other: "heads" + bag: + one: "bag" + other: "bags" + loaf: + one: "loaf" + other: "loaves" + single: + one: "single" + other: "singles" + tub: + one: "tub" + other: "tubs" + punnet: + one: "punnet" + other: "punnets" + packet: + one: "packet" + other: "packets" + item: + one: "item" + other: "items" + dozen: + one: "dozen" + other: "dozens" + unit: + one: "unit" + other: "units" + serve: + one: "serve" + other: "serves" + tray: + one: "tray" + other: "trays" + piece: + one: "piece" + other: "pieces" + pot: + one: "pot" + other: "pots" + bundle: + one: "bundle" + other: "bundles" + flask: + one: "flask" + other: "flasks" + basket: + one: "basket" + other: "baskets" + sack: + one: "sack" + other: "sacks" producers: signup: start_free_profile: "Start with a free profile, and expand when you're ready!" From 1bdeda4a21a4d7f601472b3edc09c55a08ead64d Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Fri, 21 Feb 2020 12:25:07 +0000 Subject: [PATCH 10/20] Delete dead code after PRs 4512 and 4508 --- app/controllers/spree/admin/base_controller.rb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/controllers/spree/admin/base_controller.rb b/app/controllers/spree/admin/base_controller.rb index 80c50a55f2..da0673a49a 100644 --- a/app/controllers/spree/admin/base_controller.rb +++ b/app/controllers/spree/admin/base_controller.rb @@ -70,10 +70,6 @@ module Spree Spree.t(event_sym, resource: resource_desc) end - def render_js_for_destroy - render partial: '/spree/admin/shared/destroy' - end - # Index request for JSON needs to pass a CSRF token in order to prevent JSON Hijacking def check_json_authenticity return unless request.format.js? || request.format.json? From 2108a282c8d3d19c799e31f82684ba4b4cb4a82b Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Tue, 18 Feb 2020 12:11:33 +0000 Subject: [PATCH 11/20] Add some require statements to specs --- spec/lib/open_food_network/bulk_coop_report_spec.rb | 1 + spec/lib/open_food_network/customers_report_spec.rb | 1 + spec/lib/open_food_network/group_buy_report_spec.rb | 1 + .../lib/open_food_network/order_and_distributor_report_spec.rb | 1 + .../open_food_network/order_cycle_management_report_spec.rb | 1 + spec/lib/open_food_network/order_grouper_spec.rb | 1 + .../customer_totals_report_spec.rb | 1 + .../distributor_totals_by_supplier_report_spec.rb | 3 ++- .../supplier_totals_by_distributor_report_spec.rb | 3 ++- .../supplier_totals_report_spec.rb | 3 ++- .../open_food_network/orders_and_fulfillments_report_spec.rb | 1 + spec/lib/open_food_network/packing_report_spec.rb | 1 + .../open_food_network/products_and_inventory_report_spec.rb | 1 + .../lib/open_food_network/users_and_enterprises_report_spec.rb | 3 ++- 14 files changed, 18 insertions(+), 4 deletions(-) diff --git a/spec/lib/open_food_network/bulk_coop_report_spec.rb b/spec/lib/open_food_network/bulk_coop_report_spec.rb index 2d42928414..5b43ba0283 100644 --- a/spec/lib/open_food_network/bulk_coop_report_spec.rb +++ b/spec/lib/open_food_network/bulk_coop_report_spec.rb @@ -1,4 +1,5 @@ require 'spec_helper' +require 'open_food_network/bulk_coop_report' include AuthenticationWorkflow diff --git a/spec/lib/open_food_network/customers_report_spec.rb b/spec/lib/open_food_network/customers_report_spec.rb index 14b3024d7e..8e73dbee31 100644 --- a/spec/lib/open_food_network/customers_report_spec.rb +++ b/spec/lib/open_food_network/customers_report_spec.rb @@ -1,4 +1,5 @@ require 'spec_helper' +require 'open_food_network/customers_report' module OpenFoodNetwork describe CustomersReport do diff --git a/spec/lib/open_food_network/group_buy_report_spec.rb b/spec/lib/open_food_network/group_buy_report_spec.rb index 209ed881be..4cadaf4688 100644 --- a/spec/lib/open_food_network/group_buy_report_spec.rb +++ b/spec/lib/open_food_network/group_buy_report_spec.rb @@ -1,4 +1,5 @@ require 'spec_helper' +require 'open_food_network/group_buy_report' module OpenFoodNetwork describe GroupBuyReport do diff --git a/spec/lib/open_food_network/order_and_distributor_report_spec.rb b/spec/lib/open_food_network/order_and_distributor_report_spec.rb index 0d7dd1ea50..9843aa81ac 100644 --- a/spec/lib/open_food_network/order_and_distributor_report_spec.rb +++ b/spec/lib/open_food_network/order_and_distributor_report_spec.rb @@ -1,4 +1,5 @@ require 'spec_helper' +require 'open_food_network/order_and_distributor_report' module OpenFoodNetwork describe OrderAndDistributorReport do diff --git a/spec/lib/open_food_network/order_cycle_management_report_spec.rb b/spec/lib/open_food_network/order_cycle_management_report_spec.rb index a9db775335..6b1f3421c5 100644 --- a/spec/lib/open_food_network/order_cycle_management_report_spec.rb +++ b/spec/lib/open_food_network/order_cycle_management_report_spec.rb @@ -1,4 +1,5 @@ require 'spec_helper' +require 'open_food_network/order_cycle_management_report' include AuthenticationWorkflow diff --git a/spec/lib/open_food_network/order_grouper_spec.rb b/spec/lib/open_food_network/order_grouper_spec.rb index 8e2e00aa21..a428d6a90f 100644 --- a/spec/lib/open_food_network/order_grouper_spec.rb +++ b/spec/lib/open_food_network/order_grouper_spec.rb @@ -1,4 +1,5 @@ require 'spec_helper' +require 'open_food_network/order_grouper' module OpenFoodNetwork describe OrderGrouper do diff --git a/spec/lib/open_food_network/orders_and_fulfillments_report/customer_totals_report_spec.rb b/spec/lib/open_food_network/orders_and_fulfillments_report/customer_totals_report_spec.rb index d224830e0b..29064b63f8 100644 --- a/spec/lib/open_food_network/orders_and_fulfillments_report/customer_totals_report_spec.rb +++ b/spec/lib/open_food_network/orders_and_fulfillments_report/customer_totals_report_spec.rb @@ -1,4 +1,5 @@ require "spec_helper" +require 'open_food_network/orders_and_fulfillments_report/customer_totals_report' RSpec.describe OpenFoodNetwork::OrdersAndFulfillmentsReport::CustomerTotalsReport do let!(:distributor) { create(:distributor_enterprise) } diff --git a/spec/lib/open_food_network/orders_and_fulfillments_report/distributor_totals_by_supplier_report_spec.rb b/spec/lib/open_food_network/orders_and_fulfillments_report/distributor_totals_by_supplier_report_spec.rb index feb2903014..b44e36cede 100644 --- a/spec/lib/open_food_network/orders_and_fulfillments_report/distributor_totals_by_supplier_report_spec.rb +++ b/spec/lib/open_food_network/orders_and_fulfillments_report/distributor_totals_by_supplier_report_spec.rb @@ -1,4 +1,5 @@ -require "spec_helper" +require 'spec_helper' +require 'open_food_network/orders_and_fulfillments_report/distributor_totals_by_supplier_report' RSpec.describe OpenFoodNetwork::OrdersAndFulfillmentsReport::DistributorTotalsBySupplierReport do let!(:distributor) { create(:distributor_enterprise) } diff --git a/spec/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_by_distributor_report_spec.rb b/spec/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_by_distributor_report_spec.rb index 654a1ed901..92f3d00bbe 100644 --- a/spec/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_by_distributor_report_spec.rb +++ b/spec/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_by_distributor_report_spec.rb @@ -1,4 +1,5 @@ -require "spec_helper" +require 'spec_helper' +require 'open_food_network/orders_and_fulfillments_report/supplier_totals_by_distributor_report' RSpec.describe OpenFoodNetwork::OrdersAndFulfillmentsReport::SupplierTotalsByDistributorReport do let!(:distributor) { create(:distributor_enterprise) } diff --git a/spec/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_report_spec.rb b/spec/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_report_spec.rb index 21d886cbb0..0f4a7b1151 100644 --- a/spec/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_report_spec.rb +++ b/spec/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_report_spec.rb @@ -1,4 +1,5 @@ -require "spec_helper" +require 'spec_helper' +require 'open_food_network/orders_and_fulfillments_report/supplier_totals_report' RSpec.describe OpenFoodNetwork::OrdersAndFulfillmentsReport::SupplierTotalsReport do let!(:distributor) { create(:distributor_enterprise) } diff --git a/spec/lib/open_food_network/orders_and_fulfillments_report_spec.rb b/spec/lib/open_food_network/orders_and_fulfillments_report_spec.rb index 210392d380..e646884e6e 100644 --- a/spec/lib/open_food_network/orders_and_fulfillments_report_spec.rb +++ b/spec/lib/open_food_network/orders_and_fulfillments_report_spec.rb @@ -1,4 +1,5 @@ require 'spec_helper' +require 'open_food_network/orders_and_fulfillments_report' describe OpenFoodNetwork::OrdersAndFulfillmentsReport do include AuthenticationWorkflow diff --git a/spec/lib/open_food_network/packing_report_spec.rb b/spec/lib/open_food_network/packing_report_spec.rb index 1c39d24b6a..197224d5d8 100644 --- a/spec/lib/open_food_network/packing_report_spec.rb +++ b/spec/lib/open_food_network/packing_report_spec.rb @@ -1,4 +1,5 @@ require 'spec_helper' +require 'open_food_network/packing_report' include AuthenticationWorkflow diff --git a/spec/lib/open_food_network/products_and_inventory_report_spec.rb b/spec/lib/open_food_network/products_and_inventory_report_spec.rb index 4c34fa204a..3b361f954a 100644 --- a/spec/lib/open_food_network/products_and_inventory_report_spec.rb +++ b/spec/lib/open_food_network/products_and_inventory_report_spec.rb @@ -1,4 +1,5 @@ require 'spec_helper' +require 'open_food_network/products_and_inventory_report' module OpenFoodNetwork describe ProductsAndInventoryReport do diff --git a/spec/lib/open_food_network/users_and_enterprises_report_spec.rb b/spec/lib/open_food_network/users_and_enterprises_report_spec.rb index 28ab6bfc28..0587e7bbaa 100644 --- a/spec/lib/open_food_network/users_and_enterprises_report_spec.rb +++ b/spec/lib/open_food_network/users_and_enterprises_report_spec.rb @@ -1,7 +1,8 @@ require 'spec_helper' +require 'open_food_network/users_and_enterprises_report' module OpenFoodNetwork - describe OrderAndDistributorReport do + describe UsersAndEnterprisesReport do include AuthenticationWorkflow describe "users_and_enterprises" do From f5ffdfc258c7cd2c1d042b79b11282f606a63a55 Mon Sep 17 00:00:00 2001 From: Transifex-Openfoodnetwork Date: Sun, 23 Feb 2020 22:32:56 +1100 Subject: [PATCH 12/20] Updating translations for config/locales/en_NZ.yml --- config/locales/en_NZ.yml | 80 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/config/locales/en_NZ.yml b/config/locales/en_NZ.yml index a039b8d26d..1c0d06883c 100644 --- a/config/locales/en_NZ.yml +++ b/config/locales/en_NZ.yml @@ -1282,6 +1282,7 @@ en_NZ: saving_credit_card: Saving credit card... card_has_been_removed: "Your card has been removed (number: %{number})" card_could_not_be_removed: Sorry, the card could not be removed + invalid_credit_card: "Invalid credit card" ie_warning_headline: "Your browser is out of date :-(" ie_warning_text: "For the best Open Food Network experience, we strongly recommend upgrading your browser:" ie_warning_chrome: Download Chrome @@ -2424,6 +2425,12 @@ en_NZ: severity: Severity description: Description resolve: Resolve + exchange_products: + load_more_variants: "Load More Variants" + load_all_variants: "Load All Variants" + select_all_variants: "Select All %{total_number_of_variants} Variants" + variants_loaded: "%{num_of_variants_loaded} of %{total_number_of_variants} Variants Loaded" + loading_variants: "Loading Variants" tag_rules: shipping_method_tagged_top: "Shipping methods tagged" shipping_method_tagged_bottom: "are:" @@ -2582,6 +2589,79 @@ en_NZ: signup_or_login: "Start By Signing Up (or logging in)" have_an_account: "Already have an account?" action_login: "Log in now." + inflections: + each: + one: "each" + other: "each" + bunch: + one: "bunch" + other: "bunches" + pack: + one: "pack" + other: "packs" + box: + one: "box" + other: "boxes" + bottle: + one: "bottle" + other: "bottles" + jar: + one: "jar" + other: "jars" + head: + one: "head" + other: "heads" + bag: + one: "bag" + other: "bags" + loaf: + one: "loaf" + other: "loaves" + single: + one: "single" + other: "singles" + tub: + one: "tub" + other: "tubs" + punnet: + one: "punnet" + other: "punnets" + packet: + one: "packet" + other: "packets" + item: + one: "item" + other: "items" + dozen: + one: "dozen" + other: "dozens" + unit: + one: "unit" + other: "units" + serve: + one: "serve" + other: "serves" + tray: + one: "tray" + other: "trays" + piece: + one: "piece" + other: "pieces" + pot: + one: "pot" + other: "pots" + bundle: + one: "bundle" + other: "bundles" + flask: + one: "flask" + other: "flasks" + basket: + one: "basket" + other: "baskets" + sack: + one: "sack" + other: "sacks" producers: signup: start_free_profile: "Start with a basic profile, and expand when you're ready!" From c9857472976e8f9f37014d59813d5b12a4ff297c Mon Sep 17 00:00:00 2001 From: Transifex-Openfoodnetwork Date: Tue, 25 Feb 2020 04:31:33 +1100 Subject: [PATCH 13/20] Updating translations for config/locales/fr.yml --- config/locales/fr.yml | 73 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 9b86258dc0..434aa1bc4b 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -2619,6 +2619,79 @@ fr: signup_or_login: "Commencez par vous inscrire (ou connexion)" have_an_account: "Déjà inscrit?" action_login: "Se connecter." + inflections: + each: + one: "chacun" + other: "chacun" + bunch: + one: "bouquet" + other: "bouquets" + pack: + one: "caisse" + other: "caisses" + box: + one: "boîte" + other: "boîtes" + bottle: + one: "bouteille" + other: "bouteilles" + jar: + one: "bocal" + other: "bocaux" + head: + one: "tête" + other: "têtes" + bag: + one: "sac" + other: "sacs" + loaf: + one: "miche" + other: "miches" + single: + one: "unité" + other: "unités" + tub: + one: "bac" + other: "bacs" + punnet: + one: "barquette" + other: "barquettes" + packet: + one: "paquet" + other: "paquets" + item: + one: "article" + other: "articles" + dozen: + one: "dizaine" + other: "dizaines" + unit: + one: "unité" + other: "unités" + serve: + one: "service" + other: "services" + tray: + one: "plateau" + other: "plateaux" + piece: + one: "pièce" + other: "pièces" + pot: + one: "pot" + other: "pots" + bundle: + one: "botte" + other: "bottes" + flask: + one: "flacon" + other: "flacons" + basket: + one: "panier" + other: "paniers" + sack: + one: "sachet" + other: "sachets" producers: signup: start_free_profile: "Commencez par créer votre profil entreprise, et changez de formule quand vous êtes prêt !" From e4958baddcc936f69441a5b9b2e8d21549990fc3 Mon Sep 17 00:00:00 2001 From: Transifex-Openfoodnetwork Date: Tue, 25 Feb 2020 04:35:52 +1100 Subject: [PATCH 14/20] Updating translations for config/locales/en_FR.yml --- config/locales/en_FR.yml | 73 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/config/locales/en_FR.yml b/config/locales/en_FR.yml index b27caf4463..c498d5da68 100644 --- a/config/locales/en_FR.yml +++ b/config/locales/en_FR.yml @@ -2589,6 +2589,79 @@ en_FR: signup_or_login: "Start By Signing Up (or logging in)" have_an_account: "Already have an account?" action_login: "Log in now." + inflections: + each: + one: "each" + other: "each" + bunch: + one: "bunch" + other: "bunches" + pack: + one: "pack" + other: "packs" + box: + one: "box" + other: "boxes" + bottle: + one: "bottle" + other: "bottles" + jar: + one: "jar" + other: "jars" + head: + one: "head" + other: "heads" + bag: + one: "bag" + other: "bags" + loaf: + one: "loaf" + other: "loaves" + single: + one: "single" + other: "singles" + tub: + one: "tub" + other: "tubs" + punnet: + one: "punnet" + other: "punnets" + packet: + one: "packet" + other: "packets" + item: + one: "item" + other: "items" + dozen: + one: "dozen" + other: "dozens" + unit: + one: "unit" + other: "units" + serve: + one: "serve" + other: "serves" + tray: + one: "tray" + other: "trays" + piece: + one: "piece" + other: "pieces" + pot: + one: "pot" + other: "pots" + bundle: + one: "bundle" + other: "bundles" + flask: + one: "flask" + other: "flasks" + basket: + one: "basket" + other: "baskets" + sack: + one: "sack" + other: "sacks" producers: signup: start_free_profile: "Start with a free profile, and expand when you're ready!" From 234a9ef1b4aedb242f1f680ee2ab1171305a0013 Mon Sep 17 00:00:00 2001 From: Transifex-Openfoodnetwork Date: Tue, 25 Feb 2020 08:41:07 +1100 Subject: [PATCH 16/20] Updating translations for config/locales/en_CA.yml --- config/locales/en_CA.yml | 82 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/config/locales/en_CA.yml b/config/locales/en_CA.yml index a4af701f61..0ecf10a28c 100644 --- a/config/locales/en_CA.yml +++ b/config/locales/en_CA.yml @@ -1282,6 +1282,7 @@ en_CA: saving_credit_card: Saving credit card... card_has_been_removed: "Your card has been removed (number: %{number})" card_could_not_be_removed: Sorry, the card could not be removed + invalid_credit_card: "Invalid credit card" ie_warning_headline: "Your browser is out of date :-(" ie_warning_text: "For the best Open Food Network experience, we strongly recommend upgrading your browser:" ie_warning_chrome: Download Chrome @@ -2423,6 +2424,12 @@ en_CA: severity: Severity description: Description resolve: Resolve + exchange_products: + load_more_variants: "Load More Variants" + load_all_variants: "Load All Variants" + select_all_variants: "Select All %{total_number_of_variants}Variants" + variants_loaded: "%{num_of_variants_loaded}of%{total_number_of_variants}Variants Loaded" + loading_variants: "Loading Variants" tag_rules: shipping_method_tagged_top: "Shipping methods tagged" shipping_method_tagged_bottom: "are:" @@ -2581,6 +2588,79 @@ en_CA: signup_or_login: "Start By Signing Up (or logging in)" have_an_account: "Already have an account?" action_login: "Log in now." + inflections: + each: + one: "each" + other: "each" + bunch: + one: "bunches" + other: "bunches" + pack: + one: "packs" + other: "packs" + box: + one: "boxes" + other: "boxes" + bottle: + one: "bottles" + other: "bottles" + jar: + one: "jars" + other: "jars" + head: + one: "heads" + other: "heads" + bag: + one: "bag" + other: "bags" + loaf: + one: "loaves" + other: "loaves" + single: + one: "singles" + other: "singles" + tub: + one: "tubs" + other: "tubs" + punnet: + one: "punnets" + other: "punnets" + packet: + one: "packets" + other: "packets" + item: + one: "items" + other: "items" + dozen: + one: "dozens" + other: "dozens" + unit: + one: "units" + other: "units" + serve: + one: "serves" + other: "serves" + tray: + one: "trays" + other: "trays" + piece: + one: "pieces" + other: "pieces" + pot: + one: "pots" + other: "pots" + bundle: + one: "bundles" + other: "bundles" + flask: + one: "flasks" + other: "flasks" + basket: + one: "baskets" + other: "baskets" + sack: + one: "sack" + other: "sacks" producers: signup: start_free_profile: "Start with a free profile, and expand when you're ready!" @@ -2823,6 +2903,8 @@ en_CA: zipcode: Postal Code weight: Weight (per kg) error_user_destroy_with_orders: "Users with completed orders may not be deleted" + cannot_create_payment_without_payment_methods: "You cannot create a payment for an order without any payment methods defined." + please_define_payment_methods: "Please define some payment methods first." options: "Options" actions: update: "Update" From 6ca39f3aa5a302696e5f4b7b95ab62f72f87343b Mon Sep 17 00:00:00 2001 From: Transifex-Openfoodnetwork Date: Tue, 25 Feb 2020 09:10:13 +1100 Subject: [PATCH 17/20] Updating translations for config/locales/fr_CA.yml --- config/locales/fr_CA.yml | 82 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/config/locales/fr_CA.yml b/config/locales/fr_CA.yml index 2dd35aaaea..bf3cda687e 100644 --- a/config/locales/fr_CA.yml +++ b/config/locales/fr_CA.yml @@ -1284,6 +1284,7 @@ fr_CA: saving_credit_card: Enregistrement de la carte de crédit... card_has_been_removed: "Votre carte a été supprimée (numéro : %{number})" card_could_not_be_removed: Désolée, la carte n'a pas pu être supprimée :-( + invalid_credit_card: "Cette carte de crédit n'est pas valide" ie_warning_headline: "Votre navigateur n'est pas à jour :-(" ie_warning_text: "Pour une expérience optimale sur Open Food Network, nous vous recommandons fortement de mettre à jour votre navigateur:" ie_warning_chrome: Télécharger Chrome @@ -2436,6 +2437,12 @@ fr_CA: severity: Gravité description: Description resolve: Résoudre + exchange_products: + load_more_variants: "Afficher plus de variantes" + load_all_variants: "Afficher toutes les variantes" + select_all_variants: "Sélectionnez toutes les%{total_number_of_variants}variantes" + variants_loaded: "%{num_of_variants_loaded}sur%{total_number_of_variants}variantes" + loading_variants: "Chargement des variantes" tag_rules: shipping_method_tagged_top: "Les méthodes de livraison taggées" shipping_method_tagged_bottom: "sont:" @@ -2595,6 +2602,79 @@ fr_CA: signup_or_login: "Commencez par vous inscrire (ou vous connecter)" have_an_account: "Déjà inscrit?" action_login: "Se connecter." + inflections: + each: + one: "chacun" + other: "chacun" + bunch: + one: "bouquet" + other: "bouquets" + pack: + one: "caisse" + other: "caisses" + box: + one: "boîte" + other: "boîtes" + bottle: + one: "bouteille" + other: "bouteilles" + jar: + one: "bocal" + other: "bocaux" + head: + one: "tête" + other: "têtes" + bag: + one: "sac" + other: "sacs" + loaf: + one: "miche" + other: "miches" + single: + one: "unité" + other: "unités" + tub: + one: "bac" + other: "bacs" + punnet: + one: "barquette" + other: "barquettes" + packet: + one: "paquets" + other: "paquets" + item: + one: "article" + other: "articles" + dozen: + one: "dizaine" + other: "dizaines" + unit: + one: "unité" + other: "unités" + serve: + one: "service" + other: "services" + tray: + one: "plateau" + other: "plateaux" + piece: + one: "pièce" + other: "pièces" + pot: + one: "pots" + other: "pots" + bundle: + one: "botte" + other: "bottes" + flask: + one: "flacons" + other: "flacon" + basket: + one: "panier" + other: "paniers" + sack: + one: "sachet" + other: "sachets" producers: signup: start_free_profile: "Commencez par créer votre profil entreprise, c'est gratuit, et changez de formule quand vous êtes prêt !" @@ -2837,6 +2917,8 @@ fr_CA: zipcode: Code postal weight: Poids (au kg) error_user_destroy_with_orders: "Les utilisateurs avec des commandes finalisées pourraient ne pas être supprimés" + cannot_create_payment_without_payment_methods: "Vous ne pouvez pas ajouter un paiement pour une commande sans avoir défini de méthode de paiement au préalable." + please_define_payment_methods: "Il faut que vous définissiez une méthode de paiement avant tout !" options: "Options" actions: update: "Mettre à jour" From dafac32e700ed1a93a7ccc35ef1f228fd79471b5 Mon Sep 17 00:00:00 2001 From: Transifex-Openfoodnetwork Date: Tue, 25 Feb 2020 19:53:59 +1100 Subject: [PATCH 18/20] Updating translations for config/locales/nb.yml --- config/locales/nb.yml | 73 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/config/locales/nb.yml b/config/locales/nb.yml index 5bc7e8e075..25bfc2674a 100644 --- a/config/locales/nb.yml +++ b/config/locales/nb.yml @@ -2588,6 +2588,79 @@ nb: signup_or_login: "Kom i gang ved å registrere deg (eller logge inn)" have_an_account: "Har du allerede en konto?" action_login: "Logg inn nå." + inflections: + each: + one: "Hver" + other: "hver" + bunch: + one: "bunke" + other: "bunker" + pack: + one: "pakke" + other: "pakker" + box: + one: "eske" + other: "esker" + bottle: + one: "flaske" + other: "flasker" + jar: + one: "krukke" + other: "krukker" + head: + one: "hode" + other: "hoder" + bag: + one: "pose" + other: "poser" + loaf: + one: "skive" + other: "skiver" + single: + one: "enkelt" + other: "enkle" + tub: + one: "kar" + other: "kar" + punnet: + one: "eske" + other: "esker" + packet: + one: "pakke" + other: "pakker" + item: + one: "stk" + other: "stk" + dozen: + one: "dusin" + other: "dusin" + unit: + one: "enhet" + other: "enheter" + serve: + one: "porsjon" + other: "porsjoner" + tray: + one: "brett" + other: "brett" + piece: + one: "stykke" + other: "stykker" + pot: + one: "gryte" + other: "gryter" + bundle: + one: "bunt" + other: "bunter" + flask: + one: "kolbe" + other: "kolber" + basket: + one: "kurv" + other: "kurver" + sack: + one: "sekk" + other: "sekker" producers: signup: start_free_profile: "Start med en gratis profil, og utvid når du er klar!" From d280bf0d4d8272ade777ef244ae7a8ae11bdfe70 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Thu, 27 Feb 2020 11:42:02 +0100 Subject: [PATCH 20/20] Update all locales with the latest Transifex translations --- config/locales/ar.yml | 15 +++++++ config/locales/de_DE.yml | 4 ++ config/locales/en_CA.yml | 46 +++++++++---------- config/locales/tr.yml | 96 +++++++++++++++++++++++++++++++++------- 4 files changed, 123 insertions(+), 38 deletions(-) diff --git a/config/locales/ar.yml b/config/locales/ar.yml index a2f0bd3cca..b03afe72e0 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -2589,6 +2589,21 @@ ar: signup_or_login: "البدء بالتسجيل (أو تسجيل الدخول)" have_an_account: "هل لديك حساب؟" action_login: "تسجيل الدخول الآن." + inflections: + each: + zero: "كل" + one: "كل" + two: "كل" + few: "كل" + many: "كل" + other: "كل" + pack: + zero: "حزم" + one: "رزمة" + two: "حزم" + few: "حزم" + many: "حزم" + other: "حزم" producers: signup: start_free_profile: "ابدأ بملف تعريف مجاني ، وتوسع عندما تكون جاهزًا!" diff --git a/config/locales/de_DE.yml b/config/locales/de_DE.yml index 62afda559e..8f14c0b747 100644 --- a/config/locales/de_DE.yml +++ b/config/locales/de_DE.yml @@ -2575,6 +2575,10 @@ de_DE: signup_or_login: "Beginnen Sie mit der Anmeldung (oder melden Sie sich an)" have_an_account: "Hast du schon ein Konto?" action_login: "Jetzt einloggen." + inflections: + bottle: + one: "Flasche" + other: "Flaschen" producers: signup: start_free_profile: "Beginnen Sie mit einem kostenlosen Profil und erweitern Sie es, wenn Sie fertig sind!" diff --git a/config/locales/en_CA.yml b/config/locales/en_CA.yml index 0ecf10a28c..53dd86f2cd 100644 --- a/config/locales/en_CA.yml +++ b/config/locales/en_CA.yml @@ -919,7 +919,7 @@ en_CA: distributors: distributors variants: variants simple_form: - ready_for: Ready for + ready_for: Options ready_for_placeholder: Date / time customer_instructions: Customer instructions customer_instructions_placeholder: 'Notes:' @@ -2593,70 +2593,70 @@ en_CA: one: "each" other: "each" bunch: - one: "bunches" + one: "bunch" other: "bunches" pack: - one: "packs" + one: "pack" other: "packs" box: - one: "boxes" + one: "box" other: "boxes" bottle: - one: "bottles" + one: "bottle" other: "bottles" jar: - one: "jars" + one: "jar" other: "jars" head: - one: "heads" + one: "head" other: "heads" bag: one: "bag" other: "bags" loaf: - one: "loaves" + one: "loaf" other: "loaves" single: - one: "singles" + one: "single" other: "singles" tub: - one: "tubs" + one: "tub" other: "tubs" punnet: - one: "punnets" + one: "punnet" other: "punnets" packet: - one: "packets" + one: "packet" other: "packets" item: - one: "items" + one: "item" other: "items" dozen: - one: "dozens" + one: "dozen" other: "dozens" unit: - one: "units" + one: "unit" other: "units" serve: - one: "serves" + one: "serve" other: "serves" tray: - one: "trays" + one: "tray" other: "trays" piece: - one: "pieces" + one: "piece" other: "pieces" pot: - one: "pots" + one: "pot" other: "pots" bundle: - one: "bundles" + one: "bundle" other: "bundles" flask: - one: "flasks" + one: "flask" other: "flasks" basket: - one: "baskets" + one: "basket" other: "baskets" sack: one: "sack" @@ -3011,7 +3011,7 @@ en_CA: email: "Customer E-Mail" invoice: issued_on: "Issued on" - tax_invoice: "TAX INVOICE" + tax_invoice: "Order Number" code: "Code" from: "From" to: "To" diff --git a/config/locales/tr.yml b/config/locales/tr.yml index be01b4e080..f07152f282 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -420,7 +420,7 @@ tr: display_as: Gösterme Şekli category: Kategori tax_category: Vergi Kategorisi - inherits_properties?: Özellikler kopyalanıyor mu? + inherits_properties?: Özellikler aktarılıyor mu? available_on: Mevcut Olma Tarihi av_on: "Mevcut Olma Tarihi" import_date: Aktarıldı @@ -433,7 +433,7 @@ tr: search: "Ara" properties: property_name: "Özellik Adı" - inherited_property: "Kopyalanan Özellik" + inherited_property: "Aktarılan Özellik" variants: infinity: "Sonsuz" to_order_tip: "Sipariş üzerine yapılan ürünlerin, belirlenmiş stok seviyeleri yoktur." @@ -547,7 +547,7 @@ tr: description: İşletmelerinizin stoklarını yönetmek için bu sayfayı kullanın. Burada yapılan değişiklikler 'Ürünler' sayfasındaki ayarları da günceller. enable_reset?: Stok Sıfırlama etkinleştirilsin mi? default_stock: "Varsayılan stok" - inherit?: Kopyala? + inherit?: Aktar? add: Ekle hide: Sakla import_date: Aktarıldı @@ -1294,13 +1294,13 @@ tr: desc_part_1: "Çerezler, bazı web sitelerini ziyaret ettiğinizde bilgisayarınızda depolanan çok küçük metin dosyalarıdır." desc_part_2: "AGA'da gizliliğinize tamamen saygılıyız. Yalnızca size gıda satma/satın alma hizmetini sunmak için gerekli olan çerezleri kullanıyoruz. Verilerinizin hiçbirini satmıyoruz. Gelecekte, ekosistem için yararlı olabilecek yeni müşterek hizmetleri oluşturmak için bazı verilerinizi paylaşmanızı önerebiliriz (yerel gıda sistemleri için lojistik hizmetler gibi) ama henüz o seviyede değiliz ve bunu zaten sizin izniniz olmadan yapmayacağız :-)" desc_part_3: "Platforma 'Giriş' yaptığınızda kim olduğunuzu hatırlamak veya giriş yapmamış olsanız bile sepetinize koyduğunuz ürünleri hatırlayabilmek için çerezleri kullanırız. “Çerezleri kabul et” butonuna tuşlamadan gezinmeye devam ederseniz, web sitesinin çalışması için gerekli olan çerezleri saklamak için bize izin verdiğinizi varsayıyoruz. İşte kullandığımız çerezlerin listesi!" - essential_cookies: "Temel Çerezler" + essential_cookies: "Kullanılması Zorunlu Olan Çerezler" essential_cookies_desc: "Web sitemizin çalışması için aşağıdaki çerezler kesinlikle gereklidir." essential_cookies_note: "Çerezlerin çoğu yalnızca benzersiz bir tanımlayıcı içerir, ancak başka hiçbir veri içermez, bu nedenle örneğin e-posta adresiniz ve şifreniz hiçbir zaman bunlarda bulunmaz ve hiçbir zaman açıklanmaz." cookie_domain: "Olarak ayarla:" cookie_session_desc: "Web sitesinin sayfa ziyaretleri arasındaki kullanıcıları hatırlamasına, örneğin sepetinizdeki öğeleri hatırlamasına izin vermek için kullanılır." cookie_consent_desc: "Çerezleri depolamak için kullanıcı onayının durumunu korumak amacıyla kullanılır" - cookie_remember_me_desc: "Kullanıcı web sitesinden kendisini hatırlamasını isterse kullanılır. Bu çerez 12 gün sonra otomatik olarak silinir. Kullanıcı olarak bu çerezin silinmesini istiyorsanız, yalnızca çıkış yapmanız gerekir. Bu çerezin bilgisayarınıza yüklenmesini istemiyorsanız, giriş yaparken “beni hatırla” onay kutusunu işaretlememelisiniz." + cookie_remember_me_desc: "Kullanıcı web sitesinden kendisini hatırlamasını isterse kullanılır. Bu çerez 12 gün sonra otomatik olarak silinir. Kullanıcı olarak bu çerezin silinmesini istiyorsanız, hesabınızdan çıkış yapmanız yeterli. Bu çerezin bilgisayarınıza yüklenmesini istemiyorsanız, giriş yaparken “beni hatırla” onay kutusunu işaretlememelisiniz." cookie_openstreemap_desc: "Sevecen açık kaynak harita sağlayıcımız (OpenStreetMap) tarafından, belirli bir süre içinde çok fazla istek almamasını ve hizmetlerinin kötüye kullanılmasını önlemek için kullanılır." cookie_stripe_desc: "Sahtekarlık tespiti için ödeme işlemcimiz Stripe tarafından toplanan veriler https://stripe.com/cookies-policy/legal. Tüm mağazalar Stripe'ı ödeme yöntemi olarak kullanmaz, ancak dolandırıcılığın tüm sayfalara uygulanmasını önlemek iyi bir yöntemdir. Stripe muhtemelen sayfalarımızdan hangilerinin genellikle API'leriyle etkileşime girdiğini gösteren bir resim oluşturur ve daha sonra olağandışı bir şeyi işaretler. Dolayısıyla, Stripe çerezinin ayarlanması, kullanıcıya ödeme yönteminin sağlanmasından daha geniş bir işleve sahiptir. Kaldırılması hizmetin güvenliğini etkileyebilir. Stripe hakkında daha fazla bilgi edinebilir ve gizlilik politikasını https://stripe.com/privacy adresinde okuyabilirsiniz." statistics_cookies: "İstatistik Çerezleri" @@ -1324,7 +1324,7 @@ tr: disabling_cookies_safari_link: "https://www.apple.com/legal/privacy/en-ww/cookies/" disabling_cookies_note: "Ancak, Açık Gıda Ağı tarafından kullanılan temel çerezleri silerseniz veya değiştirirseniz, web sitesinin çalışmadığını, örneğin ödeme yapmak için sepetinize hiçbir şey ekleyemeyeceğinizi unutmayın." cookies_banner: - cookies_usage: "Bu site, gezinmenizi sürtünmesiz ve güvenli hale getirmek ve sunduğumuz özellikleri iyileştirmek için nasıl kullandığınızı anlamamıza yardımcı olmak için çerezleri kullanır." + cookies_usage: "Bu site, gezinmenizi sorunsuz ve güvenli hale getirmek ve sunduğumuz özellikleri iyileştirmek için nasıl kullandığınızı anlamamıza yardımcı olmak için çerezleri kullanır." cookies_definition: "Çerezler, bazı web sitelerini ziyaret ettiğinizde bilgisayarınızda depolanan çok küçük metin dosyalarıdır." cookies_desc: "Yalnızca size çevrimiçi yiyecek satma / satın alma hizmetini sunmak için gerekli olan çerezleri kullanıyoruz. Verilerinizin hiçbirini satmıyoruz. Hizmete giriş yaptığınızda kim olduğunuzu hatırlamak veya giriş yapmamış olsanız bile sepetinize koyduğunuz öğeleri hatırlayabilmek için çerezleri kullanırız. Tıklamadan web sitesinde gezinmeye devam ederseniz “Çerezleri kabul et”, web sitesinin çalışması için gerekli olan çerezleri saklamak için bize izin verdiğinizi varsayıyoruz." cookies_policy_link_desc: "Daha fazla bilgi edinmek istiyorsanız," @@ -1791,7 +1791,7 @@ tr: yes_producer: "Evet, üreticiyim" no_producer: "Hayır, üretici değilim" producer_field_error: "Lütfen birini seçin. Üretici misiniz?" - yes_producer_help: "Siz de birşeyler yetiştiriyor, büyütüyor, sağıyor, hasat ediyor, pişiriyor kurutuyor veya hazırlıyorsanız, siz de bir üreticisiniz." + yes_producer_help: "Siz de birşeyler yetiştiriyor, büyütüyor, sağıyor, hasat ediyor, pişiriyor kurutuyor veya hazırlıyorsanız, üreticisiniz demektir." no_producer_help: "Üretici değilseniz muhtemelen gıdaya ulaşım sağlayan, dağıtım veya satış yapan bir grup ya da işletmesiniz. Bir dükkan, kooperatif, gıda topluluğu, restaurant veya toptancı bile olabilirsiniz. " create_profile: "Profil oluştur" about: @@ -2402,10 +2402,9 @@ tr: enterprise_producer: producer: Üretici producer_text1: > - Dürüst ve bilinçli üreticiler, insanlara sağlıklı ve lezzetli yiyecek - ve içecekler sağlar. Siz de tamamen doğal yollarla bir şeyler yetiştiriyor, - büyütüyor, pişiriyor, sağıyor veya mayalıyorsanız, bu üreticilerden - birisiniz demektir. + Dürüst ve bilinçli üreticiler, insanlara sağlıklı gıdalar sağlar. Siz + de birşeyler yetiştiriyor, büyütüyor, sağıyor, hasat ediyor, pişiriyor + kurutuyor veya hazırlıyorsanız, üreticisiniz demektir. producer_text2: > Üreticiler sistem üzerinde farklı şekillerde aktif olarak da hem kendilerine hem de diğer işletmelere daha faydalı olabilirler. Çevrelerindeki üreticilerin @@ -2427,7 +2426,7 @@ tr: status_title: "%{name} kuruldu ve başlamaya hazır!" severity: Şiddet description: Açıklama - resolve: çözmek + resolve: Çözüm exchange_products: load_more_variants: "Daha Fazla Varyant Yükle" load_all_variants: "Tüm Varyantları Yükle" @@ -2447,7 +2446,7 @@ tr: select_rule_type: "Bir kural türü seçin:" add_rule: "Kural Ekle" enterprise_fees: - inherit_from_product: "Üründen Kopyala" + inherit_from_product: "Üründen Aktar" orders: index: per_page: "sayfa başına %{results}" @@ -2592,6 +2591,73 @@ tr: signup_or_login: "Kaydolarak Başlayın (veya giriş yapın)" have_an_account: "Zaten hesabınız var mı?" action_login: "Şimdi giriş yapın." + inflections: + each: + one: "her biri" + other: "her biri" + bunch: + one: "Demet" + other: "demet" + pack: + one: "pack" + other: "paket" + box: + one: "Kutu" + other: "koli" + bottle: + one: "şişe" + other: "şişe" + jar: + one: "kavanoz" + other: "kavanoz" + head: + one: "kafa" + other: "baş" + bag: + one: "sırt çantası" + other: "çanta" + loaf: + one: "somun" + other: "somun" + single: + one: "tek" + other: "tane" + tub: + one: "küvet" + other: "fıçı" + punnet: + one: "meyve sepeti" + other: "meyve sepeti" + packet: + one: "paket" + other: "paket" + item: + one: "madde" + other: "Ürün" + dozen: + one: "düzine" + other: "deste" + unit: + one: "birim" + other: "birimler" + serve: + one: "servis" + other: "porsiyon" + piece: + one: "parça" + other: "parça" + bundle: + one: "demeti" + other: "demet" + flask: + one: "şişe" + other: "cep şişesi" + basket: + one: "sepet" + other: "sepet" + sack: + one: "çuval" + other: "çuval" producers: signup: start_free_profile: "Ücretsiz bir profille başlayın ve hazır olduğunuzda devam edin!" @@ -2867,7 +2933,7 @@ tr: groups: "Gruplar" product_properties: index: - inherits_properties_checkbox_hint: "Özellikler i%{supplier}'den kopyalanacak mı? (yukarıda geçersiz kılınmadıkça)" + inherits_properties_checkbox_hint: "Özellikler %{supplier}'den aktarılsın mı? (yukarıda geçersiz kılınmadıkça)" add_product_properties: "Ürün Özelliği Ekle" select_from_prototype: "Prototipten Seç" properties: @@ -3051,7 +3117,7 @@ tr: display_as: Gösterme Şekli category: Kategori tax_category: Vergi Kategorisi - inherits_properties?: Özellikler kopyalanır mı? + inherits_properties?: Özellikler aktarılıyor mu? available_on: Şu Tarihte Hazır av_on: "Şu tarihte hazır" import_date: "İçe Aktarım Tarihi"