Commit Graph

564 Commits

Author SHA1 Message Date
Pau Pérez Fabregat
404ec7bf92 Merge pull request #6950 from andrewpbrett/fix-nil-enterprise-category
Fix #6949: Add default icon value if enterprise.category is nil
2021-02-25 13:20:10 +01:00
Andy Brett
bc7477795c Merge pull request #6910 from andrewpbrett/remove-order-capture
Make orders not capturable if they have a payment pending authorization
2021-02-24 12:20:43 -08:00
Pau Perez
ec3b402856 Remove dead serializer
This became unused in
b9d72ce4cf (diff-5df9d1d16b9e9ac1724af5c6180ca86f7caeb6a4880d2f77ac25fbe757b597b9).
2021-02-24 17:09:16 +01:00
Andy Brett
2d304bd997 add default icon value if enterprise.category is nil 2021-02-23 11:37:36 -08:00
Pau Perez
20a7f2f24e Eager load payment and subs. order associations
This removes the N+1 queries caused by
`Api::Admin::OrderSerialier#ready_to_capture` when used from
`Api::OrdersController#index`. While it's fine for the single-order
controller actions, it's not for this one that deals with a collection
of orders.

Fortunately, `SearchOrders` is used only in this controller action so we
can put the `includes` calls there, otherwise, we would need to refactor
it a bit to pass in a context-specific AR relation.
2021-02-23 10:26:12 -08:00
Andy Brett
d62a984939 make orders not capturable if they have a payment pending authorization 2021-02-23 10:26:04 -08:00
Andy Brett
ff243c40a7 Merge pull request #6885 from andrewpbrett/fix-group-map-icons
Move map icons to /public
2021-02-22 08:11:54 -08:00
Andy Brett
05736884fe prepend / to route 2021-02-19 07:43:29 -08:00
Andy Brett
e7489965c5 move map icons to public/ 2021-02-19 07:43:23 -08:00
Andy Brett
f463af327c Merge pull request #6808 from andrewpbrett/authorize-payment-links
Allow a customer to perform further action for a Stripe payment if needed (#4181)
2021-02-17 10:17:51 -08:00
Jean-Baptiste Bellet
8c42388af1 add a randomized unit price for variant
unit price is composed with :
 - a unit_price_price which is a number that can be localized (depending on the currency)
- a unit_price_unit which can be either `item` of `kg`

@andrewpbrett will do stuff to have a relevant unit price for each variant
2021-02-16 15:26:21 +01:00
Andy Brett
f8239ed3ed use image path generator for map icons 2021-02-15 14:43:34 -08:00
Andy Brett
8c7bf863f8 return pending payments in order serializer 2021-02-12 12:20:35 -08:00
Andy Brett
6efad74c5c add authorize link to transactions page 2021-02-12 12:20:35 -08:00
Pau Pérez Fabregat
2668747237 Merge pull request #6723 from luisramos0/spree_routes_2
Move spree orders routes out of the spree engine routes into the main app routes
2021-01-28 16:31:49 +01:00
Luis Ramos
f3da7afd55 Replace spree_order_path with order_path so we can use scope in the routes file 2021-01-25 19:55:42 +00:00
Luis Ramos
21f48b52c8 Fix cancel order route 2021-01-25 19:52:48 +00:00
Luis Ramos
88c21ef82e Fix order path 2021-01-25 19:52:48 +00:00
Pau Perez
20abaaa950 Reuse outstanding balance statement across queries
Instead of relying on Spree::Order#outstanding_balance we make us of the
result set `balance_value` computed column. So, we ask PostgreSQL to
compute it instead of Ruby and then serialize it from that computed
column. That's a bit faster to compute that way and let's reuse logic.

We hide this new implementation under this features' toggle so it's only
used when enabled. We want hit the old behaviour by default.
2021-01-20 18:23:22 +01:00
Andy Brett
18dcbbd892 Merge pull request #6613 from Matt-Yorkley/variant-override-serialization
Don't serialize all variant override objects where they are not needed
2021-01-14 10:59:11 -08:00
Pau Pérez Fabregat
9689fe2edf Merge pull request #6384 from andrewpbrett/fix-product-descriptions
correctly display '&' and ' ' in product descriptions
2021-01-14 17:00:16 +01:00
Andy Brett
bbd7fd0350 handle nil product descriptions 2021-01-13 20:57:27 -08:00
Pau Perez
acd4dddf1b Doc how balance_value works
[skip ci]
2021-01-13 12:50:41 +01:00
Pau Perez
398467e7ed Hide new balance impl. under feature toggle
This makes it possible to deploy it without releasing it to users since
the toggle is not enabled for anyone.

It aims to make the balance calculation consistent across pages.
2021-01-11 15:50:19 +01:00
Pau Perez
96a91969c9 Extract balance-specific serializer
So we only show the customer balance where really needed. Aggregating
the balance can be costly. Also, we avoid defensive coding.
2021-01-11 15:50:19 +01:00
Pau Perez
d62ab06504 Refactor DB query to aggregate customer balance
It's simpler and many orders of magnitude more efficient to ask the DB
to aggregate the customer balance based on their orders. It removes
a nasty N+1.

The resulting SQL query is:

```sql
SELECT customers.*, SUM(spree_orders.total - spree_orders.payment_total) AS balance
FROM "customers"
INNER JOIN "spree_orders"
    ON "spree_orders"."customer_id" = "customers"."id"
WHERE "customers"."enterprise_id" = 1
    AND (completed_at IS NOT NULL)
    AND (state != 'canceled')
GROUP BY customers.id
ORDER BY email;
```
2021-01-11 15:50:19 +01:00
Matt-Yorkley
b7ecf4791a Extract more sanitizing logic from Api::ProductSerializer and make service more generic/re-usable. 2021-01-09 01:07:11 +00:00
Andy Brett
59527ab38a refactor filter to a service 2021-01-08 13:37:18 -08:00
Andy Brett
72a65426a0 allow '&' and spaces 2021-01-07 20:50:43 -08:00
Matt-Yorkley
bd4560cff6 Don't serialize all variant override objects where they are not needed
This is only needed in one place, and only as a count, and can cause huge amounts of superfluous data to be fetched and serialized, for example in the admin products index page (where variant override data is not used at all).
2021-01-06 16:04:47 +00:00
Andy Brett
d55343da1a only return gateway payment info if set on customer 2020-12-08 07:52:42 -08:00
Andy Brett
cad8a018f9 put SetupIntent on the connected Stripe account 2020-12-08 07:52:41 -08:00
Andy Brett
215d1bbe20 create js setup intent when authing shop 2020-12-08 07:52:41 -08:00
Luis Ramos
9bbef16804 Converting all calls to ActiveRelation#sum to use a symbol with &
This is only applicable to database columns, if we are summing using a method in the model than the & is required!
2020-11-27 13:59:46 +00:00
efgalvao
307b1ca9f9 Fixes Issue#6249 2020-11-09 14:06:37 -03:00
Luis Ramos
7cc7c62232 Fix long lines 2020-10-30 16:14:39 +00:00
Luis Ramos
b6dc46a911 Fix rubocop issue by nesting module and class declarations
No file contents changed
2020-10-30 16:14:34 +00:00
Luis Ramos
9f17e4fd8f Add upload timestamp to TCs upload form in enterprise business details 2020-10-30 15:09:13 +00:00
Luis Ramos
4a2684e3d9 Fix rubocop issues 2020-10-29 13:38:36 +00:00
Luis Ramos
e860e2ca57 Add label to customer balance so it's clear to the manager what's the balance status: credit owed or balance due 2020-10-29 13:38:36 +00:00
Luis Ramos
da69dca471 Make customer balance serialize with the currency 2020-10-29 13:38:36 +00:00
Luis Ramos
e4f3aae7c0 Add customer balance to customer list 2020-10-29 13:38:36 +00:00
Maikel Linke
450e5cc5e3 Remove indent of product description on iPhone
Our HTML formatting plugin for product descriptions adds whitespace to
the beginning of the description text. While that shouldn't be rendered
in HTML, Safari on iPhone was showing a whitespace and therefore moving
the text a bit to the right.
2020-10-22 15:46:48 +11:00
Luis Ramos
a2610279d9 Merge pull request #5976 from luisramos0/address_form
Fix address state selector and "use billing address" checkbox in order customer details page
2020-09-23 12:42:37 +01:00
Luis Ramos
ffa0d202be Add states api endpoint to support existing code on the customer details page when user changes country 2020-09-01 15:46:22 +01:00
Luis Ramos
66587ccc00 Allow user to remove terms and conditions file 2020-08-31 17:40:34 +01:00
Luis Ramos
1a734aacf8 Allow user to upload terms and conditions PDF file to an enterprise 2020-08-31 17:40:34 +01:00
Pau Pérez Fabregat
2fa8cd54fd Merge pull request #5769 from Matt-Yorkley/customer-names
Customer names in reports
2020-08-27 15:39:47 +02:00
Pau Pérez Fabregat
0421d23e7b Merge pull request #5851 from cillian/osm-tile-provider-updates
Open Street Map tile provider updates
2020-08-25 10:51:55 +02:00
Matt-Yorkley
23bb72faa6 Add Enterprise shop preference to allow customer names in reports 2020-08-14 20:48:32 +01:00