Commit Graph

13235 Commits

Author SHA1 Message Date
Maikel
c00a35b5a4 Merge pull request #9173 from jibees/9172-change-i18n-key-from-delivery-address-to-shipping-info
Split Checkout: Change i18n key on first step from delivery address to shipping info
2022-05-12 10:36:18 +10:00
Jean-Baptiste Bellet
d942adcdd0 Change i18n key on first step
Delivery address --> shipping info
2022-05-11 10:11:51 +02:00
Jean-Baptiste Bellet
61f8dfd809 Add order_token params to the redirect URL after checkout 2022-05-09 17:45:52 +02:00
Maikel
e59d753333 Merge pull request #9044 from georgethoppil/optional-restock-items
Optional restock items
2022-05-09 09:08:26 +10:00
GeorgeThoppil
8903496a1b Optional restocking items 2022-05-06 10:55:24 -04:00
Filipe
fb834d3143 Merge pull request #9138 from jibees/9137-order-shipping-methods-alphabetically
Split checkout: Order shipping methods by name
2022-05-05 12:41:12 +01:00
Filipe
24acf21c6d Merge pull request #9139 from jibees/6139-handle-shipping-method-description-with-no-space
Split Checkout: Handle shipping/payment method description with no space
2022-05-05 11:21:13 +01:00
Maikel
5ff1c1c7c2 Merge pull request #9136 from mayhemheroes/mapi
add Mayhem for API as a github workflow
2022-05-03 16:00:26 +10:00
Filipe
664e2a5423 Merge pull request #9057 from jibees/9038-handle-payment-errors-on-split-checkout
Split checkout: handle cards that throws any errors
2022-05-02 12:20:02 +01:00
Jean-Baptiste Bellet
132ab28070 Handle very long description without any space for shipping and ...
... payment methods
2022-04-29 10:15:50 +02:00
Jean-Baptiste Bellet
89aa76dbbc Handle long payment description with no space 2022-04-29 10:15:50 +02:00
Jean-Baptiste Bellet
4635e67707 Create mixins to force wrap
No need to pre-wrap since we break-word
2022-04-29 10:15:50 +02:00
Maikel
e2eb92fd90 Merge pull request #9119 from mkllnk/active-storage-part1
Store files with Active Storage in addition to Paperclip
2022-04-29 10:10:36 +10:00
J. David Lowe
da2e7b404f add Mayhem for API as a github workflow 2022-04-28 13:30:34 -07:00
Filipe
ce9bd37c9b Merge pull request #9117 from jibees/9085-add-additionnal-items-in-/cart-page-for-split-checkout
Split checkout: Unless order is complete, /cart could be updated
2022-04-28 19:59:08 +01:00
Jean-Baptiste Bellet
99c0416cc7 Handle long shipping method description with no spaces 2022-04-28 10:40:28 +02:00
Jean-Baptiste Bellet
34fcb4a1f7 Order shipping methods by name
+ create spec
2022-04-27 16:37:37 +02:00
Jean-Baptiste Bellet
5fe8060ea6 Actually don't use requestSubmit() as it is not supported by Safari
https://caniuse.com/?search=requestSubmit
2022-04-27 15:43:05 +02:00
Jean-Baptiste Bellet
a8afe7fee3 Use requestSubmit() method for actually submit the form with event
... that could be catch by turbo (and then handled by cable_ready)

`this.catchFormSubmit` avoid infinite loop then
2022-04-27 15:43:05 +02:00
Jean-Baptiste Bellet
8bbb80ef55 Catch GatewayError exception and handle by updating flash[:error] 2022-04-27 15:43:05 +02:00
Maikel Linke
9dc3c5a06c Add task for ContentConfig image migration 2022-04-25 13:00:31 +10:00
Maikel Linke
1c1f9d73a3 Add task to migrate existing files to Active Storage
Common migrations look for all models with *_file_name attributes but I
found that unreliable in our code base. It finds too many model classes
and doesn't allow us to be more selective in the migration. So I used
our own migration declaration to migrate exactly those attachments
specified.
2022-04-25 13:00:31 +10:00
Maikel Linke
0b885b3954 Protect terms of service from migration updates
Active Storage always touches associated records when attachments are
changed. But for the Terms of Service it's important to keep the
updated_at date because that's how we find out how new it is and if a
customer accepted those terms already.

And while we migrate files, the content of the files will stay the same
and we don't want customers to be asked to accept the same terms again.
2022-04-25 13:00:31 +10:00
Maikel Linke
7bcfda0a52 Duplicate all new Paperclip files to ActiveStorage
We do this for all models in the code base. There's one special case,
the ConentConfiguration which is not a model and we can't use the same
approach there. We will have to deal with that separately later.
2022-04-25 13:00:31 +10:00
Maikel Linke
92bbcbb7ce Process correct attachment when model has several
Luckily Paperclip has designated callbacks for processing each
attachment separately. We can just hook into that.
2022-04-25 13:00:31 +10:00
Maikel Linke
c36ad96acc Move file duplication code to concern to share
I chose `has_one_migrating` as method name for two reasons:

 1. It reflects Active Storage's method `has_one_attached`.
 2. And it has the same length as Paperclip's `has_attached_file`.
    Therefore the commits don't need any whitespace changes.

When we change it to `has_one_attached`, we will also remove the
Paperclip options which then don't need whitespace changes either.
2022-04-25 13:00:31 +10:00
Maikel Linke
ec64e5c8f7 Store images with Active Storage as well
While we migrate from Paperclip to Active Storage, we need to use both
at the same time to avoid any downtime or lost images.

