Commit Graph

12401 Commits

Author SHA1 Message Date
Matt-Yorkley
0f1142b5c4 Fix more broken specs related to accessing params hash 2021-03-11 12:06:00 +00:00
Matt-Yorkley
ed09db6003 Fix broken specs related to accessing params hash 2021-03-11 12:06:00 +00:00
Matt-Yorkley
c5a47b51a6 Update order totals during CheckoutController#update 2021-03-11 11:20:01 +00:00
Matt-Yorkley
90712647b1 Update totals when processing a return 2021-03-11 11:20:01 +00:00
Matt-Yorkley
4c64aaed77 Remove callbacks in Adjustment that call order.update! 2021-03-11 11:20:01 +00:00
Matt-Yorkley
791a47d170 Merge pull request #6858 from Matt-Yorkley/adjustments-shipping-cost
[Adjustments] Move shipping adjustment from order to shipment
2021-03-11 12:17:14 +01:00
Pau Pérez Fabregat
41adacbffb Merge pull request #7056 from jibees/6978-unit-prices-transform-question-mark-to-cross-to-close-it
Transform question mark to cross to close it (unit price)
2021-03-10 17:08:05 +01:00
Pau Pérez Fabregat
e341b04487 Merge pull request #6902 from openfoodfoundation/setup-postgres-gh-actions
Setup Github Actions as CI
2021-03-10 16:59:59 +01:00
Pau Perez
42d0f16773 Abstract order balance in a simple PORO
This new class lets us [Branch by
abstraction](https://www.martinfowler.com/bliki/BranchByAbstraction.html)
by encapsulating an order's balance. As a result, that's the only place
where we need to check the feature toggle, instead of every place where
`#outstanding_balance` is called (quite some). That would be very hard
to review and it'd be more likely to introduce bugs.

What I like about this is that we also managed to group together the
data and logic that we had spread in a few places and have it nicely
encapsulated. So, where we had a number, we'll now have an object.

Once we fully change all `#outstanding_balance` consumers to use this
new abstraction we'll be able to remove the methods this class replaces.
These are: `Spree::Order#outstanding_balance?`,
`Spree::Order#display_oustanding_balance` and
`OrderHelper.outstanding_balance_label`.

This is just the first step. I'll follow this up with a PR per
page/mailer/whatever where we use the balance to replace it with an
instance of `OrderBalance`. That is, splitting up what I explored in
https://github.com/openfoodfoundation/openfoodnetwork/pull/6959 but in
very small and manageable pieces.
2021-03-10 16:09:09 +01:00
Pau Pérez Fabregat
82257185c4 Merge pull request #7057 from Matt-Yorkley/missing-tax-translation
Update untranslated string
2021-03-10 10:42:14 +01:00
Maikel Linke
20f11327b5 Show combined checkbox when all terms required
The user should need to tick only one box to agree.

We don't remember yet if someone agreed to the platform TOS and
therefore the box is always unticked to start with.

Remembering the agreement is another issue:
https://github.com/openfoodfoundation/openfoodnetwork/issues/6328
2021-03-10 17:09:26 +11:00
Maikel Linke
f73c32ce4b Move rendering logic of terms to helper
Preparing for a third option to display.
2021-03-10 17:09:26 +11:00
Maikel Linke
4af0e61163 Simplify logic for terms and conditions display
Checking for `false` instead of a falsey value allows us to distinguish
from an unset variable and disable the checkout button only when a
checkbox is present and unticked.
2021-03-10 17:09:26 +11:00
Maikel Linke
b266c9df34 Enable checkout button only when terms accepted
This was working with the seller's terms but now it includes the
platform's terms as well.

Pending:

- Simplify Ansible code
- Unify the two terms checkboxes if both required
2021-03-10 17:09:26 +11:00
Maikel Linke
561da1f834 Show Terms of Service at checkout if required
The checkout page shows a checkbox to accept the platform's Terms of
Service. Ticking the box doesn't have any effect yet but at least people
are aware and are presented with a link to the terms.
2021-03-10 17:09:26 +11:00
Maikel Linke
0e8745adc3 Remove passing of unused variable 2021-03-10 17:09:26 +11:00
Maikel Linke
ba9de403e6 Add admin option to require shoppers agree to TOS
This switch doesn't have any effect yet. We need to implement it in the
checkout.
2021-03-10 17:09:26 +11:00
Andy Brett
05a074d33a Merge pull request #7041 from Matt-Yorkley/adjustments-set-eligibility
[Adjustments] Remove Adjustment#set_eligibility
2021-03-09 13:33:21 -08:00
Matt-Yorkley
11d5c6a2f1 Update untranslated string
This translation already exists, we just weren't using it in this view.
2021-03-09 17:19:40 +00:00
Jean-Baptiste Bellet
2414161210 Remove useless and error-prone css specification
- This shouldn't be a general specification, but eventually used inside context. By default, no need to this.
2021-03-09 17:25:32 +01:00
Jean-Baptiste Bellet
5239b259d0 Transform question mark to cross when tooltip is open
- Behavior consistent w/ price_breakdown feature.
2021-03-09 17:22:07 +01:00
Pau Pérez Fabregat
3543e7f005 Merge pull request #6894 from jibees/6878-question-mark-icon-as-svg
Use svg icon instead of CSS `before` for the question mark icon
2021-03-09 16:47:30 +01:00
Andy Brett
bc7469c7aa fix order test 2021-03-09 16:22:46 +01:00
Pau Pérez Fabregat
6b111561e8 Merge pull request #7000 from Matt-Yorkley/dead-code-tax-total
DCOTW: Order#tax_total
2021-03-08 16:57:59 +01:00
Matt-Yorkley
c99a9f4ee1 Remove Adjustment#set_eligibility 2021-03-08 15:29:04 +00:00
Jean-Baptiste Bellet
ac70bbfd9b Add missing closing curly bracket 2021-03-08 15:58:26 +01:00
Pau Pérez Fabregat
876c378e4f Merge pull request #7028 from Matt-Yorkley/dead-code-available-shipment
DCOTW: Order#has_available_shipment
2021-03-08 15:25:39 +01:00
Pau Pérez Fabregat
696a429bcb Merge pull request #7030 from Matt-Yorkley/dcotw-item-count
DCOTW: Order#item_count
2021-03-08 15:23:09 +01:00
Matt-Yorkley
af29c67ea5 Update Order#ship_total 2021-03-06 14:14:56 +00:00
Matt-Yorkley
f894473e03 Delete dead code: Order#item_count 2021-03-06 00:04:46 +00:00
Matt-Yorkley
68e752ef32 Delete dead code: Order#has_available_shipment 2021-03-05 23:42:08 +00:00
Matt-Yorkley
365700615a Remove dead code: Spree::Config.auto_capture
We set this value to `true` unconditionally in an initializer, and then check the value in various places via Spree::Config. It's never false, and it's not configurable, so we can just drop it and remove the related conditionals. 🔥
2021-03-05 16:03:07 +00:00
Matt-Yorkley
a670771037 Reduce duplicate updates in Payment#revoke_adjustment_eligibility
This was triggering two separate updates, and each of those updates could trigger callbacks, and those could trigger other callbacks. Here we're doing the same thing, but with one update.
2021-03-05 15:12:41 +00:00
Andy Brett
a431c03eb1 only show primary producers on shopfront list of producers 2021-03-04 14:32:55 -08:00
Andy Brett
4e5945f9ef add resumed to list of allowable order states 2021-03-04 11:24:39 -08:00
Pau Pérez Fabregat
674f0f87a3 Merge pull request #6528 from mprieger/5546-cart-page-last-item-deletion
Fix users removing last item of confirmed order on /cart page
2021-03-04 17:27:51 +01:00
Pau Pérez Fabregat
982c3d2215 Merge pull request #6965 from andrewpbrett/fix-sca-snail
Fix #6964: don't try to complete a failed payment
2021-03-04 17:26:24 +01:00
Pau Pérez Fabregat
ff239802b6 Merge pull request #6982 from andrewpbrett/canceled-order-payments
Fix #5018: Allow access to payments tab for canceled orders
2021-03-04 17:25:30 +01:00
Matt-Yorkley
1afcd70510 Simplify Order#total_tax 2021-03-04 14:27:02 +00:00
Matt-Yorkley
ff58e2da54 Use AR syntax in queries 2021-03-04 14:27:02 +00:00
Matt-Yorkley
945605e3a8 Rename Shipment #adjustment to #fee_adjustment for clarity 2021-03-04 14:27:02 +00:00
Matt-Yorkley
f956aca82f Use shipping fee adjustment as single source of truth, and persist it on the shipment :cost field when it changes. 2021-03-04 14:27:02 +00:00
Matt-Yorkley
aa16c64f20 Update Order#finalize! to include all adjustments 2021-03-04 14:27:02 +00:00
Matt-Yorkley
c0b33de0f0 Move #adjustment_label to shipment 2021-03-04 14:27:02 +00:00
Matt-Yorkley
833aae23e5 Update admin adjustments controller 2021-03-04 14:27:02 +00:00
Matt-Yorkley
045cdec23c Update OrderDetailedSerializer 2021-03-04 14:27:02 +00:00
Matt-Yorkley
80aefa8e73 Update OrderTaxAdjustmentsFetcher 2021-03-04 14:27:02 +00:00
Matt-Yorkley
02fb2c6a55 Update CheckoutHelper 2021-03-04 14:27:02 +00:00
Matt-Yorkley
f0aa43e198 Update Order shipment adjustments fetching 2021-03-04 14:27:01 +00:00
Matt-Yorkley
f5d3e22730 Add shipment_adjustments association to Order 2021-03-04 14:27:01 +00:00