workarea-global_e 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.eslintrc.json +37 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
- data/.github/ISSUE_TEMPLATE/documentation-request.md +17 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/workflows/ci.yml +77 -0
- data/.gitignore +20 -0
- data/.rubocop.yml +2 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +261 -0
- data/Gemfile +16 -0
- data/README.md +39 -0
- data/Rakefile +59 -0
- data/app/assets/javascripts/workarea/storefront/global_e/modules/checkout_info_validator.js +122 -0
- data/app/assets/javascripts/workarea/storefront/global_e/modules/suppress_price_ranges.js +19 -0
- data/app/controllers/workarea/admin/country_exceptions_controller.rb +67 -0
- data/app/controllers/workarea/admin/fixed_prices_controller.rb +89 -0
- data/app/controllers/workarea/admin/orders_controller.decorator +6 -0
- data/app/controllers/workarea/storefront/application_controller.decorator +30 -0
- data/app/controllers/workarea/storefront/checkouts_controller.decorator +22 -0
- data/app/controllers/workarea/storefront/ge_checkouts_controller.rb +10 -0
- data/app/controllers/workarea/storefront/global_e_controller.rb +42 -0
- data/app/controllers/workarea/storefront/globale/api_controller.rb +108 -0
- data/app/controllers/workarea/storefront/globale/refund_controller.rb +65 -0
- data/app/controllers/workarea/storefront/users/logins_controller.decorator +13 -0
- data/app/helpers/workarea/admin/global_e_helpers.rb +28 -0
- data/app/models/workarea/address.decorator +11 -0
- data/app/models/workarea/catalog/product.decorator +14 -0
- data/app/models/workarea/fulfillment/status/partially_refunded.rb +13 -0
- data/app/models/workarea/fulfillment/status/refunded.rb +15 -0
- data/app/models/workarea/fulfillment.decorator +55 -0
- data/app/models/workarea/global_e/country_exception.rb +37 -0
- data/app/models/workarea/global_e/fixed_price.rb +93 -0
- data/app/models/workarea/global_e/order_api_events.rb +29 -0
- data/app/models/workarea/order/item.decorator +46 -0
- data/app/models/workarea/order/status/pending_global_e_fraud_check.rb +12 -0
- data/app/models/workarea/order.decorator +64 -0
- data/app/models/workarea/payment/status/global_e_appoved.rb +9 -0
- data/app/models/workarea/payment/status/pending_global_e_fraud_check.rb +9 -0
- data/app/models/workarea/payment/tender/global_e_payment.rb +16 -0
- data/app/models/workarea/payment.decorator +10 -0
- data/app/models/workarea/price_adjustment.decorator +13 -0
- data/app/models/workarea/price_adjustment_set.decorator +25 -0
- data/app/models/workarea/pricing/calculators/item_calculator.decorator +48 -0
- data/app/models/workarea/pricing/collection.decorator +90 -0
- data/app/models/workarea/pricing/discount/appliation_group.decorator +16 -0
- data/app/models/workarea/pricing/discount/international_item_proxy.rb +27 -0
- data/app/models/workarea/pricing/discount/international_order.rb +29 -0
- data/app/models/workarea/pricing/discount.decorator +65 -0
- data/app/models/workarea/pricing/price_distributor.decorator +37 -0
- data/app/models/workarea/pricing/request.decorator +17 -0
- data/app/models/workarea/pricing/sku.decorator +17 -0
- data/app/models/workarea/search/admin/order.decorator +11 -0
- data/app/models/workarea/shipping/sku.decorator +23 -0
- data/app/models/workarea/shipping.decorator +11 -0
- data/app/models/workarea/user.decorator +10 -0
- data/app/seeds/workarea/global_e_seeds.rb +66 -0
- data/app/services/workarea/create_fulfillment.decorator +12 -0
- data/app/services/workarea/global_e/address_details.rb +218 -0
- data/app/services/workarea/global_e/api/notify_order_refunded.rb +45 -0
- data/app/services/workarea/global_e/api/perform_order_payment.rb +46 -0
- data/app/services/workarea/global_e/api/remove_restricted_products.rb +28 -0
- data/app/services/workarea/global_e/api/send_order_to_merchant/item_pricer.rb +147 -0
- data/app/services/workarea/global_e/api/send_order_to_merchant/save_user.rb +59 -0
- data/app/services/workarea/global_e/api/send_order_to_merchant.rb +359 -0
- data/app/services/workarea/global_e/api/update_order_shipping_info.rb +38 -0
- data/app/services/workarea/global_e/api/update_order_status/canceled.rb +42 -0
- data/app/services/workarea/global_e/api/update_order_status.rb +28 -0
- data/app/services/workarea/global_e/attribute.rb +44 -0
- data/app/services/workarea/global_e/brand.rb +19 -0
- data/app/services/workarea/global_e/cart_user_details.rb +34 -0
- data/app/services/workarea/global_e/category.rb +19 -0
- data/app/services/workarea/global_e/checkout_cart_info.rb +358 -0
- data/app/services/workarea/global_e/custom_product_attribute.rb +19 -0
- data/app/services/workarea/global_e/discount.rb +215 -0
- data/app/services/workarea/global_e/merchant/brand.rb +21 -0
- data/app/services/workarea/global_e/merchant/category.rb +21 -0
- data/app/services/workarea/global_e/merchant/customer.rb +36 -0
- data/app/services/workarea/global_e/merchant/customer_details.rb +201 -0
- data/app/services/workarea/global_e/merchant/discount.rb +127 -0
- data/app/services/workarea/global_e/merchant/international_details.rb +296 -0
- data/app/services/workarea/global_e/merchant/order.rb +425 -0
- data/app/services/workarea/global_e/merchant/order_refund.rb +103 -0
- data/app/services/workarea/global_e/merchant/original_order.rb +28 -0
- data/app/services/workarea/global_e/merchant/parcel_tracking.rb +31 -0
- data/app/services/workarea/global_e/merchant/payment_details.rb +161 -0
- data/app/services/workarea/global_e/merchant/product.rb +222 -0
- data/app/services/workarea/global_e/merchant/refund_product.rb +69 -0
- data/app/services/workarea/global_e/merchant/response_info.rb +115 -0
- data/app/services/workarea/global_e/merchant_cart_product_attribute.rb +21 -0
- data/app/services/workarea/global_e/order_status.rb +20 -0
- data/app/services/workarea/global_e/order_status_details.rb +79 -0
- data/app/services/workarea/global_e/order_status_reason.rb +20 -0
- data/app/services/workarea/global_e/parcel.rb +53 -0
- data/app/services/workarea/global_e/product.rb +612 -0
- data/app/services/workarea/global_e/product_meta_data.rb +13 -0
- data/app/services/workarea/global_e/tracking_details.rb +23 -0
- data/app/services/workarea/global_e/update_order_dispatch_exception.rb +46 -0
- data/app/services/workarea/global_e/update_order_dispatch_request.rb +108 -0
- data/app/services/workarea/global_e/user_id_number_type.rb +21 -0
- data/app/services/workarea/global_e/users_details.rb +151 -0
- data/app/services/workarea/global_e/vat_category.rb +20 -0
- data/app/services/workarea/global_e/vat_rate_type.rb +27 -0
- data/app/services/workarea/save_order_analytics.decorator +18 -0
- data/app/view_models/workarea/admin/order_view_model.decorator +13 -0
- data/app/view_models/workarea/storefront/cart_view_model.decorator +7 -0
- data/app/view_models/workarea/storefront/order_item_view_model.decorator +16 -0
- data/app/view_models/workarea/storefront/order_view_model.decorator +45 -0
- data/app/view_models/workarea/storefront/product_view_model.decorator +35 -0
- data/app/views/workarea/admin/catalog_products/_country_exceptions_card.html.haml +31 -0
- data/app/views/workarea/admin/catalog_products/_global_e_attributes.html.haml +3 -0
- data/app/views/workarea/admin/catalog_products/_global_e_fields.html.haml +4 -0
- data/app/views/workarea/admin/country_exceptions/edit.html.haml +48 -0
- data/app/views/workarea/admin/country_exceptions/index.html.haml +47 -0
- data/app/views/workarea/admin/country_exceptions/new.html.haml +44 -0
- data/app/views/workarea/admin/fixed_prices/edit.html.haml +73 -0
- data/app/views/workarea/admin/fixed_prices/index.html.haml +55 -0
- data/app/views/workarea/admin/fixed_prices/new.html.haml +70 -0
- data/app/views/workarea/admin/orders/_global_e.html.haml +27 -0
- data/app/views/workarea/admin/orders/attributes.html.haml +131 -0
- data/app/views/workarea/admin/orders/global_e.html.haml +110 -0
- data/app/views/workarea/admin/orders/show.html.haml +27 -0
- data/app/views/workarea/admin/orders/tenders/_global_e_payment.html.haml +3 -0
- data/app/views/workarea/admin/pricing_skus/_cards.html.haml +98 -0
- data/app/views/workarea/storefront/cart_items/create.html.haml +71 -0
- data/app/views/workarea/storefront/carts/_pricing.html.haml +14 -0
- data/app/views/workarea/storefront/carts/show.html.haml +187 -0
- data/app/views/workarea/storefront/ge_checkouts/show.html.haml +1 -0
- data/app/views/workarea/storefront/global_e/_country_picker.html.haml +1 -0
- data/app/views/workarea/storefront/global_e/_head.html.haml +10 -0
- data/app/views/workarea/storefront/orders/_summary.html.haml +275 -0
- data/app/views/workarea/storefront/orders/tenders/_global_e_payment.html.haml +3 -0
- data/app/views/workarea/storefront/products/_pricing.html.haml +49 -0
- data/app/views/workarea/storefront/products/_restricted_item_text.html.haml +1 -0
- data/app/views/workarea/storefront/users/orders/_summary.html.haml +22 -0
- data/app/workers/workarea/global_e/update_order_dispatch.rb +28 -0
- data/app/workers/workarea/save_user_order_details.decorator +9 -0
- data/bin/rails +25 -0
- data/config/initializers/appends.rb +46 -0
- data/config/initializers/seeds.rb +1 -0
- data/config/initializers/workarea.rb +64 -0
- data/config/locales/en.yml +105 -0
- data/config/routes.rb +31 -0
- data/lib/workarea/global_e/engine.rb +10 -0
- data/lib/workarea/global_e/error.rb +8 -0
- data/lib/workarea/global_e/version.rb +5 -0
- data/lib/workarea/global_e.rb +58 -0
- data/script/admin_ci +5 -0
- data/script/ci +8 -0
- data/script/core_ci +5 -0
- data/script/plugins_ci +5 -0
- data/script/storefront_ci +5 -0
- data/test/dummy/.ruby-version +1 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/config/manifest.js +3 -0
- data/test/dummy/app/assets/images/.keep +0 -0
- data/test/dummy/app/assets/javascripts/application.js +14 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +2 -0
- data/test/dummy/app/controllers/concerns/.keep +0 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/jobs/application_job.rb +2 -0
- data/test/dummy/app/mailers/application_mailer.rb +4 -0
- data/test/dummy/app/models/concerns/.keep +0 -0
- data/test/dummy/app/views/layouts/application.html.erb +15 -0
- data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
- data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +28 -0
- data/test/dummy/bin/update +28 -0
- data/test/dummy/bin/yarn +11 -0
- data/test/dummy/config/application.rb +23 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +52 -0
- data/test/dummy/config/environments/production.rb +83 -0
- data/test/dummy/config/environments/test.rb +45 -0
- data/test/dummy/config/initializers/application_controller_renderer.rb +8 -0
- data/test/dummy/config/initializers/assets.rb +14 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/content_security_policy.rb +25 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/workarea.rb +5 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +9 -0
- data/test/dummy/config/locales/en.yml +33 -0
- data/test/dummy/config/puma.rb +34 -0
- data/test/dummy/config/routes.rb +5 -0
- data/test/dummy/config/secrets.yml +18 -0
- data/test/dummy/config/spring.rb +6 -0
- data/test/dummy/config.ru +5 -0
- data/test/dummy/db/seeds.rb +2 -0
- data/test/dummy/lib/assets/.keep +0 -0
- data/test/dummy/log/.keep +0 -0
- data/test/factories/workarea/global_e_factories.rb +836 -0
- data/test/integration/workarea/admin/catalog_product_country_exceptions_integration_test.rb +81 -0
- data/test/integration/workarea/admin/global_e_jump_to_integration_test.rb +20 -0
- data/test/integration/workarea/admin/pricing_sku_fixed_prices_integration_test.rb +83 -0
- data/test/integration/workarea/storefront/global_e_api/receive_order_integration_test.rb +278 -0
- data/test/integration/workarea/storefront/global_e_api/receive_order_refund_integration_test.rb +25 -0
- data/test/integration/workarea/storefront/global_e_api/receive_payment_integration_test.rb +34 -0
- data/test/integration/workarea/storefront/global_e_api/receive_shipping_info_integration_test.rb +29 -0
- data/test/integration/workarea/storefront/global_e_api/remove_restricted_products_integration_test.rb +27 -0
- data/test/integration/workarea/storefront/global_e_api/update_order_status_integration_test.rb +29 -0
- data/test/integration/workarea/storefront/global_e_checkout_cart_info/fixed_pricing_test.rb +438 -0
- data/test/integration/workarea/storefront/global_e_checkout_cart_info/gift_card_test.rb +63 -0
- data/test/integration/workarea/storefront/global_e_checkout_cart_info_integration_test.rb +660 -0
- data/test/integration/workarea/storefront/global_e_checkouts_integration_test.rb +71 -0
- data/test/integration/workarea/storefront/users/global_e_logins_integration_test.rb +20 -0
- data/test/models/workarea/catalog/product_global_e_test.rb +13 -0
- data/test/models/workarea/fixed_pricing_test.rb +117 -0
- data/test/models/workarea/global_e/country_exception_test.rb +36 -0
- data/test/models/workarea/payment_test.decorator +31 -0
- data/test/models/workarea/pricing/calculators/item_calculator_fixed_prices_test.rb +83 -0
- data/test/models/workarea/pricing/collection_fixed_prices_test.rb +83 -0
- data/test/models/workarea/pricing/price_distributor_test.decorator +21 -0
- data/test/models/workarea/pricing/sku_fixed_price_test.rb +133 -0
- data/test/support/workarea/global_e_support.rb +18 -0
- data/test/system/workarea/admin/global_e_system_test.rb +21 -0
- data/test/system/workarea/storefront/global_e_cart_system_test.rb +48 -0
- data/test/system/workarea/storefront/global_e_order_history_system_test.rb +43 -0
- data/test/teaspoon_env.rb +6 -0
- data/test/test_helper.rb +9 -0
- data/test/view_models/workarea/admin/global_e_order_view_model_test.rb +22 -0
- data/test/workers/workarea/global_e/update_order_dispatch_test.rb +64 -0
- data/test/workers/workarea/global_e_save_user_order_details_test.rb +41 -0
- data/workarea-global_e.gemspec +16 -0
- metadata +293 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 2bcc2917f5a64ec8d14456093734b5c4b1a6e1fcf85b0976a66e57a91dc58abc
|
|
4
|
+
data.tar.gz: c05824af47f63ca359feaaa9e4a731106ba9f6da1b33c29ecacda078311bfa9b
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: eb0499af8c77ed655353602d2617a168c61d92290db8f4fb08902a51d4a320613d9aa9f095e1d74b4079c52318ed98ff177569f96722c8ee69d91fe74cd8ec4d
|
|
7
|
+
data.tar.gz: e6fa70f2c129fb2a421b6088cfd63b384b00dc0c57ae3e3f043d8bb86daffbc6916c00b65ef1f28fb43ea0d563bcb96793f8b955037808f2c0837c9d08b188fb
|
data/.eslintrc.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "eslint:recommended",
|
|
3
|
+
"rules": {
|
|
4
|
+
"semi": ["error", "always"],
|
|
5
|
+
"eqeqeq": ["error", "always"]
|
|
6
|
+
},
|
|
7
|
+
"globals": {
|
|
8
|
+
"window": true,
|
|
9
|
+
"document": true,
|
|
10
|
+
"WORKAREA": true,
|
|
11
|
+
"$": true,
|
|
12
|
+
"jQuery": true,
|
|
13
|
+
"_": true,
|
|
14
|
+
"feature": true,
|
|
15
|
+
"JST": true,
|
|
16
|
+
"Turbolinks": true,
|
|
17
|
+
"I18n": true,
|
|
18
|
+
"Chart": true,
|
|
19
|
+
"Dropzone": true,
|
|
20
|
+
"strftime": true,
|
|
21
|
+
"Waypoint": true,
|
|
22
|
+
"wysihtml": true,
|
|
23
|
+
"LocalTime": true,
|
|
24
|
+
"describe": true,
|
|
25
|
+
"after": true,
|
|
26
|
+
"afterEach": true,
|
|
27
|
+
"before": true,
|
|
28
|
+
"beforeEach": true,
|
|
29
|
+
"it": true,
|
|
30
|
+
"expect": true,
|
|
31
|
+
"sinon": true,
|
|
32
|
+
"fixture": true,
|
|
33
|
+
"chai": true,
|
|
34
|
+
"flow": true,
|
|
35
|
+
"Promise": true
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Create a report to help us improve Workarea
|
|
4
|
+
title: ''
|
|
5
|
+
labels: bug
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
⚠️**Before you create**⚠️
|
|
11
|
+
Please verify the issue you're experiencing is not part of your Workarea project customizations. The best way to do this is with a [vanilla Workarea installation](https://developer.workarea.com/articles/create-a-new-host-application.html). This will help us spend time on fixes/improvements for the whole community. Thank you!
|
|
12
|
+
|
|
13
|
+
**Describe the bug**
|
|
14
|
+
A clear and concise description of what the bug is.
|
|
15
|
+
|
|
16
|
+
**To Reproduce**
|
|
17
|
+
Steps to reproduce the behavior:
|
|
18
|
+
1. Go to '...'
|
|
19
|
+
2. Click on '....'
|
|
20
|
+
3. Scroll down to '....'
|
|
21
|
+
4. See error
|
|
22
|
+
|
|
23
|
+
**Expected behavior**
|
|
24
|
+
A clear and concise description of what you expected to happen.
|
|
25
|
+
|
|
26
|
+
**Workarea Setup (please complete the following information):**
|
|
27
|
+
- Workarea Version: [e.g. v3.4.6]
|
|
28
|
+
- Plugins [e.g. workarea-blog, workarea-sitemaps]
|
|
29
|
+
|
|
30
|
+
**Attachments**
|
|
31
|
+
If applicable, add any attachments to help explain your problem, things like:
|
|
32
|
+
- screenshots
|
|
33
|
+
- Gemfile.lock
|
|
34
|
+
- test cases
|
|
35
|
+
|
|
36
|
+
**Additional context**
|
|
37
|
+
Add any other context about the problem here.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Documentation request
|
|
3
|
+
about: Suggest documentation
|
|
4
|
+
title: ''
|
|
5
|
+
labels: documentation
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Is your documentation related to a problem? Please describe.**
|
|
11
|
+
A clear and concise description of what the problem is. Ex. I'm confused by [...]
|
|
12
|
+
|
|
13
|
+
**Describe the article you'd like**
|
|
14
|
+
A clear and concise description of what would be in the documentation article.
|
|
15
|
+
|
|
16
|
+
**Additional context**
|
|
17
|
+
Add any other context or screenshots about the feature request here.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature request
|
|
3
|
+
about: Suggest an idea for Workarea
|
|
4
|
+
title: ''
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Is your feature request related to a problem? Please describe.**
|
|
11
|
+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
12
|
+
|
|
13
|
+
**Describe the solution you'd like**
|
|
14
|
+
A clear and concise description of what you want to happen.
|
|
15
|
+
|
|
16
|
+
**Describe alternatives you've considered**
|
|
17
|
+
A clear and concise description of any alternative solutions or features you've considered.
|
|
18
|
+
|
|
19
|
+
**Additional context**
|
|
20
|
+
Add any other context or screenshots about the feature request here.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
on: [push]
|
|
3
|
+
|
|
4
|
+
jobs:
|
|
5
|
+
rubocop:
|
|
6
|
+
runs-on: ubuntu-latest
|
|
7
|
+
steps:
|
|
8
|
+
- uses: actions/checkout@v1
|
|
9
|
+
- uses: workarea-commerce/ci/rubocop@ruby-2.4
|
|
10
|
+
env:
|
|
11
|
+
BUNDLE_GEMS__WEBLINC__COM: ${{ secrets.BUNDLE_GEMS__WEBLINC__COM }}
|
|
12
|
+
bundler_audit:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v1
|
|
16
|
+
- uses: workarea-commerce/ci/bundler-audit@ruby-2.4
|
|
17
|
+
env:
|
|
18
|
+
BUNDLE_GEMS__WEBLINC__COM: ${{ secrets.BUNDLE_GEMS__WEBLINC__COM }}
|
|
19
|
+
eslint:
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v1
|
|
23
|
+
- uses: workarea-commerce/ci/eslint@v1
|
|
24
|
+
with:
|
|
25
|
+
args: '**/*.js'
|
|
26
|
+
|
|
27
|
+
admin_tests:
|
|
28
|
+
runs-on: ubuntu-latest
|
|
29
|
+
steps:
|
|
30
|
+
- uses: actions/checkout@v1
|
|
31
|
+
- uses: actions/setup-ruby@v1
|
|
32
|
+
with:
|
|
33
|
+
ruby-version: 2.4.x
|
|
34
|
+
- uses: workarea-commerce/ci/test@v1
|
|
35
|
+
with:
|
|
36
|
+
command: bin/rails app:workarea:test:admin
|
|
37
|
+
env:
|
|
38
|
+
BUNDLE_GEMS__WEBLINC__COM: ${{ secrets.BUNDLE_GEMS__WEBLINC__COM }}
|
|
39
|
+
|
|
40
|
+
core_tests:
|
|
41
|
+
runs-on: ubuntu-latest
|
|
42
|
+
steps:
|
|
43
|
+
- uses: actions/checkout@v1
|
|
44
|
+
- uses: actions/setup-ruby@v1
|
|
45
|
+
with:
|
|
46
|
+
ruby-version: 2.4.x
|
|
47
|
+
- uses: workarea-commerce/ci/test@v1
|
|
48
|
+
with:
|
|
49
|
+
command: bin/rails app:workarea:test:core
|
|
50
|
+
env:
|
|
51
|
+
BUNDLE_GEMS__WEBLINC__COM: ${{ secrets.BUNDLE_GEMS__WEBLINC__COM }}
|
|
52
|
+
|
|
53
|
+
storefront_tests:
|
|
54
|
+
runs-on: ubuntu-latest
|
|
55
|
+
steps:
|
|
56
|
+
- uses: actions/checkout@v1
|
|
57
|
+
- uses: actions/setup-ruby@v1
|
|
58
|
+
with:
|
|
59
|
+
ruby-version: 2.4.x
|
|
60
|
+
- uses: workarea-commerce/ci/test@v1
|
|
61
|
+
with:
|
|
62
|
+
command: bin/rails app:workarea:test:storefront
|
|
63
|
+
env:
|
|
64
|
+
BUNDLE_GEMS__WEBLINC__COM: ${{ secrets.BUNDLE_GEMS__WEBLINC__COM }}
|
|
65
|
+
|
|
66
|
+
plugins_tests:
|
|
67
|
+
runs-on: ubuntu-latest
|
|
68
|
+
steps:
|
|
69
|
+
- uses: actions/checkout@v1
|
|
70
|
+
- uses: actions/setup-ruby@v1
|
|
71
|
+
with:
|
|
72
|
+
ruby-version: 2.4.x
|
|
73
|
+
- uses: workarea-commerce/ci/test@v1
|
|
74
|
+
with:
|
|
75
|
+
command: bin/rails app:workarea:test:plugins
|
|
76
|
+
env:
|
|
77
|
+
BUNDLE_GEMS__WEBLINC__COM: ${{ secrets.BUNDLE_GEMS__WEBLINC__COM }}
|
data/.gitignore
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.bundle/
|
|
2
|
+
.yardoc
|
|
3
|
+
.DS_Store
|
|
4
|
+
.byebug_history
|
|
5
|
+
.sass-cache/
|
|
6
|
+
log/*.log
|
|
7
|
+
pkg/
|
|
8
|
+
coverage
|
|
9
|
+
test/dummy/log/*.log
|
|
10
|
+
test/dummy/node_modules/
|
|
11
|
+
test/dummy/yarn-error.log
|
|
12
|
+
test/dummy/tmp/
|
|
13
|
+
test/dummy/public/
|
|
14
|
+
test/dummy/db/*.sqlite3
|
|
15
|
+
test/dummy/db/*.sqlite3-journal
|
|
16
|
+
node_modules
|
|
17
|
+
Gemfile.lock
|
|
18
|
+
package.json
|
|
19
|
+
yarn.lock
|
|
20
|
+
.rubocop-http*
|
data/.rubocop.yml
ADDED
data/.ruby-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.4.6
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
Workarea Global E 1.2.1 (2020-01-21)
|
|
2
|
+
--------------------------------------------------------------------------------
|
|
3
|
+
|
|
4
|
+
* Add Discount Adjustments To Admin Order Views
|
|
5
|
+
|
|
6
|
+
The `#discount_adjustments` on an order are now being output to the
|
|
7
|
+
admin user in **/admin/orders/:id**.
|
|
8
|
+
|
|
9
|
+
GLOBALE-4
|
|
10
|
+
Tom Scott
|
|
11
|
+
|
|
12
|
+
* Add Discount Adjustments To Admin Order Views
|
|
13
|
+
|
|
14
|
+
The `#discount_adjustments` on an order are now being output to the
|
|
15
|
+
admin user in **/admin/orders/:id**.
|
|
16
|
+
|
|
17
|
+
GLOBALE-4
|
|
18
|
+
Tom Scott
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
Workarea Global E 1.2.0 (2019-12-11)
|
|
23
|
+
--------------------------------------------------------------------------------
|
|
24
|
+
|
|
25
|
+
* Add Remove Restricted Products API
|
|
26
|
+
|
|
27
|
+
This allows Global-E to `POST` any products in an order that should be
|
|
28
|
+
removed, since they are restricted in the given user's area.
|
|
29
|
+
|
|
30
|
+
GLOBALE-1
|
|
31
|
+
Tom Scott
|
|
32
|
+
|
|
33
|
+
* Store nonadjusted base currency pricing
|
|
34
|
+
|
|
35
|
+
Store the original `ItemCalculator` `price` and `amount` in the data of
|
|
36
|
+
the first price adjustment for GlobalE orders
|
|
37
|
+
|
|
38
|
+
GLOBALE-40
|
|
39
|
+
Eric Pigeon
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
Workarea Global E 1.1.0 (2019-10-01)
|
|
44
|
+
--------------------------------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
* GlobalE Saved Language Preferences
|
|
47
|
+
|
|
48
|
+
Store GlobalE culture code on user and set cookie for GlobalE to use
|
|
49
|
+
when starting GlobalE checkout
|
|
50
|
+
|
|
51
|
+
GLOBALE-39
|
|
52
|
+
Eric Pigeon
|
|
53
|
+
|
|
54
|
+
* Pass AddressBookId to GlobalE
|
|
55
|
+
|
|
56
|
+
Pass AddressBookId to GlobalE for saved addresses in checkout and update
|
|
57
|
+
the address after the order has been placed.
|
|
58
|
+
|
|
59
|
+
GLOBALE-36
|
|
60
|
+
Eric Pigeon
|
|
61
|
+
|
|
62
|
+
* Allow GlobalE to override fixed pricing for order
|
|
63
|
+
|
|
64
|
+
Even though a customer is ordering in a fixed price currency, sometimes
|
|
65
|
+
the order needs to be priced using conversion rules instead of the fixed
|
|
66
|
+
prices.
|
|
67
|
+
|
|
68
|
+
GLOBALE-38
|
|
69
|
+
Eric Pigeon
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
Workarea Global E 1.0.0 (2019-08-22)
|
|
74
|
+
--------------------------------------------------------------------------------
|
|
75
|
+
|
|
76
|
+
* Fix incorrect item price adjustment amounts
|
|
77
|
+
|
|
78
|
+
GLOBALE-37
|
|
79
|
+
Eric Pigeon
|
|
80
|
+
|
|
81
|
+
* Save payment with journaled and write majority
|
|
82
|
+
|
|
83
|
+
GLOBALE-31
|
|
84
|
+
Eric Pigeon
|
|
85
|
+
|
|
86
|
+
* Add GlobalE Order Id to Admin Search Text
|
|
87
|
+
|
|
88
|
+
Update GlobalE orders to be search `jump_to`
|
|
89
|
+
|
|
90
|
+
GLOBALE-32
|
|
91
|
+
Eric Pigeon
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
Workarea Global E 1.0.0.beta.9 (2019-06-19)
|
|
96
|
+
--------------------------------------------------------------------------------
|
|
97
|
+
|
|
98
|
+
* Move GlobalE domains to config
|
|
99
|
+
|
|
100
|
+
Eric Pigeon
|
|
101
|
+
|
|
102
|
+
* Remove domestic countries config
|
|
103
|
+
|
|
104
|
+
Remove config for controlling what countries aren't operated by GlobalE
|
|
105
|
+
and use new cookie
|
|
106
|
+
|
|
107
|
+
GLOBALE-30
|
|
108
|
+
Eric Pigeon
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
Workarea Global E 1.0.0.beta.8 (2019-06-07)
|
|
113
|
+
--------------------------------------------------------------------------------
|
|
114
|
+
|
|
115
|
+
* Update Product.Attributes
|
|
116
|
+
|
|
117
|
+
Change Attribute#name to the detail values and Attribute#code to the the
|
|
118
|
+
key.
|
|
119
|
+
Fix typo in GlobalE API URLs
|
|
120
|
+
Eric Pigeon
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
Workarea Global E 1.0.0.beta.7 (2019-06-04)
|
|
125
|
+
--------------------------------------------------------------------------------
|
|
126
|
+
|
|
127
|
+
* Handle discounts that only exist in GlobalE
|
|
128
|
+
|
|
129
|
+
Shipping and Duties discounts only exist in GlobalE and don't have a
|
|
130
|
+
corresponding discount in Workarea, handle when the original discount
|
|
131
|
+
doens't exist and ignore them in analytics
|
|
132
|
+
Eric Pigeon
|
|
133
|
+
|
|
134
|
+
* Only show country execptions on Products#show
|
|
135
|
+
|
|
136
|
+
only add country exceptions data tags to the main product on
|
|
137
|
+
Products#show
|
|
138
|
+
Eric Pigeon
|
|
139
|
+
|
|
140
|
+
* Fix discounts overdiscounting fixed pricing orders
|
|
141
|
+
|
|
142
|
+
In `Discount::ApplicationGroup#value` each discount is applied to the
|
|
143
|
+
order then removed from the order to determine the total value of that
|
|
144
|
+
group. This fixes a bug were the discounts weren't removing
|
|
145
|
+
international adjustments when calculating `ApplicationGroup#value`
|
|
146
|
+
|
|
147
|
+
GLOBALE-29
|
|
148
|
+
Eric Pigeon
|
|
149
|
+
|
|
150
|
+
* Change Order::Item#discounted_price_except_duties_and_taxes to discounted_price_for_customs
|
|
151
|
+
|
|
152
|
+
Eric Pigeon
|
|
153
|
+
|
|
154
|
+
* Add Catalog::Product#global_e_forbidden to the admin
|
|
155
|
+
|
|
156
|
+
Eric Pigeon
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
Workarea Global E 1.0.0.beta.6 (2019-05-17)
|
|
161
|
+
--------------------------------------------------------------------------------
|
|
162
|
+
|
|
163
|
+
* Fix broken tests
|
|
164
|
+
|
|
165
|
+
Eric Pigeon
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
Workarea Global E 1.0.0.beta.5 (2019-05-16)
|
|
170
|
+
--------------------------------------------------------------------------------
|
|
171
|
+
|
|
172
|
+
* QA feedback
|
|
173
|
+
|
|
174
|
+
Fix DiveredQuantity -> DilveryQuantity
|
|
175
|
+
Add `name` in Product.Attributes
|
|
176
|
+
Add missing data tags on `cart_items/create`
|
|
177
|
+
Add data tag to GE Checkout view
|
|
178
|
+
Add config for controlling GE environment
|
|
179
|
+
Send only required fields in Parcel.Product
|
|
180
|
+
Eric Pigeon
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
Workarea Global E 1.0.0.beta.4 (2019-05-13)
|
|
185
|
+
--------------------------------------------------------------------------------
|
|
186
|
+
|
|
187
|
+
* Feedback from GlobalE QA
|
|
188
|
+
|
|
189
|
+
Price order before redirect to ensure fixed pricing is cleared out if
|
|
190
|
+
needed
|
|
191
|
+
Set gift cards as forbidden
|
|
192
|
+
Only send GlobalE orders to GlobalE in OrderUpdateDispatch
|
|
193
|
+
Add data tags to `cart_items/create.html.haml`
|
|
194
|
+
Add fixed pricing tags to unit prices in `carts/show.html.haml`
|
|
195
|
+
|
|
196
|
+
GLOBALE-27
|
|
197
|
+
Eric Pigeon
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
Workarea Global E 1.0.0.beta.3 (2019-05-01)
|
|
202
|
+
--------------------------------------------------------------------------------
|
|
203
|
+
|
|
204
|
+
* Implement OrderUpdateDispatch
|
|
205
|
+
|
|
206
|
+
GLOBALE-21
|
|
207
|
+
Eric Pigeon
|
|
208
|
+
|
|
209
|
+
* Country Exceptions Support
|
|
210
|
+
|
|
211
|
+
Country exceptions allow certain product's to have a minimum VAT rate,
|
|
212
|
+
or be restricted from checkout.
|
|
213
|
+
|
|
214
|
+
GLOBALE-26
|
|
215
|
+
Eric Pigeon
|
|
216
|
+
|
|
217
|
+
* Add Fixed Price Support
|
|
218
|
+
|
|
219
|
+
Fixed prices allow the merchant to target specific countries, or
|
|
220
|
+
currencies (like the Eurozone) to localize their prices instead of
|
|
221
|
+
dynamic conversion.
|
|
222
|
+
|
|
223
|
+
GLOBALE-25
|
|
224
|
+
Eric Pigeon
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
Workarea Global E 1.0.0.beta.2 (2019-04-04)
|
|
229
|
+
--------------------------------------------------------------------------------
|
|
230
|
+
|
|
231
|
+
* Add new fields from GlobalE
|
|
232
|
+
|
|
233
|
+
`Order#contains_clearance_fees_price`
|
|
234
|
+
`Order::Item#discounted_price_except_duties_and_taxes`
|
|
235
|
+
`Order::Item#generic_hs_code`
|
|
236
|
+
Eric Pigeon
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
Workarea Global E 1.0.0.beta.1 (2019-04-03)
|
|
241
|
+
--------------------------------------------------------------------------------
|
|
242
|
+
|
|
243
|
+
* Beta 1.0.0 release
|
|
244
|
+
|
|
245
|
+
Update discount display and CheckoutCartInfo response to match, and fix
|
|
246
|
+
issues with discount analytics
|
|
247
|
+
Eric Pigeon
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
Workarea Global E 1.0.0.alpha.1 (2019-03-28)
|
|
252
|
+
--------------------------------------------------------------------------------
|
|
253
|
+
|
|
254
|
+
* Alpha 1.0.0 release
|
|
255
|
+
|
|
256
|
+
GlobalE's smart cross border solution enables international customers to
|
|
257
|
+
shop in a localized experience.
|
|
258
|
+
Eric Pigeon
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
data/Gemfile
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
source 'https://rubygems.org'
|
|
2
|
+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
|
3
|
+
|
|
4
|
+
source 'https://gems.weblinc.com' do
|
|
5
|
+
gem 'workarea'
|
|
6
|
+
gem 'workarea-ci'
|
|
7
|
+
gem 'workarea-gift_cards', '~> 3'
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
gem 'sprockets', '~> 3'
|
|
11
|
+
|
|
12
|
+
gemspec
|
|
13
|
+
|
|
14
|
+
group :test do
|
|
15
|
+
gem 'simplecov', require: false
|
|
16
|
+
end
|
data/README.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Workarea GlobalE
|
|
2
|
+
|
|
3
|
+
GlobalE in an international checkout provider.
|
|
4
|
+
|
|
5
|
+
## Configuration
|
|
6
|
+
```yaml
|
|
7
|
+
Workarea.configure do |config|
|
|
8
|
+
config.global_e.javascript_source = YOUR GLOBALE JAVASCRIPT URL
|
|
9
|
+
config.global_e.css_source = YOUR GLOBALE CSS URL
|
|
10
|
+
config.global_e.merchant_guid = YOUR GLOBALE MERCHANT ID
|
|
11
|
+
end
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Views
|
|
15
|
+
GlobalE requires data tags on multiple views on Storefront. The plugin
|
|
16
|
+
overrides the following views:
|
|
17
|
+
* `storefront/cart_items/create.html.haml`
|
|
18
|
+
* `storefront/cart/_pricing.html.haml`
|
|
19
|
+
* `storefront/cart/show.html.haml`
|
|
20
|
+
* `storefront/products/pricing.html.haml`
|
|
21
|
+
* `storefront/uses/orders/_summary.html.haml`
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## Fraud
|
|
25
|
+
GlobalE handles the liability of fraud for their orders; after an order is placed via GlobalE
|
|
26
|
+
it will be Pending GlobalE Faud until GlobalE clears the payment. `Order#place` callbacks aren't fired
|
|
27
|
+
until after the order is cleared for fraud. GlobalE will cancel the order if it it's fraudulent.
|
|
28
|
+
|
|
29
|
+
Refer to the views in the plugin for required data tags.
|
|
30
|
+
|
|
31
|
+
## Workarea Platform Documentation
|
|
32
|
+
|
|
33
|
+
See [http://developer.weblinc.com](http://developer.weblinc.com) for Workarea platform documentation.
|
|
34
|
+
|
|
35
|
+
## Copyright & Licensing
|
|
36
|
+
|
|
37
|
+
Copyright WebLinc 2019. All rights reserved.
|
|
38
|
+
|
|
39
|
+
For licensing, contact sales@workarea.com.
|
data/Rakefile
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
begin
|
|
2
|
+
require 'bundler/setup'
|
|
3
|
+
rescue LoadError
|
|
4
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
require 'rdoc/task'
|
|
8
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
|
9
|
+
rdoc.rdoc_dir = 'rdoc'
|
|
10
|
+
rdoc.title = 'Global E'
|
|
11
|
+
rdoc.options << '--line-numbers'
|
|
12
|
+
rdoc.rdoc_files.include('README.md')
|
|
13
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
|
|
17
|
+
load 'rails/tasks/engine.rake'
|
|
18
|
+
load 'rails/tasks/statistics.rake'
|
|
19
|
+
load 'workarea/changelog.rake'
|
|
20
|
+
|
|
21
|
+
require 'rake/testtask'
|
|
22
|
+
Rake::TestTask.new(:test) do |t|
|
|
23
|
+
t.libs << 'lib'
|
|
24
|
+
t.libs << 'test'
|
|
25
|
+
t.pattern = 'test/**/*_test.rb'
|
|
26
|
+
t.verbose = false
|
|
27
|
+
end
|
|
28
|
+
task default: :test
|
|
29
|
+
|
|
30
|
+
$LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
|
|
31
|
+
require 'workarea/global_e/version'
|
|
32
|
+
|
|
33
|
+
desc "Release version #{Workarea::GlobalE::VERSION} of the gem"
|
|
34
|
+
task :release do
|
|
35
|
+
host = "https://#{ENV['BUNDLE_GEMS__WEBLINC__COM']}@gems.weblinc.com"
|
|
36
|
+
|
|
37
|
+
Rake::Task['workarea:changelog'].execute
|
|
38
|
+
system 'git add CHANGELOG.md'
|
|
39
|
+
system 'git commit -m "Update CHANGELOG"'
|
|
40
|
+
|
|
41
|
+
system "git tag -a v#{Workarea::GlobalE::VERSION} -m 'Tagging #{Workarea::GlobalE::VERSION}'"
|
|
42
|
+
system 'git push origin HEAD --follow-tags'
|
|
43
|
+
|
|
44
|
+
system "gem build workarea-global_e.gemspec"
|
|
45
|
+
system "gem push workarea-global_e-#{Workarea::GlobalE::VERSION}.gem"
|
|
46
|
+
system "gem push workarea-global_e-#{Workarea::GlobalE::VERSION}.gem --host #{host}"
|
|
47
|
+
system "rm workarea-global_e-#{Workarea::GlobalE::VERSION}.gem"
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
desc 'Run the JavaScript tests'
|
|
51
|
+
ENV['TEASPOON_RAILS_ENV'] = File.expand_path('../test/dummy/config/environment', __FILE__)
|
|
52
|
+
task teaspoon: 'app:teaspoon'
|
|
53
|
+
|
|
54
|
+
desc 'Start a server at http://localhost:3000/teaspoon for JavaScript tests'
|
|
55
|
+
task :teaspoon_server do
|
|
56
|
+
Dir.chdir("test/dummy")
|
|
57
|
+
teaspoon_env = File.expand_path('../test/teaspoon_env.rb', __FILE__)
|
|
58
|
+
system "RAILS_ENV=test TEASPOON_ENV=#{teaspoon_env} rails s"
|
|
59
|
+
end
|