Once the migration is complete, we want to use the same name for
attachment as before. Using Paperclip and Active Storage at the same
time creates a name conflict on a couple of methods.

I'm using alias_method as a temporary solution to access Active Storage
methods. We will remove that after the migration. I declare Paperclip
afterwards so that we have those methods declarations for backwards
compatibility now.
2022-04-25 13:00:31 +10:00
Filipe
cb540d66c6 Merge pull request #9084 from jibees/9046-property-filter-on-shopfront
Fix an issue which prevented filtering by properties and sorting by category on a shopfront.
2022-04-22 11:03:31 +01:00
GeorgeThoppil
898c470c00 Change enterprise visibility scope 2022-04-21 20:27:28 -04:00
Jean-Baptiste Bellet
9306e054b8 Unless order is complete, /cart could be updated
Split_checkout introduced new state for an order

Update specs as well

Follow up #8944
2022-04-21 14:22:39 +02:00
Filipe
4ea1dd68af Merge pull request #9023 from apricot12/8908-Access-Enterprise-perms-from-setting-page
Enterprise can access permissions from enterprise edit page
2022-04-21 13:21:27 +01:00
Filipe
2ddc64ce4d Merge pull request #9072 from mkllnk/remove-taxon-icons
Remove unused icons from Spree::Taxon
2022-04-21 11:46:57 +01:00
Jean-Baptiste Bellet
3e5656e638 Remove distinct to make proper ORDER BY
Update specs as well to test match array and test duplication by adding property2 to product1
2022-04-21 11:03:22 +02:00
Filipe
f516b7056d Merge pull request #8863 from georgethoppil/payment-state-cancel-subscription-order
Setting payment state for subscription order
2022-04-20 13:14:57 +01:00
Filipe
1f6b5ef309 Merge pull request #8979 from jibees/6300-dont-submit-form-element-that-are-not-handled-by-backend
shipping fees on admin: avoid backend error when updating calculator type
2022-04-20 12:23:32 +01:00
Maikel
a145b97c28 Merge pull request #9103 from jibees/add-customer-id-to-order-endpoint-on-api
API: Add customer_id as an attribute to the GET /orders/ORDER_ID endpoint
2022-04-20 14:28:31 +10:00
Cillian O'Ruanaidh
4162830bee Switch help modals from angular templates to use ViewComponent and StimulusJs 2022-04-20 09:36:30 +10:00
Jean-Baptiste Bellet
e607d5c161 Shipping method: disabled form element to not submit them
As they're not handled by the backend
2022-04-19 15:16:07 +02:00
Jean-Baptiste Bellet
a6c69c8530 Ensure that form element are well disabled to not submit them
As they're not handled by the backend
2022-04-19 14:28:18 +02:00
Filipe
4dde49c881 Merge pull request #8991 from jibees/8985-Make-checkbox-for-Send-a-cancellation-email-to-the-customer-checked-by-default
Admin, editing order, on last item deletion modal: "Send a cancellation email to the customer" checked by default
2022-04-18 14:04:08 +01:00
Filipe
f831154b6f Merge pull request #8950 from jibees/5903-delete-coordinators_fees-linked-to-cloned-OC
Delete linked coordinators fees when deleting an order cycle
2022-04-18 11:55:53 +01:00
Filipe
01e915800e Merge pull request #9037 from jibees/9028-last-item-of-order-cancellation
BOM: show custom modal on last item deletion of an order
2022-04-15 18:47:51 +01:00
Filipe
4009f3313f Merge pull request #8814 from Matt-Yorkley/tom-select
Introduce new select/dropdown library
2022-04-15 18:08:08 +01:00
Filipe
54d64c1c2c Merge pull request #8841 from apricot12/8790_display_stock_left_shop
Display remaining stock in shopfront if enabled in shop preferences
2022-04-15 17:58:40 +01:00
Jean-Baptiste Bellet
d38e14ca5c Add customer_id as an attribute to order_detailed_serializer
Therefor customer_id will be available on the order object for `/api/v0/orders/[ORDER_ID].json` endpoint
2022-04-15 14:23:55 +02:00
Maikel Linke
2e989083bd Remove unused icons from Spree:Taxon
The icons are not used any more and the default icon file never existed
in our code base (only in Spree when we depended on that).

And it's better to remove this clutter before migrating those files to
Active Storage.

We are keeping the icon files in storage as a backup. The whole folder
`/spree/taxons` can be deleted when desired. But storage is cheap.
2022-04-15 16:50:28 +10:00
Maikel Linke
ba1e21ad75 Feature-toggle API also per API key
We looked only at logged in users (session cookie) before.
2022-04-15 12:34:57 +10:00
Nihal Mohammed
15e7a5a4df Rename product_stock_display to product_low_stock_display
Rename product_stock_display to product_low_stock_display in enterprise_serializer and shop_variant_controller
2022-04-15 10:59:42 +10:00
Jean-Baptiste Bellet
1c68293cac Display remaining stock for variant in the shopfront
Display only if all conditions are met:
 - Variant is not a bulk buy
 - Shop preference is true for `preferred_product_stock_display`
 - Only 3 (or less) items are remaining in stock
 - No item for this variant is already to cart
2022-04-15 10:53:28 +10:00
Jean-Baptiste Bellet
143c977a19 i18n for shop preferences 2022-04-15 10:53:28 +10:00