Commit Graph

3327 Commits

Author SHA1 Message Date
Gaetan Craig-Riou
089d2b9c84 Clear any existing payment and payment fees when adding a voucher
If a user come back to checkout step 2 from step 3, the order
will have payment and possibly payment fee existing. This can
interfere with voucher calculation, so we clear them.
The user can then select a payment method again if needed
2023-07-31 12:05:52 +10:00
Gaetan Craig-Riou
33ef8def08 Update order total after removing a voucher
We need to do this to make sure when display the payment method
again.
Plus spec
2023-07-28 14:52:25 +10:00
Gaetan Craig-Riou
f35001dacc Update voucher adjustment and order total when adding a voucher
This is needed so we can check if payment is needed and display
no payment required when no payment needed
2023-07-28 14:27:27 +10:00
David Cook
ef62fb885d Check if record actually saved
I'm not sure if it will ever make a difference, but I think this makes more sense.
2023-07-28 14:11:45 +10:00
Gaetan Craig-Riou
a5b2bc6293 Per review, Refactor VoucherAdjustmentsService
Change #calculate to #update and clean up internal code
2023-07-18 15:16:21 +10:00
Gaetan Craig-Riou
a584f9aaec Refactor VoucherAdjustmentsService
It's more inline with existing coding style
2023-07-18 14:39:01 +10:00
Gaetan Craig-Riou
5a59396a41 Remove call to VoucherAdjustmentService when creating a voucher
Voucher will be automatically applied when the order transition to
the confirmation step. No need to do the work twice.
2023-07-14 14:47:39 +10:00
Gaetan Craig-Riou
edabc56b5c Add voucher calculation after updating an order
This is to make sure the voucher are recalculated when a customer
update the order content from the `/cart` page. This is tested
with system test
2023-07-14 14:47:03 +10:00
Filipe
448d5ea017 Merge pull request #11135 from Matt-Yorkley/vouchers
Vouchers part 2
2023-07-13 12:50:32 +01:00
Matt-Yorkley
42a3087cdb Remove :available_on attribute from Product class 2023-07-06 14:36:35 +01:00
David Cook
05a22b80bc Merge pull request #11123 from dacook/buu-products-table
[admin_style_v3] Products table with variants
2023-07-06 09:37:31 +10:00
Matt-Yorkley
f7912a2240 Fix CSS/layout issues 2023-07-04 13:13:05 +01:00
Matt-Yorkley
672400192f Update use of params 2023-07-04 13:13:05 +01:00
Matt-Yorkley
37a4c73a12 Fix rubocop complaint 2023-07-04 13:13:05 +01:00
Matt-Yorkley
de97e69e7d Show/hide payment methods if voucher changes order total to zero 2023-07-04 13:13:05 +01:00
Matt-Yorkley
55bce9f1b2 Remove @voucher_adjustment instance variable 2023-07-04 13:13:05 +01:00
Matt-Yorkley
7a0b83076b Move loading of saved cards out of checkout concern 2023-07-04 13:13:05 +01:00
Matt-Yorkley
bd29a9acde Introduce "zero priced orders" to checkout UI and order state flow 2023-07-04 13:13:05 +01:00
Matt-Yorkley
d7950617ec Drop superfluous method 2023-07-04 13:13:05 +01:00
Matt-Yorkley
9e5061fc31 Move voucher processing out of checkout controller 2023-07-04 13:13:05 +01:00
Matt-Yorkley
75e6ccd580 Simplify voucher controller 2023-07-03 11:03:05 +01:00
Matt-Yorkley
fefa9288a4 Remove :permalink attribute from Product 2023-06-30 11:37:57 +01:00
Filipe
b175793b91 Merge pull request #10704 from abdellani/hide-customers-with-no-completed-orders
Hide users with no completed orders from a hub's customers list
2023-06-30 10:56:56 +01:00
Filipe
ba99f85f5c Merge pull request #10914 from abdellani/fix-stripe-sca-failure
redirect user to payment when the card doesn't have enough credit
2023-06-28 19:58:18 +01:00
Matt-Yorkley
a0a1f8f910 Merge pull request #11002 from openfoodfoundation/voucher-prep
Vouchers part 1
2023-06-28 11:30:12 +01:00
David Cook
841192fb96 Add new products page
Hidden behind admin_style_v3 feature toggle.
2023-06-28 09:59:57 +10:00
Mohamed ABDELLANI
e678c6149f extract payment_faild from processing_failed 2023-06-27 09:26:26 +01:00
Mohamed ABDELLANI
4cca823a66 redirect user to payment when the card doesn't have enough credit 2023-06-27 09:14:48 +01:00
Maikel
014fb69d4b Merge pull request #10964 from macanudo527/fix_linelength_bundle1
Fix Layout/LineLength - Bundle 1
2023-06-26 12:10:39 +10:00
Maikel
a7915b8089 Merge pull request #10849 from mkllnk/report-cable
Show "loading" screen for background reports and display when ready
2023-06-26 10:25:48 +10:00
Maikel Linke
ff588cec40 Restore line item ordering
The line item sorting by id has been replaced by sorting by completed_at
time: ccb183d60b

