Maikel Linke
6f3a0e8812
De-duplicate early for better performance
2023-03-21 14:30:44 +11:00
Maikel Linke
d7e4962fba
Add method for easier reading
2023-03-21 14:30:44 +11:00
Maikel
512cb44df5
Merge pull request #10330 from mickenorlen/8909-add-balance-to-api-v1-customer-endpoint
...
Add balance to api v1 customers endpoint
2023-03-20 15:47:41 +11:00
Konrad
2e426c701e
Merge pull request #10232 from binarygit/show-correct-error-when-user-inputs-url-as-ig-acc
...
[Enterprise->Create] Show correct error message when user inputs url in instagram field
2023-03-19 21:57:02 +01:00
Filipe
8bef0f9a43
Merge pull request #10337 from jibees/9419-send-invoices-per-email-in-bulk-from-the-admin-orders-page
...
Admin, orders list page: send invoices per email in bulk
2023-03-17 10:58:26 +00:00
David Cook
788457618f
Check ship address required based on all available methods
...
This check was implemented based on 'allowed' shipping methods, but we need to revert that logic. So for now, we can check all 'available' shipping methods.
This could potentially result in the same query being run twice, because load_shipping_methods also loads it. I opted to keep things simple and not try to optimise here.
2023-03-17 13:06:45 +11:00
David Cook
ef607da2c1
Revert "Fix: Customers can checkout with non-matching shipping and product categories"
2023-03-17 10:40:53 +11:00
Filipe
9ea6fa5c44
Merge pull request #9687 from dacook/9616-order-cycle-open-webhook
...
Add webhook triggered on Order Cycle Open
2023-03-16 17:24:22 +00:00
Konrad
a945f8f72f
Merge pull request #10522 from mkllnk/flipper-upgrade
...
Bump flipper* from 0.20.4 to 0.26.0
2023-03-16 17:24:33 +01:00
Filipe
e8430eae6d
Merge pull request #10460 from jibees/10400-pagination-in-bom-not-aggregating-results-from-quick-search-field
...
BOM: Add a search input that search for items with pagination
2023-03-15 16:31:32 +00:00
Maikel Linke
fdd71cff51
Remove now unnecessary flipper_id method
...
Flipper does it for us.
2023-03-15 12:54:02 +11:00
David Cook
fdeeab5750
Test twitter with (almost) real world example
...
I discovered that twitter doesn't have 'www' in the url anymore, no '@' symbol and interestingly no trailing slash. I added back the '@' just so we can test that still.
Using a regex group we can cater for optional www in a single regex.
2023-03-09 11:22:04 +11:00
David Cook
9e7e176cf9
Accept full URLs
...
It looks like the intention was there, so I made it work.
I've included a real world example, but added capitalisation to complete the test.
2023-03-09 11:21:52 +11:00
Konrad
2daa49406a
Merge pull request #10506 from jibees/9868-product-import-empty-variant-names-recorded-differently-leads-to-variant-duplication
...
Product import: consider `display_name` with `null` or `empty` as value as equal
2023-03-08 16:58:32 +01:00
Konrad
125bc3d14b
Merge pull request #10514 from jibees/9292-changes-to-incomingoutgoing-products-lists-triggering-failed-to-update-order-cycle-error
...
Do not update `estimate_price` of a variant that is not available for the shop on OrderCycle update
2023-03-08 15:45:11 +01:00
Rachel Arnould
02300d6bb6
Merge pull request #10496 from rioug/10479-split-checkout-fix-user-blocked-at-step1
...
[split checkout] Fix bug preventing user from reaching payment step
2023-03-08 15:44:50 +01:00
Rachel Arnould
aba3968bca
Merge pull request #10447 from jibees/9148-no-bulk-delete-possible-on-bom-when-orders-have-multiple-items
...
Admin, BOM: can bulk delete line items of an order
2023-03-08 14:56:25 +01:00
Gaetan Craig-Riou
23c4298519
Fix bug when in specific scenario user couldn't proceed to payment step
...
When using a "pick up" shipping method, with a user who doesn't have a shipping address it was impossible to proceed to the payment step because shipping address was invalid.
To fix this, we ensure that "ship_address_same_as_billing" parameter is set to true when using a "pick up" shipping method.
use distributor address when shipping method doesn't require a ship address ; in doing this we follow the same logic as the legacy checkout
2023-03-08 10:49:37 +01:00
Rachel Arnould
d7047bb4cc
Merge pull request #10513 from jibees/10505-add-shopper-comment-to-order-detail-summary
...
SplitCheckout: Display special_instructions of the order as emphasized text if present on summary page
2023-03-08 10:30:40 +01:00
Rachel Arnould
1ce029d8e4
Merge pull request #10497 from jibees/10495-split-checkout-label-of-checkbox-save-card-for-future-use-is-clickable-but-not-active
...
SplitCheckout: Make label clickable to check/uncheck checkbox on step 2
2023-03-08 10:20:00 +01:00
David Cook
00a823b2fc
6. Add webhook endpoints to user developer settings screen
...
Allowing creation and deleting via the user association.
It probably won't be much effort to allow editing and multiple records, but I cut it down to the minimum needed to avoid any further delays.
I couldn't find a way to test a failure in the destroy method, but decided to keep the condition because I thought it was worth having.
2023-03-07 15:38:50 +11:00
David Cook
3d81a6e280
Prevent creating duplicate webhook notifications [migration]
...
Using the clever concurrency testing borrowed from SubscriptionPlacementJob, but I thought a shorter pause time (just 100ms) would be sufficient.
I considered doing this with a new 'state' field (upcoming/open/close), but decided to keep it simple.
2023-03-07 15:38:50 +11:00
David Cook
739df4be01
4. OrderCycleOpenedJob triggers webhook
2023-03-07 15:38:50 +11:00
David Cook
b91cabc510
Also send webhook payloads for distributor owners
...
But not supplier owners.
2023-03-07 15:38:50 +11:00
David Cook
ba152f12ee
3. Add OrderCycleWebhookService to create webhook payloads for an order cycle event
2023-03-07 15:38:50 +11:00
David Cook
778baba118
User may have many WebhookEndpoints [migration]
...
Although we won't be allowing multiple in the this PR, we certainly plan to in the future.
The migration helper add_reference couldn't handle the custom column name, so I had to put it together manually.
2023-03-07 15:38:50 +11:00
David Cook
85c98c6d3e
2. Add model WebhookEndpoint [migration]
...
This will store the URL for each user that wants a notification.
We probably don't need URL validation (it's not done on Enterprise for example). It could be validated by browser input, and anyway will be validated if the webhook actually works or not.
Inspired by Keygen: https://keygen.sh/blog/how-to-build-a-webhook-system-in-rails-using-sidekiq/
2023-03-07 15:38:50 +11:00
David Cook
de9546587a
Prevent webhooks to private addresses (SSRF) [add gem]
...
Best reviewed with whitespace hidden.
Unfortunately the spec isn't allowed in CI. But it worked on my environment, I promise.
I chose `xit` so that it doesn't run unnecessarily. Perhaps we could use `pending` instead, which would execute, and notify us if it suddenly started working one day. But I doubt it.
2023-03-07 15:38:50 +11:00
David Cook
9741935955
Raise error on server error
...
And thus retry later.
I tried to test that it actually retries, or ensuring the job remained in the queue to be retried, but couldn't get it to work.
2023-03-07 15:38:50 +11:00
David Cook
9d19f37fec
1. Add WebhookDeliveryJob
...
This job is responsible for delivering a payload for one webhook event only. It allows the action to run asynchronously (and not slow down the calling process).
2023-03-07 15:38:50 +11:00
Jean-Baptiste Bellet
ac739108a2
Improve readability by generating search string for ransack
2023-03-06 11:31:36 +01:00
binarygit
ae166ae220
Fix: User does not get stuck when going backwards while creating new ent
2023-03-06 09:29:04 +01:00
binarygit
533f7048bf
[Enterprise->Create] Show correct error message when user inputs url in instagram field
2023-03-06 09:29:04 +01:00
Jean-Baptiste Bellet
131772f7b2
Variant can be "not available": next and don't update its estimate price
2023-03-03 15:07:10 +01:00
Jean-Baptiste Bellet
440e776e3a
fee_calculator can be retrieved outside subscription_line_items iteration
2023-03-03 15:05:07 +01:00
Jean-Baptiste Bellet
c34942dbf0
Display special_instructions of order as emphasized text if present
...
+ update spec as well
2023-03-03 11:12:11 +01:00
Konrad
0e13e5408f
Merge pull request #10467 from abdellani/fix_hub_supplier_can_control_shipping_payment_method
...
limit users who can update shipping/payment method of an order cycle
2023-03-03 09:27:37 +01:00
Maikel
6371f7eff6
Merge pull request #10474 from abdellani/fix-customer-can-checkout-non-matching-shipping-and-product-categories
...
Fix: Customers can checkout with non-matching shipping and product categories
2023-03-03 11:27:11 +11:00
Filipe
60bea89f5c
Merge pull request #10135 from abdellani/fix_when_user_deletes_a_shipping_method_existing_orders_are_updated_with_a_random_shipping_method
...
Fix When user deletes a shipping method existing orders are updated with a random shipping method
2023-03-02 20:03:59 +00:00
Jean-Baptiste Bellet
7b8ccccdc3
display_name can actually be null or empty: consider them as equal
2023-03-02 17:15:57 +01:00
Jean-Baptiste Bellet
8ad532c41a
Can search bill_address:phone, firstname, lastname and distributor:name
2023-03-01 14:54:46 +01:00
Jean-Baptiste Bellet
ebd5d706c2
Add search input
...
Actually this only search for `order_email` or `order_number` or `product_name` or `supplier_name`
+ Improve display by reduce each columns width
2023-03-01 14:40:12 +01:00
Mohamed ABDELLANI
348f806bbe
remove load_shipping_methods
2023-03-01 10:53:03 +01:00
Mohamed ABDELLANI
89037e160c
Update app/controllers/concerns/checkout_callbacks.rb
...
Co-authored-by: Maikel <maikel@email.org.au >
2023-03-01 10:51:27 +01:00
Mohamed ABDELLANI
eab8e2be6c
load exclusively the shipping methods that support all the shipping categories of the line items
2023-03-01 10:51:27 +01:00
Jean-Baptiste Bellet
08e23023b3
Make label clickable to check/uncheck checkbox
2023-03-01 08:46:33 +01:00
Maikel
182e5bd0ee
Merge pull request #10493 from jibees/10492-background-reports-background_reports-breaks-pdf-and-xlsx-file-download
...
Reports, `background_reports` feature toggle activated: Force writing file in binary mode
2023-03-01 10:00:11 +11:00
Maikel
bccee0698f
Merge pull request #10332 from jibees/8901-allow-product-description-to-show-images-in-the-shopfront
...
Shopfront: Allow product description with formatting and `<img />`
2023-03-01 09:56:41 +11:00
Konrad
11928859bc
Merge pull request #10438 from jibees/10133-update-column-dropdown-everywhere
...
Redesign old columns dropdown component to match the design of the new one
2023-02-28 20:22:00 +01:00
Jean-Baptiste Bellet
8658b1a743
Remove quick filter that search only on displayed line items
...
+ remove specs as well
2023-02-28 15:39:31 +01:00