While that's a good idea, the query param to order was only defined in
the client Javascript and there was no default ordering. Line items also
get their completed_at date from the order. So it's the same for all
items of the same order and the ordering with that group of line items
was random.

Now we are adding an order in addition. Items are first sorted by date
and then by id if there's any ambiguity.
2023-06-25 19:24:58 +02:00
David Cook
6240baec0d Update app/controllers/admin/enterprises_controller.rb
Co-authored-by: Gaetan Craig-Riou <40413322+rioug@users.noreply.github.com>
2023-06-23 16:18:45 +09:00
Maikel
e065910d2d Merge pull request #10939 from Matt-Yorkley/master-variants
Remove master variants
2023-06-23 13:42:58 +10:00
Neal Chambers
1e4034534c Fix Layout/LineLength 2023-06-23 09:08:04 +09:00
Matt-Yorkley
c6ec13443e Drop next_invoice_number method from Spree::Order 2023-06-18 21:03:13 +02:00
Matt-Yorkley
d3a31bd0bd Rename @invoice_presenter instance variable to @order in invoice templates 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
0ed7599267 extract methods related to invoices from the order model to the OrderInvoiceComparator 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
d86173c509 add feature toggle
seperate the invoice templates that rely on presenters from the old ones.
2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
0fbf88190e Generate invoice model
There are three main components:
1. The invoice model
2. order serializers: serialize the order for the invoice
3. data presenters: the object that will be use to access the order's serialize data
2023-06-18 21:03:13 +02:00
Matt-Yorkley
ced60d4382 Remove superfluous method from products controller 2023-06-16 21:23:44 +01:00
Matt-Yorkley
1daab8994d Remove is_master and not_master scopes 2023-06-16 21:23:44 +01:00
Matt-Yorkley
8247dce2dc Improve validation feedback on new variant page and add test coverage 2023-06-16 21:23:44 +01:00
Matt-Yorkley
3ef7d2c9ff Remove master variant from product 2023-06-16 21:23:44 +01:00
Matt-Yorkley
7dc1091bc2 Migrate product image from master variant to product 2023-06-16 21:23:44 +01:00
Matt-Yorkley
1b06c20197 Stop using master variant as a potential store for prices 2023-06-16 21:21:40 +01:00
David Cook
d195882645 Use builtin Rails method 2023-06-15 15:26:22 +10:00
Maikel Linke
75cce8bc19 Simplify customer code
The API endpoint merges the created_manually flag in the params already.
No need to write it separately.
2023-06-15 12:02:45 +10:00
Maikel Linke
a655d3d787 Remove unnecessary writes on customer creation
The form only submits enterprise id and email address. We don't need to
assign any other attributes.
2023-06-15 12:02:45 +10:00
Mohamed ABDELLANI
298ae8ffc3 set create_manualll flag if the customer already exists 2023-06-15 12:02:45 +10:00
Mohamed ABDELLANI
ebc3073604 use Customer#visible on the customers listing endpoints
Update app/models/customer.rb

Co-authored-by: Maikel <maikel@email.org.au>

Update spec/models/customer_spec.rb

Co-authored-by: Maikel <maikel@email.org.au>

Update spec/models/customer_spec.rb

Co-authored-by: Maikel <maikel@email.org.au>

authorize created_manually field to be set on APIv1
2023-06-15 12:02:45 +10:00